回归分析第13讲: 岭回归:让回归系数不再“乱跳”的方法(共线性系列二)

统计

上一篇我们讲了为什么会产生“共线性”,以及它会导致回归系数不稳定、忽大忽小、甚至方向反复变化。

很多同学问:

“既然共线性这么麻烦,那到底怎么解决?”

今天我们就用最简单的方式介绍一种非常实用的方法:

岭回归(Ridge Regression)——让系数稳定下来,让模型更靠谱。

同时用JASP软件演示一个入门案例。

【一】先给结论:岭回归不是为了让模型更强,而是让模型更稳

当你的自变量高度相关(共线性严重)时,普通回归(OLS)会出现:

  • 系数乱跳
  • 符号前后不一致
  • “矩阵接近奇异”报错
  • 模型不再可信

岭回归做了一件非常小、非常关键的事:

它在回归公式里加了一个很小的稳定器(λ),让系数不要乱飞,模型变得稳定、可解释。

所以:

岭回归不是为了提高 R²,而是为了让模型不失控。

【二】为什么 OLS 会在共线性下“崩塌”?(最容易忽视的知识点)

如果两个自变量高度相关,例如:

  • 面积大 → 房间数多
  • GDP 高 → 人口密度往往也高
  • 教育水平高 → 收入通常也高

它们向模型提供的是 重复信息:

房价的高低,到底是“面积贡献大”,还是“房间数贡献大”?

回归模型会试图“分配”每个变量的贡献,但两个变量太像了,模型无法判断“谁贡献了多少”,于是:

  • 系数可能特别大
  • 也可能特别小
  • 甚至符号反常(明明应该是正的,结果跑出负的)

这就是共线性导致的典型现象:

共线性不是让模型跑不动,而是让系数失去常识。

【三】用一个比喻解释岭回归:给回归系数“踩一个刹车”

想象普通回归是拉橡皮筋:

  • 误差越小 → 橡皮筋拉得越长
  • 系数越大 → 拉力越强

共线性会让橡皮筋变得“特别松”,轻轻一拉就被拉到极端,结果就是:

  • 系数过大
  • 系数互相抵消
  • 系数变符号

岭回归做的事非常直观:

给橡皮筋加一个阻尼(λ),让它没那么容易被拉过头。

阻尼越大,橡皮筋越不容易乱飞。
这就是岭回归的本质思想:收缩(shrinkage)。

【四】最直观的解释:岭回归只改变一件事

OLS 的直观公式:

图片

意思是:

x 和 y 越一致 → 系数越大;x 自己越“乱跳” → 系数越小。

岭回归的直观公式:

图片

只多了一个 λ!

λ 就像在分母上“加了个配重”,系数自然就稳下来了。

它在回归系数上轻轻加了一点约束,让系数不要乱跳。

可以把普通回归的系数想象成“随风飘的绳子”,岭回归就是在绳子末端挂一个小小的配重,让它稳一点。

这个小配重的大小,就是参数 λ(lambda)。

【五】为什么用 JASP 做?它是什么?

岭回归可以用Stata、R或Python做,也很方便,但它们不是菜单式的。

我们知道有一部分同学和研究人员,对写软件命令是十分排斥的。他们希望把更多的时间用在专业领域的研究上,而不是花太多时间一直测试软件命令。

SPSS这样的经典统计分析软件中,本身没有岭回归的菜单,需要另外加载模块。

这里,Henry老师介绍一款免费统计分析软件JASP。它的特点是:

  • ✔ 免费
  • ✔ 开源
  • ✔ 界面直观
  • ✔ 适合初学者和代码排斥者
  • ✔ 比 SPSS 多了机器学习模块

在 JASP 中,正则化回归界面是完全可视化的,对于课堂教学、写论文、或初学者学习回归分析都非常友好。

此外,Henry老师也提醒一下:

最近,身边有多起研究人员因为在论文中使用了非正版统计软件(如盗版 SPSS),被版权机构要求补偿费用。

因此,像 JASP 这样免费的、正版的、功能完整的菜单式软件,就显得非常宝贵,也更适合作为教学与科研的首选工具。

JASP下载地址:

https://jasp-stats.org/download/

图片

【六】案例:用房价数据演示一次岭回归(面积 + 房间数 → 房价)

我们用一个很小但很典型的数据集“房价影响因素”来演示:

  • 因变量: price(房价)
  • 自变量: area(面积)、rooms(房间数)

area 和 rooms 本身高度相关,属于典型的共线性场景。

在 JASP 中操作非常简单:

路径:机器学习 → 回归 → 正则化线性

设置好目标变量和自变量,并勾选以下内容:

  • 模型性能
  • 特征重要性
  • 系数轨迹
  • λ 估计图
  • 数据拆分

JASP会自动运行,右侧直接给出结果。

【七】 输出结果怎么读?

JASP得到的回归方程截图如下:

图片

下面是正则化线性回归和模型性能指标图:

图片

图片

**(1)数据拆分与模型误差

上面的输出结果告诉我们:

  • 训练集 19 个
  • 验证集 5 个
  • 测试集 6 个

