利用 python 进行线性回归(最小二乘法回归)

  1. 线性回归也被称为最小二乘法回归(Linear Regression, also called Ordinary Least-Squares (OLS) Regression),它的数学模型是这样的: y = a + b ∗ x + e y = a+ b * x+e y=a+bxe
    其中,a 被称为常数项或截距;b 被称为模型的回归系数或斜率;e 为误差项。a 和 b 是模型的参数。

    在平时的使用中,模型的参数只能从样本数据中估计出来: y ′ = a ′ + b ′ ∗ x y'= a' + b'* x y=a+bx

  2. 我们的目标是选择合适的参数,让这一线性模型最好地拟合观测值。拟合程度越高,模型越好。
    那么, 我们如何判断拟合的质量呢?这一线性模型可以用二维平面上的一条直线来表示,被称为回归线。
    在这里插入图片描述
    模型的拟合程度越高,意味着样本点围绕回归线越紧密。

  3. 如何计算样本点与回归线之间的紧密程度?
    高斯和勒让德找到的方法是:被选择的参数,应该使算出来的回归线与观测值之差的平方和最小(即最小二乘法)。用函数表示为:
    min ⁡ →   b ∑ i = 1 n ( y m − y i ) 2 \underset{b}{\underset{\to{}}{\mathop{\min}}\,} \sum_{i=1}^{n}(y_m-y_i)^2 bmini=1n(ymyi)2
    最小二乘法的原理:当预测值和实际值距离的平方和最小时,就选定模型中的两个参数(a 和 b)。
    注意:这一模型并不一定反映解释变量和反应变量真实的关系。
    在这里插入图片描述
  4. 模型估计出来后,我们要回答的问题是:
  • (1)模型拟合程度如何?或者说,这个模型对因变量的解释力如何?(R2)
  • (2) 整个模型是否能显著预测因变量的变化?(F 检验)
  • (3)每个自变量是否能显著预测因变量的变化?(t 检验)

(1)模型拟合程度如何?或者说,这个模型对因变量的解释力如何?(R2)
        为了评估模型的拟合程度如何,我们必须有一个可以比较的基线模型。
        如果让你预测一个人的体重是多少?在没有任何额外信息的情况下,你可能会用平均值来预测,尽管会存在一定误差,但总比瞎猜好。
        现在,如果你知道他的身高信息,你的预测值肯定与平均值不一样。额外信息相比平均值更能准确地预测被预测的变量的能力,就代表模型的解释力大小。
在这里插入图片描述
上图中,

  • SSA 代表由自变量 x 引起的 y 的离差平方和,即回归平方和,代表回归模型的解释力;
  • SSE 代表由随机因素引起的 y 的离差平方和,即剩余平方和,代表回归模型未能解释的部分;
  • SST 为总的离差平方和,即我们仅凭 y 的平均值去估计 y 时所产生的误差。
  • 用模型能够解释的变异除以总的变异就是模型的拟合程度: R 2 = S S A / S S T = 1 − S S E R^2=SSA/SST=1-SSE R2=SSA/SST=1SSE
    ( R 2 R^2 R2也被称为决定系数或判定系数。)

(2) 整个模型是否能显著预测因变量的变化?(F 检验)

        假设 y 与 x 的线性关系不明显,那么剩余平方和 SSE相对较大, SSA 相对 SSE 占有较大的比例的概率则越小。也就是说,在 y 与 x 无线性关系的前提下,SSA 相对 SSE 的占比越高的概率是越小的,这会呈现一定的概率分布。统计学家告诉我们它满足 F 分布,就像这样:

在这里插入图片描述
        如果 SSA 相对 SSE 占比较大的情况出现了,比如根据 F 分布,这个值出现的概率小于 5%。那么,我们最好是拒绝 y 与 x 线性关系不显著的原始假设,认为二者存在显著的线性关系较为合适。


(3)每个自变量是否能显著预测因变量的变化?即回归系数是否显著?(t 检验)

        回归系数的显著性检验是围绕回归系数的抽样分布(t 分布)来进行的,推断过程类似于整个模型的检验过程。
        实际上,对于只有一个自变量的一元线性模型,模型的显著性检验和回归系数的检验是一致的,但对于多元线性模型来说,二者就不能等价了。

参考资源:利用 python 进行线性回归

  • 1
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值