岭回归(Ridge)

所属分类:回归分析

这个方法是做什么的

当自变量彼此高度相关时,普通最小二乘的系数会变得极不稳定——换一批相似的数据,系数可能大幅变化甚至变号。岭回归在最小二乘的目标函数上加一个 L2 惩罚项(本模块按 SPSS 口径:先中心化,惩罚矩阵取 diag(X'X),截距不惩罚),用一点偏误换取方差的大幅下降。关键在于 L2 惩罚只把系数往 0 拉、永远不把任何一个压到恰好 0:变量清单一个不少地保留下来。这是它与「Lasso回归」最根本的分工——岭回归稳定系数,Lasso 才做变量选择。

除了系数 B、标准误、95% 置信区间、标准化系数 Beta、t、p 与 VIF,报告还给出方差分析表、R² 与调整 R²、Cohen's f²、RMSE 与有效自由度 trace(H)。第一张卡先回答“你到底该不该用岭回归”:给出最大 VIF、设计矩阵条件数与特征值分解,若最大 VIF 小于 5 会直接判为“无明显共线”并建议改回普通最小二乘。第三张卡是岭迹图(各标准化系数随 K 的变化)。第四张卡把同一批中心化数据的 OLS 解与岭解并排列出,逐个变量给出系数收缩率、标准误之比,以及 Holm 校正后的 p 值。K 可以在控件里手填,也可以打开“自动选择K值”,由留一交叉验证在 1e-4~1e4 的网格上选。

需要准备什么数据

  • 放入 [定量] 因变量Y:定量变量(数值)
  • 放入 [定量] 自变量X:至少 1 个,定量变量(数值)

数据要求

  • 数据表至少 30 行。
  • 单列缺失率不超过 20%。
  • 不接受取值全都一样的列(零方差列没有可分析的变异)。

以上条目由系统从该方法的校验规则直接生成,与上传数据时的实际拦截规则一致。

什么时候用它

  • 共线性已经确诊(最大 VIF 达到 5 以上或条件数超过 30),而这些变量按专业逻辑又都必须留在模型里
  • 系数符号与常识相反,或者整体 F 很显著、单个系数却都不显著
  • 想知道“不让系数乱跑的话,各自变量的相对影响力排序是什么样”
  • 论文里需要一份共线性下更稳的系数表,并附上与 OLS 的逐项对照

因变量与全部自变量都必须是定量列,本模块不做哑变量编码;含缺失或非数值的记录整行剔除;有效样本量必须大于自变量个数加一,经验上每个自变量至少 10 例,第一张卡会给出实测的 N/p。K 是唯一的调节旋钮:K=0 时岭估计退化为 OLS,K 越大偏误越大、方差越小。惩罚矩阵取 diag(X'X) 等价于在标准化尺度上施加惩罚,所以不需要你先手动标准化自变量。

什么时候不要用它

  • 第一张卡判为“无明显共线”:最大 VIF 小于 5 时,OLS 已经是无偏且方差可接受的估计,岭回归引入的偏误换不来收益——用「线性回归 (最小二乘法)」即可。想把共线查得更细(条件指数、方差分解比例、VIF 的置信区间)用「VIF共线性诊断」。
  • 你要的是一份更短的变量清单:岭回归一个变量都不会删。要让不重要的系数变成恰好 0 用「Lasso回归」;希望共线的一组变量成组去留用「ElasticNet回归」;只想按单变量关联强弱给候选变量排个序用「特征筛选」。
  • 自变量里有定类列:本模块只收定量列,拖进定类列会被整列判为缺失。先用“数据编码”转成数值,或改用会自动做哑变量编码的「线性回归 (最小二乘法)」与「分层回归」。
  • 因变量不是数值型:是 / 否用「逻辑回归」,等级用「有序逻辑回归」,计数用「计数数据回归」。
  • 你关心模型换一批数据还剩多少本事:本模块的 R² 与 RMSE 全部是训练集回代值,报告里没有样本外性能评估(自动选 K 用到的留一交叉验证只负责定 K,不产生性能指标)。要样本外评估用「Lasso回归」或「ElasticNet回归」,两者都给出交叉验证的 R²/RMSE 与过拟合差量;只求预测精度可以用「随机森林回归」或「XGBoost回归」。
  • 变量比样本还多:模块要求有效样本量大于自变量个数加一,自变量个数达到或超过样本量会被直接拒绝。先用「特征筛选」把候选变量压到样本量以下再回来。

容易误读的地方

  • 岭回归不做变量选择,“系数很小”不等于“这个变量可以删”。 惩罚只把系数往 0 拉、永远不到 0,所以表里不会出现 0,也不存在“被剔除的变量”。第四张卡的收缩率列算的是 1 − |岭 B| / |OLS B|,它衡量的是这个系数被拉动了多少,不是重要性排序;跨变量比大小要看已消除量纲的 Beta 列。
  • K 越大 p 值往往越小,所以这张表的 p 值绝不能拿来筛变量。 表注写明了机制:岭系数随 K 增大而收缩,但它的标准误收缩得更快,于是 t = B/标准误 反而变大。这里的 p 是“给定 K”的条件量,反映该 K 下的估计精度,不是变量重要性的证据。而且 K 若由同一批数据交叉验证选出,实际第一类错误率还会高于名义的 0.05。
  • 95% 置信区间不是通常意义上的 95%。 区间是在 K 已知且固定的前提下算的,没有计入选 K 带来的不确定性,实际覆盖率低于名义值;加上岭估计本身有偏,区间的中心并不在真值上。解读时应偏重系数的方向与相对大小,而不是把区间当作严格的频率学区间。另外 t 检验、置信区间与调整 R² 用的都是名义残差自由度 n−p−1,而不是表里那个有效自由度 trace(H)——这是保守选择,换成 n−trace(H)−1 会让标准误更小、p 更小。
  • 岭的 R² 低于 OLS 是预期现象,不代表模型更差。 有偏估计的回代 R² 必然不高于 OLS,第四张卡直接把 OLS 基准 R² 和差额列了出来。真正该看的是标准误之比那一列:比值明显小于 1 才说明这次收缩确实换来了方差下降。如果标准误几乎没降(比值接近 1)而 R² 已经掉了,这次岭回归就是纯亏——通常正是第一张卡提示“无明显共线”的情形。
  • 岭迹图上“系数趋于平稳”是经验判读,不是客观准则。 手动填的 K 没有任何统计依据,同一份数据换个 K 就换一套系数,而报告不会告诉你哪个更对。要客观一些就打开“自动选择K值”,让留一交叉验证按预测误差最小来定——但要清楚这个准则优化的是预测,不保证系数解释起来最合理,也不能反过来当作“共线性已被解决”的证据。共线到底有多严重,始终以第一张卡的 VIF 与条件数为准。

报告里有什么

  1. 输出结果一:数据概览与前提检验
  2. 输出结果二:岭回归主结果表
  3. 输出结果三:岭迹图与模型拟合可视化
  4. 输出结果四:效应量与事后分析
  5. 输出结果五:结论与学术表述
岭迹图(标准化系数随岭参数 K 的变化)
图1 岭迹图(标准化系数随岭参数 K 的变化)
真实值与岭回归预测值对照
图2 真实值与岭回归预测值对照
岭迹图是岭回归选 K 的标准工具:横轴为 K,纵轴为各自变量的标准化系数。系数从剧烈波动趋于平稳的位置,即经验上可取的 K。

在线统计分析平台 · 233 种分析方法 · AI 智能解读

在线使用
使用教程