from statsmodels.regression.linear_model import OLS
import numpy as np
X = np.array([[1,2,3],[4,7,5]])
y = np.array([1,2])
mod = OLS(X,y)
res = mod.fit()
print(res.summary())
Появляется следующая ошибка:
ValueError Traceback (most recent call last)
<ipython-input-78-5e3dfbfe5426> in <module>
6 mod = OLS(X,y)
7 res = mod.fit()
----> 8 print(res.summary())
~\AppData\Local\Continuum\anaconda3\lib\site-packages\statsmodels\regression\linear_model.py in summary(self, yname, xname, title, alpha)
2483
2484 rsquared_type = '' if self.k_constant else ' (uncentered)'
-> 2485 top_right = [('R-squared' + rsquared_type + ':', ["%#8.3f" % self.rsquared]),
2486 ('Adj. R-squared' + rsquared_type + ':', ["%#8.3f" % self.rsquared_adj]),
2487 ('F-statistic:', ["%#8.4g" % self.fvalue]),
~\AppData\Local\Continuum\anaconda3\lib\site-packages\statsmodels\tools\decorators.py in __get__(self, obj, type)
91 _cachedval = _cache.get(name, None)
92 if _cachedval is None:
---> 93 _cachedval = self.fget(obj)
94 _cache[name] = _cachedval
95
~\AppData\Local\Continuum\anaconda3\lib\site-packages\statsmodels\regression\linear_model.py in rsquared(self)
1636 return 1 - self.ssr/self.centered_tss
1637 else:
-> 1638 return 1 - self.ssr/self.uncentered_tss
1639
1640 @cache_readonly
~\AppData\Local\Continuum\anaconda3\lib\site-packages\statsmodels\tools\decorators.py in __get__(self, obj, type)
91 _cachedval = _cache.get(name, None)
92 if _cachedval is None:
---> 93 _cachedval = self.fget(obj)
94 _cache[name] = _cachedval
95
~\AppData\Local\Continuum\anaconda3\lib\site-packages\statsmodels\regression\linear_model.py in ssr(self)
1582 """Sum of squared (whitened) residuals."""
1583 wresid = self.wresid
-> 1584 return np.dot(wresid, wresid)
1585
1586 @cache_readonly
ValueError: shapes (2,3) and (2,3) not aligned: 3 (dim 1) != 2 (dim 0)
Кажется, она работает только тогда, когда X имеет размеры n на 1, а n - число наблюдений.
Следующий фрагмент делает запустить без проблем:
from statsmodels.regression.linear_model import OLS
import numpy as np
X = np.array([[1,2,3],[4,7,5]])
y = np.array([1,2])
mod = OLS(X,y)
res = mod.fit()
print(res.params)
В результате чего ожидаемые параметры. Любая причина, почему суммарные (и, например, f_test) выдают ошибки, когда X имеет размеры n на k с k> 1?