我想问一下,为{OLS}添加了statsmodels
版has_constant
的功能?我在debian wheezy
工作,只支持0.4.2
。在localhost上我有0.6.1
版本,并且支持has_constant
,它可以正常工作。
代码是:
mat_zavisle_L = sm.add_constant(mat_zavisle_L, prepend=True, has_constant='add')
results = sm.OLS(endog=mat_cena_L, exog=mat_zavisle_L).fit()
它给了我错误:
add_constant() got an unexpected keyword argument 'has_constant'
基于此,我的结论是statsmodels 0.4.2
不支持OLS的has_constant
。我正在研究文档和重新发现statsmodels的历史,但没有找到相关的东西。那么还有其他一些函数,它与has_constant
的{{1}}做同样的事情吗?
答案 0 :(得分:1)
您的意思是函数has_constant
中的add_constant()
关键字参数。
除非the docs错误,否则在0.6.0之后引入。
对于执行相同操作的函数,如果您希望它与add_constamt()
一样强大,请查看上一版本的源代码。或修补旧版本,以便不检查常量列。或者,您可以实现一个适用于您的数据的更简单版本。例如,对于2D阵列:
def add_constant(data):
cons = np.ones(data.shape[0])
return np.c_[cons, data]
add_constant(np.array([[1, 2, 3], [1, 4, 9]]))
array([[ 1., 1., 2., 3.],
[ 1., 1., 4., 9.]])