Python 为什么截距值设置为1?

Python 为什么截距值设置为1?,python,linear-regression,intercept,Python,Linear Regression,Intercept,我正在学习线性回归的基础知识以及如何用Python绘制它。在我的学习材料中,我有一个包含房价和房屋面积信息的数据框架。在材料中,它说在将此信息提供给stats models.api中的OLS方法之前,我必须定义一个名为“intercept”的新列,其中唯一的值是1。为什么我必须这样做,为什么截距的值必须是1?我认为截距的值是在Python编程线性回归之后定义的 这是我的数据框: price area 0 598291 1188 1 1744259 3512 2 5716

我正在学习线性回归的基础知识以及如何用Python绘制它。在我的学习材料中,我有一个包含房价和房屋面积信息的数据框架。在材料中,它说在将此信息提供给stats models.api中的OLS方法之前,我必须定义一个名为“intercept”的新列,其中唯一的值是1。为什么我必须这样做,为什么截距的值必须是1?我认为截距的值是在Python编程线性回归之后定义的

这是我的数据框:

    price   area
0   598291  1188
1   1744259 3512
2   571669  1134
3   493675  1940
4   1101539 2208
以下是我学习材料中提供的解决方案:

df['intercept'] = 1
lm = sm.OLS(df.price, df[['intercept', 'area']])
results = lm.fit()
results.summary()
我记得,OLS将为回归中使用的每个术语找到“权重*预测值”。对于截距,这相当于“截距*1”。我记得,OLS将为回归中使用的每个术语找到“权重*预测值”。对于截距,这相当于“截距*1”。