Ошибка несоответствия длины при использовании функции summary_col в Statsmodels - PullRequest
0 голосов
/ 03 октября 2019

Я использую функцию 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
...