回归分析第16讲: Elastic Net---它能解决 LASSO 做不到、Ridge 不擅长的事

统计

在前两讲中,我们已经看到:

  • 岭回归(Ridge):能稳定系数,但不会做变量选择(没有变量会被删掉)。
  • LASSO 回归:能自动做变量筛选,但在共线性极强时,有时只会从一组相关变量中“选一个活下来”。

那如果我们希望:

  • 既希望 Ridge 那样稳定、
  • 又希望 LASSO 那样能筛变量、
  • 同时避免 LASSO 过度删除变量的风险……

有没有一种“两者合体”的方法?

答案就是——

🌟 Elastic Net(弹性网络回归)

Elastic Net 是 Ridge + LASSO 的组合,同时具备两者的优点:

  • 像 Ridge 一样能处理强共线性
  • 像 LASSO 一样能把一些系数压到 0
  • 在变量多、共线性严重、小样本等情境下,比两者都更稳定

一句话解释:

Elastic Net = LASSO 的简约性 + Ridge 的稳定性。

【一】为什么需要 Elastic Net?

LASSO 虽然强大,但有两个典型的问题:

① 在强共线性下,LASSO 会“只挑一个幸存”

比如:

  • x₁、x₂、x₃ 三个变量高度相关
  • LASSO 可能只留下一个,其余全部压为 0

但现实中的经济学问题并不希望“硬性删除”相关变量。例如在上一讲案例中:

  • 农业机械动力、化肥施用量、农村用电量往往一起增长,共线性强
  • 但它们都可能真实影响产出

在这种情况下,LASSO 的“过度稀疏”就可能删掉有意义的变量。

② Ridge 虽然稳定,但一个变量都删不掉

Ridge 提供稳定性,但不具备变量选择功能。

经济学论文写作中,删除不重要变量往往能使模型更简洁、更易解释。

所以我们需要:

  • 既能筛变量,又不过度删除;
  • 既能稳住系数,又能处理共线性。

👉 Elastic Net 正好解决这两个矛盾。

【二】Elastic Net 的公式为何这么强?

Elastic Net 在损失函数中加入两个惩罚:

图片

其中:

  • α = 1 → 完全是 LASSO
  • α = 0 → 完全是 Ridge
  • 0 < α < 1 → 同时具备两者特性

直观理解:

方法 会删变量? 能处理共线性? 稳定性
Ridge ❌ 不删 ✔ 很强 ✔ 高
LASSO ✔ 会删 ✔ 一般 ❌ 有时不稳
Elastic Net ✔ 会删,但不过度删 ✔ 很强 ✔ 稳定性最高

【三】在 JASP 中如何做 Elastic Net?(非常简单)

路径:

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

“惩罚”(Penalty) 选择:“弹性网络”(Elastic Net):

图片

JASP 会自动完成,并输出结果。

【四】继续用上一讲的农业数据案例:Elastic Net 会给什么结果?

我们此前得到的结果:

  • 逐步回归(JASP):只留下 x₃、x₆
  • 逐步回归(EViews):留下 x₁、x₃、x₅
  • LASSO:x₁、x₃、x₅(其余全部压成 0)

我们看一下 Elastic Net 给出的结果:

① 模型概要:Elastic Net 自动选择了最佳的 α 与 λ

图片

截图内容显示:

  • α = 0.5
    → 表示 L1(LASSO)与 L2(岭)惩罚各占一半
    → 有助于兼顾“变量选择”与“稳定系数”

  • λ = 211.9
    → 惩罚强度
    → 越大,越容易把不重要变量压缩为 0

  • 数据自动分为:

    JASP 使用交叉验证自动寻找最优模型,比逐步回归科学得多。

  • 训练集 13

  • 验证集 4

  • 测试集 4

  • 验证 MSE ≈ 9.99×10⁶

  • 测试 MSE ≈ 6.86×10⁶

👉 模型没有过拟合,预测性能稳定。

② 模型性能指标

图片

  • MSE = 6.86×10⁶(误差可接受)
  • RMSE = 2619
  • MAE = 2449
  • MAPE = 6.13%
    → 预测误差只有 6%,非常优秀
  • R² = 0.995
    → 模型解释 y 的能力极强

👉 说明弹性网络模型拟合好、泛化能力强。

③ 特征重要性(Feature Importance)

图片

数值越大,说明该变量越重要。重要程度从高到低分别是:

  1. x1(乡村就业人员)— 23755
  2. x3(农药使用量)— 11667
  3. x5(农业机械总动力)— 8998
  4. x6(农村用电量)— 6677
  5. x2(灌溉面积)— 2020
  6. x4(柴油)— 1667
  7. x7(化肥用量)— 1667

👉 与回归系数结果一致,说明模型选择合理、稳定。

④回归系数(β)解释

图片

弹性网络最终保留了 5 个变量(x1、x2、x3、x5、x6),并把 x4、x7 压缩为 0:

变量 系数 β 解释
x1 -15945.724 就业人数越多对产值有负向影响(结构性原因,可能是劳动力效率问题)
x2 -808.712 灌溉面积贡献较小(被部分替代/与其他变量相关)
x3 7950.838 农药使用量显著促进产出(反映技术驱动)
x5 6608.008 农机动力越高,产出越大(非常合理)
x6 4483.662 农村用电量越多,产出越高(反映电气化与机械化水平)
x4、x7 0 被模型视为“可删除”,贡献不足

👉 弹性网络比 LASSO 更保守,不会过度删变量;但比岭回归更“果断”,依然能压掉不重要变量。

⑤ 回归方程

图片

(x4、x7 被压缩为 0)

👉 这是一个比 OLS 更稳定、比逐步回归更可靠的模型。

我们可以看到结果,Elastic Net:

  • 比 LASSO 更“温和”的变量选择
  • 保留了更多的变量
  • 在 x₁、x₃、x₅ 之外,还保留某些贡献度较低但不能完全删除的变量(本例中是 x₂ 或 x₆)

Elastic Net 的优势就在于:

“既不乱选变量,也不乱删变量。”

【五】Elastic Net 结果写进论文怎么写?

论文写作中几种可供参考的模板:

📌 作为主模型:

“考虑到变量之间存在显著共线性,同时需要进行变量选择,本文采用 Elastic Net 回归。该方法综合了 LASSO 和 Ridge 的优势,能够在保持模型稳定性的同时对变量进行稀疏化处理。”

📌 作为稳健性检验:

“进一步采用 Elastic Net 回归对变量重要性进行验证,其结果与主回归模型高度一致,说明本文的结论具有稳健性。”

📌 作为变量筛选工具:

“基于 Elastic Net 的变量选择结果,本文剔除了系数收缩至零的变量,并以保留的变量构建最终模型。”

【六】总结:弹性网络的三个优势

✔ 解决共线性——同时使用 L1 + L2,更稳健
✔ 自动变量选择——部分变量压缩为 0(x4、x7)
✔ 预测性能好——误差低,R² 高达 0.995

在经济学、管理学、农业经济、医学等实证研究中非常实用。