【发布时间】:2014-01-09 04:32:56
【问题描述】:
这是我正在做的事情:
$ python
Python 2.7.6 (v2.7.6:3a1db0d2747e, Nov 10 2013, 00:42:54)
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
>>> import statsmodels.api as sm
>>> statsmodels.__version__
'0.5.0'
>>> import numpy
>>> y = numpy.array([1,2,3,4,5,6,7,8,9])
>>> X = numpy.array([1,1,2,2,3,3,4,4,5])
>>> res_ols = sm.OLS(y, X).fit()
>>> res_ols.params
array([ 1.82352941])
我期待一个包含两个元素的数组?!? 截距和斜率系数?
【问题讨论】:
-
Docs:默认不包含拦截,应由用户添加。请参阅 statsmodels.tools.add_constant。
-
这里add_constant()的意义是什么。当我在线性正则中生成模型时,我希望有一个截距,y = mX + C。让某人在输入向量之上添加常数的额外操作的意图是什么。
-
有趣的是,如果您在 statsmodels 中使用类似 R 的公式 api,默认情况下会为您提供截距。
标签: python pandas linear-regression statsmodels