Многомерные матрицы ошибок OLS Statsmodel не выровнены

Я пытаюсь решить многомерную регрессию. Вот код, прикрепленный для регрессии. Модель строится нормально, но когда я пытаюсь получить сводку, она выдает следующую ошибку

ValueError: матрицы не выровнены

Вот трассировка:

Traceback (most recent call last):
File "/Users/mikhilraj/Desktop/try2.py", line 23, in <module>
    print mod.summary()
File "/Library/Python/2.7/site-packages/statsmodels-0.7.0-py2.7-macosx-10.10-intel.egg/statsmodels/regression/linear_model.py", line 1967, in summary
    top_right = [('R-squared:', ["%#8.3f" % self.rsquared]),
File "/Library/Python/2.7/site-packages/statsmodels-0.7.0-py2.7-macosx-10.10-intel.egg/statsmodels/tools/decorators.py", line 97, in __get__
    _cachedval = self.fget(obj)
File "/Library/Python/2.7/site-packages/statsmodels-0.7.0-py2.7-macosx-10.10-intel.egg/statsmodels/regression/linear_model.py", line 1181, in rsquared
    return 1 - self.ssr/self.centered_tss
File "/Library/Python/2.7/site-packages/statsmodels-0.7.0-py2.7-macosx-10.10-intel.egg/statsmodels/tools/decorators.py", line 97, in __get__
    _cachedval = self.fget(obj)
File "/Library/Python/2.7/site-packages/statsmodels-0.7.0-py2.7-macosx-10.10-intel.egg/statsmodels/regression/linear_model.py", line 1153, in ssr
    return np.dot(wresid, wresid)
ValueError: matrices are not aligned

Код:

import numpy as np
import statsmodels.api as sm


np.random.seed(12345)

N = 30

X = np.random.uniform(-20, 20, size=(N,10))
beta = np.random.randn(11)
X = sm.add_constant(X)


weights = np.random.uniform(1, 20, size=(N,))
weights = weights/weights.sum()

y = np.dot(X, beta) + weights*np.random.uniform(-100, 100, size=(N,))

Y = np.c_[y,y,y]

mod = sm.OLS(Y, X).fit()

print mod.summary()

person Rusty    schedule 24.01.2015    source источник


Ответы (1)


Параметр endog должен быть одномерным вектором зависимой переменной. Изменение параметра Y в вашей модели на y (например) позволяет выполнять код без ошибок.

http://statsmodels.sourceforge.net/devel/generated/statsmodels.regression.linear_model.OLS.html

person JAB    schedule 24.01.2015
comment
Да. Но я хочу запустить регрессию с многомерной функцией отклика, т.е. Y должен быть многомерным. Есть ли выход? - person Rusty; 24.01.2015
comment