Я использую функцию summary_col()
для агрегации нескольких экземпляров результатов регрессии OLS, функция работала раньше, но в последнее время возвращаю 'ValueError: Length mismatch: Expected axis has 4 elements, new values have 6 elements'
.
Исходный код: Восемь экземпляров результата регрессии OLS были сохранены в переменные...
result_list = [mod1_result,mod2_result,mod3_result,mod4_result,mod5_result,mod6_result,\
mod7_result,mod8_result]
name_list = ['reg1','reg2','reg3','reg4','reg5','reg6','reg7','reg8']
info_dict={'Obs':lambda x: "{0:d}".format(int(x.nobs)),\
'R-squared':lambda x: "{:.3f}".format(x.rsquared)}
regs_table = summary_col(results=result_list, float_format='%0.3f',\
stars=True, model_names=name_list, info_dict = info_dict)
Любая идея по исправлению ошибки будет принята с благодарностью!
Для простоты: попытался установить 2 простых OLS и собрать результаты регрессии, которые вернули одно и то же сообщение об ошибке
Y = [1,3,4,5,2,3,4,20,100]
X1 = range(1,10)
X1 = sm.add_constant(X1)
results1 = sm.OLS(Y,X1).fit()
Y = [1,3,4,5,2,3,4,20,100]
X2 = range(10,19)
X2 = sm.add_constant(X2)
results2 = sm.OLS(Y,X2).fit()
print(results1.summary())
print(results2.summary())
table = summary_col([results1,results2])
Ошибка, которую я получил:
ValueError: Length mismatch: Expected axis has 4 elements, new values have 6 elements