Я использую Anova для сравнения двух моделей линейной регрессии через пакет statsmodels. У меня есть 2 модели, где матрицы независимых переменных имеют разные размеры для обеих, так как вторая модель содержит дополнительную независимую переменную. Кто-нибудь знает, почему я получаю эту ошибку?
Вот соответствующий код:
from statsmodels.stats.anova import anova_lm
y1,X1 = patsy.dmatrices('medv ~ lstat', data = df, return_type = 'dataframe')
y2,X2 = patsy.dmatrices('medv ~ lstat + np.power(lstat,2)',data=df,return_type = 'dataframe')
model_1 = sm.OLS(X1,y1)
results_1 = model_1.fit()
model_2 = sm.OLS(X2,y2)
results_2 = model_2.fit()
print(X1,X2)
anova_lm(results_1,results_2)
Вот две матрицы, содержащие
model_1 independant variable matrix:
Intercept lstat
0 1.0 4.98
1 1.0 9.14
2 1.0 4.03
3 1.0 2.94
4 1.0 5.33
.. ... ...
501 1.0 9.67
502 1.0 9.08
503 1.0 5.64
504 1.0 6.48
505 1.0 7.88
[506 rows x 2 columns]
model_2 independant variable matrix:
Intercept lstat np.power(lstat, 2)
0 1.0 4.98 24.8004
1 1.0 9.14 83.5396
2 1.0 4.03 16.2409
3 1.0 2.94 8.6436
4 1.0 5.33 28.4089
.. ... ... ...
501 1.0 9.67 93.5089
502 1.0 9.08 82.4464
503 1.0 5.64 31.8096
504 1.0 6.48 41.9904
505 1.0 7.88 62.0944
[506 rows x 3 columns]
Вот фрейм данных:
crim zn indus chas nox rm age dis rad tax \
0 0.00632 18.0 2.31 0 0.538 6.575 65.2 4.0900 1 296
1 0.02731 0.0 7.07 0 0.469 6.421 78.9 4.9671 2 242
2 0.02729 0.0 7.07 0 0.469 7.185 61.1 4.9671 2 242
3 0.03237 0.0 2.18 0 0.458 6.998 45.8 6.0622 3 222
4 0.06905 0.0 2.18 0 0.458 7.147 54.2 6.0622 3 222
.. ... ... ... ... ... ... ... ... ... ...
501 0.06263 0.0 11.93 0 0.573 6.593 69.1 2.4786 1 273
502 0.04527 0.0 11.93 0 0.573 6.120 76.7 2.2875 1 273
503 0.06076 0.0 11.93 0 0.573 6.976 91.0 2.1675 1 273
504 0.10959 0.0 11.93 0 0.573 6.794 89.3 2.3889 1 273
505 0.04741 0.0 11.93 0 0.573 6.030 80.8 2.5050 1 273
ptratio black lstat medv
0 15.3 396.90 4.98 24.0
1 17.8 396.90 9.14 21.6
2 17.8 392.83 4.03 34.7
3 18.7 394.63 2.94 33.4
4 18.7 396.90 5.33 36.2
.. ... ... ... ...
501 21.0 391.99 9.67 22.4
502 21.0 396.90 9.08 20.6
503 21.0 396.90 5.64 23.9
504 21.0 393.45 6.48 22.0
505 21.0 396.90 7.88 11.9
[506 rows x 14 columns]