statsmodels add_constant用于OLS拦截,这实际上是做什么的?

时间:2016-12-31 02:08:46

标签: python linear-regression statsmodels

通过statsmodels OLS拟合回顾线性回归我发现你必须使用add_constant在拟合之前为自变量中的所有点添加常量'1'。然而,当我们的x等于0时,我对这个上下文中截距的唯一理解就是y线的值,所以我不清楚是什么目的总是在这里注入'1'。这个常数实际上告诉OLS适合什么?

2 个答案:

答案 0 :(得分:5)

它不会为您的值添加常量,它会为其拟合的线性方程添加一个常数项。在单预测器的情况下,将一条线y = mx拟合到您的数据与拟合y = mx + b之间的差异。

答案 1 :(得分:2)

statsmodel中的sm.add_constant与LinearRegression()中的sklearn' fit_intercept参数相同。如果你不做sm.add_constant或当LinearRegression(fit_intercept = False),那么statsmodels和sklearn算法都假设y = mx + b中的b = 0,并且它使用b =拟合模型0而不是根据您的数据计算b应该是什么。