Python statsmodels add_constant版本问题

时间:2016-03-27 00:03:50

标签: python statsmodels

我想问一下,为{OLS}添加了statsmodelshas_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}}做同样的事情吗?

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.]])