我正在尝试使用以下代码运行几个x_variable的滚动回归:
# Get data for specified date range
pred = pred[beg_date:end_date]
# Lag and standardize pred
pred[var_list_all] = pred[var_list_all].shift(1)
pred[var_list_all] = preprocessing.StandardScaler().fit_transform(pred[var_list_all])
# Initialize dictionary of lists
d = {}
for i in ['coeff', 't-stat', 'r2']:
d[i] = []
# Run bi-variate regression for each pred variable
y_var = 'EP'
for x_var in var_list_all:
formula = y_var + ' ~ ' + x_var
results = RollingOLS.from_formula(formula, window=60, data=pred)
d['coeff'].append(results.params[x_var])
d['t-stat'].append(results.params[x_var] / results.bse[x_var])
d['r2'].append(results.rsquared * 100)
目的是收集每个变量的系数、t-stat和r2,并在单独的图表上绘制每个变量的r2。
每当我运行回归分析时,我总是收到以下消息:
属性错误:“NoneType”对象没有属性“f_locals”
我还在https://www.statsmodels.org/stable/examples/notebooks/generated/rolling_ls.html上尝试了这个示例,看看我是否理解发生了什么,但是我得到了相同的错误消息。
我不知道我做错了什么。
希望能得到任何帮助来解决这个问题。
先谢了。
1条答案
按热度按时间uplii1fm1#
下面是一个使用statmodels的RollingOLS的工作示例,灵感来自answer to this question on Rolling OLS Regressions and Predictions by Group。