Course Builder个人学习工作台 · 本地模式
Head First 统计学:从直觉到证据

用一条线做预测:最小二乘回归

目标:根据配对数据拟合一条最小二乘直线,并解释斜率、残差和决定系数。

上一课确认五天客流与销量大体呈直线关系。现在问得更具体:「预计客流 350 人时,销量大约多少?」相关系数只描述关系强弱,预测还需要一条有单位的函数。

继续使用 x=1、2、3、4、5 百人,y=2、4、4、5、7 十杯。拟合形式 ŷ=a+bx,ŷ 是预测值,a 为截距,b 为斜率。第 i 个点的残差是 eᵢ=yᵢ−ŷᵢ,即观察值减预测值。

为什么是平方误差

若只把残差相加,正负会抵消,错误很大的直线也可能合计为零。最小二乘选择使 SSE=Σ(y−ŷ)² 最小的 a、b。它给大残差较大的惩罚,也因此对异常点敏感。

用上一课已经算出的三个和,把公式写短一些:

Sxx = Σ(x−x̄)² = 10
Sxy = Σ(x−x̄)(y−ȳ) = 11
Syy = Σ(y−ȳ)² = 13.2
b = Sxy/Sxx = 1.1
a = ȳ−bx̄ = 4.4−1.1×3 = 1.1
所以 ŷ = 1.1+1.1x

这也常写为 ŷ=b0+b1x,或用 α、β 表示总体参数,用带帽符号表示估计值。符号变了,截距与斜率的角色没有变。公式还保证拟合直线经过 (x̄,ȳ)。

把每个残差算出来

xyŷ残差 y−ŷ残差平方
122.2−0.20.04
243.30.70.49
344.4−0.40.16
455.5−0.50.25
576.60.40.16
合计01.10

若忽略客流,总是预测平均销量 4.4,平方误差和是 Syy=13.2。使用直线后降为 1.1。因此决定系数 R²=1−SSE/Syy=1−1.1/13.2≈0.9167。

含截距的一元最小二乘回归中,R² 等于 r²。它表示在这批数据中,相比恒预测均值,直线解释了约 91.7% 的 y 总平方变差;不是 91.7% 的天数预测正确,也不是已证明 91.7% 的销量由客流造成。

把数值翻译回业务

x 增加 1 单位,也就是客流增加 100 人,模型预测销量平均增加 1.1 十杯,即 11 杯。截距 1.1 十杯对应 x=0,但样本客流最低为 100 人,零客流超出观测范围;不要把截距解释为已验证的「无人经过也能卖 11 杯」。

客流 350 人对应 x=3.5,预测 1.1+1.1×3.5=4.95 十杯,即 49.5 杯。准备多少整数杯还要结合损耗、缺货成本与预测不确定性;点预测不能单独决定库存。

跟着做:检查方向

  1. 用 x=4 算预测与残差,和表格核对。
  2. 将销售单位从十杯改为杯,写出新回归式。
  3. 判断 r 与 R² 是否改变。
核对答案

预测 5.5 十杯,实际 5,残差 −0.5 十杯。换成杯为 ŷ=11+11x。r 和 R² 不变,因为只换了正比例单位,残差平方和与总平方和都乘 100,比值保持不变。

独立练习

数据 x=1、2、3、y=2、4、6。求斜率、截距、三个残差与 R²;再解释为什么 R²=1 仍不能保证未来所有点都精确落在线上。

参考答案

x̄=2、ȳ=4,Sxx=2、Sxy=4,所以 b=2、a=0,残差都为零,R²=1。这只是三点的样本内拟合结果;未来可能出现新机制、误差或范围变化。也不能把回归 y 对 x 的直线直接反解成最小二乘 x 对 y:两者最小化的方向不同,只有特殊情形才重合。

若残差和不接近零,先核对截距、四舍五入与预测值;若 Sxx=0,所有 x 相同,斜率无法估计。下一课会检视拟合之后仍剩下的误差。

参考资料