R² = 0.713

说明模型可以解释房价约 71% 的变化——在只有两个变量的情况下非常不错。

MAPE ≈ 24%
说明模型平均预测误差约为 24%,属于正常范围。

一句话解释:

普通回归下,面积和房间数两个系数可能会非常大、方向不稳,而岭回归把它们稳定在同一数量级(4.4 万 vs 4.2 万),方向一致、大小合理,因此更稳定。

**(2)岭回归选出了最佳 λ(26094)

λ评估图

图片

图中的黑色曲线表示:不同 λ 下模型的预测误差有多大。

我们希望找到“误差最低”的 λ,就是虚线所在的位置(≈26094)。

• λ 太小:几乎等于 OLS,系数会乱跳 → 误差大
• λ 太大:惩罚太强,模型“缩得太狠” → 误差也大

所以最佳 λ 是误差最低的地方,而不是越大越好或越小越好。

JASP 会自动找到这个“最佳平衡点”。

(3)自变量重要性:面积略高,但两者都重要

下图是特征重要性(Feature Importance)截图

图片

JASP 的“特征重要性”使用的是 Dropout 损失:

把某个变量暂时从模型中移除,看模型误差增加多少。

因此:

  • 数值越大 → 说明这个变量越重要
  • 两个变量数值接近 → 说明两者作用相似

本例结果:

  • area:103,410
  • rooms:100,675

两者都非常重要,面积略强一点。

你可以把这个数字理解为:

“如果我把这个变量删掉,模型会变差多少?”

area 和 rooms 被删掉后,模型都会“明显变差”。说明这两个变量对房价预测都很关键。

**(4)回归系数变得稳定,不再乱跳

岭回归给出的系数表如下:

图片

非常合理:

  • 面积越大 → 房价越高
  • 房间数越多 → 房价越高
  • 两者贡献接近,符合现实逻辑

在普通回归(OLS)里,由于面积和房间数高度相关,模型无法判断“到底是谁贡献了多少”,这会导致系数忽大忽小,甚至方向错误。

岭回归的作用,就是把这些“乱跳的”系数稳稳按住。

**(5)预测效果图:点基本落在直线附近

下图:预测性能图(Observed vs Predicted plot)

图片

图中每个点都是一个“真实房价 vs 模型预测房价”的组合。

如果模型预测得好,这些点应该沿着 45° 直线分布。

从图上看,点的分布比较紧凑,没有大幅偏离直线,说明:

岭回归模型的预测效果是不错的。

(6)系数轨迹图:最适合理解 λ 的图(也适合教学)

下图:系数轨迹图(Coefficient Path)

图片

可以看到:

  • λ = 0 时(普通回归),系数巨大且不稳定
  • 随着 λ 增大,系数逐渐收敛
  • 两个变量最终稳定在合理区间

这是理解“为什么岭回归能解决共线性”的最佳图示。

最后,解释一下为什么岭回归更为稳定

因为在共线性存在的情况下,普通回归往往会出现系数过大、方向不稳、预测误差剧烈变化的问题;而从本次结果可以看到:岭回归给出的两个系数(area≈4.49 万、rooms≈4.23 万)数值合理、彼此接近、方向稳定,并且测试集的预测误差(MAPE≈24%)没有出现夸张的波动,说明模型经过“收紧系数”后,对数据的小变化不再敏感,因此比普通回归稳得多。

【八】 一句话总结:岭回归为什么能解决共线性?

✔ 因为它让回归系数 不要太大、不要乱跳
✔ 因此模型变得更稳定、更可靠
✔ 特别适合:变量相关性强的回归模型

一句可以写进论文的表达是:

岭回归通过对系数施加 L2 收缩,使估计量在自变量高度相关时更加稳定,从而有效缓解多重共线性问题。


附录:如果你在论文中遇到共线性,应当如何使用岭回归?(超简明攻略)

为了帮助正在写论文的同学,这里附上一个岭回归在论文中的使用指南。如果你的论文也遇到共线性,可以按下面三种情况选择合适的写法。

① 如果研究重点就是共线性问题

适用场景:

  • 你的自变量之间高度相关
  • OLS 系数不稳定、符号反复变化
  • 样本量较小(如 <50)

建议在“模型选择”部分直接说明:

“由于存在共线性,最终回归方程用岭回归的系数。”

② 如果论文要求以 OLS 为主(岭回归作为稳健性检验)

适用场景:

  • OLS 为基准模型
  • 想展示“换个方法估计,结果仍然差不多”

建议主结果仍写 OLS,岭回归放在“稳健性检验”章节。写一句解释:

“岭回归后系数方向一致、大小相近,说明 OLS 结果具有稳健性。”

③ 如果样本量非常小(如 <30)或变量很多

适用场景:

  • 小样本 + 多变量 → OLS 极易不稳定
  • 论文目标是预测或变量选择

建议直接使用岭回归作为主模型,并在方法部分写一句理由:

“为避免小样本导致的系数不稳定问题,采用岭回归进行估计。”