跳到主要内容

预测模型

Lasso回归

在标准化自变量上加 L1 惩罚,让贡献弱或高度重叠的系数直接变成 0,用交叉验证挑惩罚强度,留下一套更短的预测特征。

更新日期 2026-08-29 回归

这篇能回答什么

Lasso(Least Absolute Shrinkage and Selection Operator)回答的是:「在一堆定量特征里,哪些值得留在线性预测式里,哪些可以整段关掉」。它最小化残差平方和的同时,对系数绝对值之和抽税;税重 α 大到一定程度,路径上的系数会碰到零并停在零。与逐步回归的硬进硬出不同,Lasso 是连续收缩,并在交叉验证下选 α。

适合:住房特征、生化指标、问卷条目等定量 X 较多或互相重叠、目标是预测或先筛变量的场景。本教学表用面积(平米)、楼层、总楼层、建筑年份预测总价(万元)。因变量必须定量;自变量至少 2 个、至多 100 个,且须为定量(定类请先哑元化再进入)。

什么时候不该用

理论已经指定必须保留的自变量、你要的是带标准误的推断,用线性回归。只要稳定收缩、不希望任何系数变成 0,用岭回归。要按理论分块看增量解释力,用分层回归。让 p 值带路自动增删,才是逐步回归。Y 为是否成交时改逻辑回归,不要对 0/1 做 Lasso 线性。

如何选择方法

把「要不要把系数打成确切的零」当作分水岭。要稀疏解、接受交叉验证选变量 → Lasso。共线严重但每个特征都有故事、不能消失 → 岭。名单已由假说写死 → OLS。探索阶段只想一条短方程、并能忍受路径依赖 → 逐步。Lasso 的 p 值默认不输出:惩罚破坏了普通 t 检验的抽样分布。

  • Lasso:L1,CV 选 α,可把系数收到 0;输出标准化系数、R²、MSE、1-SE α。

  • 岭回归:L2,只收缩不删除;同表上楼层等仍会留下非零系数。

  • 逐步回归:偏 F / AIC 离散搜索,名义 p 值偏乐观。

  • OLS:无惩罚,给 B、Beta、VIF 与 F。

输入、输出与限制

输入

因变量 1 个定量列。自变量全部为定量,至少 2 个。按这些列成表删除缺失。拟合前对 X 做标准化,Y 保持原始万元单位。

  • 自变量:最少 2 个,最多 100 个(定量)。

  • 因变量:最少 1 个,最多 1 个(定量)。

输出

系数表列出每个自变量的标准化回归系数;恰好为 0 表示在所选 α 下被关掉。表注给出 R²、MSE、交叉验证最优 Alpha、1-SE 准则 Alpha 与原始量纲常数项。图为正则化路径或交叉验证误差曲线。洞察会统计被剔除的特征个数。

产品限制

  • 有效行数至少 5(交叉验证折数取 min(5, n))。

  • 若最优 α 把全部系数打成 0,系统会回退到路径上最弱的一档 α 再拟合,避免空模型。

  • 系数没有标准误与 p 值;不要把「非零」写成「显著」。

  • 高基数编号列、定类原文不要直接进 X。

案例

研究问题。 综合评价住房表里,面积、所在楼层、总楼层与建筑年份都和总价有关,但彼此重叠。探索阶段希望自动关掉多余特征,留下对总价仍有预测贡献的核心列。

教学示例工作表为「Sheet1」。自变量勾选面积(平米)、楼层、总楼层、建筑年份,因变量勾选总价(万元)。交叉验证选出 Alpha = 12.0645,R² = 0.2964。四个特征里只留下面积。有效行数以成表删除后的工作台输出为准。下载后按同样角色复现系数表。

下载教学示例表(综合评价)

在 StatsX 中操作

  1. 步骤 1 · 上传表格

    打开工作台,将 Excel / CSV / JSON 拖入上传区。本案例使用综合评价 xlsx,确认工作表为「Sheet1」。单文件不超过 20 MB。

  2. 步骤 2 · 查看画像与质量

    确认总价(万元)与四列住房特征为定量。不要把房源 ID、小区名拖进自变量。

  3. 步骤 3 · 选择「Lasso回归」

    在算法目录搜索「Lasso」或「L1」,点选 Lasso回归。不要误选岭回归或逐步回归。

  4. 步骤 4 · 指定特征与目标并运行

    自变量勾选面积(平米)、楼层、总楼层、建筑年份(至少 2 个);因变量勾选总价(万元)。点击运行分析。

  5. 步骤 5 · 阅读结果

    先看哪些系数被收到 0,再读 CV 的 Alpha 与 1-SE Alpha,最后看 R²。系数是标准化尺度,不能当成「每平米涨多少万元」。

StatsX 工作台上传住房综合评价表
将教学示例表拖入工作台上传区。
列画像确认总价与面积等为定量
核对总价与住房特征为定量,标识列不要进入。
在目录中选择 Lasso 回归
在算法目录中选定「Lasso回归」。
为 Lasso 指定四列住房特征与总价
自变量勾选面积、楼层、总楼层、建筑年份,因变量选总价后运行。

如何阅读输出

下表由同一份住房教学表示例在 StatsX 中运行 Lasso 得到。面积(平米) 的标准化系数 = 158.9473;楼层 = 0,总楼层 = 0,建筑年份 = 0。表注:R² = 0.2964,MSE = 69061.5585,CV 最优 Alpha = 12.0645,1-SE Alpha = 69.0378,常数项 = 457.3520(总价的原始万元尺度)。洞察概括为:交叉验证后剔除 3 个变量,只保留面积。

Lasso回归 (L1正则化) 分析结果
自变量标准化回归系数(Coef)
面积(平米)158.9473
楼层0
总楼层0
建筑年份0

模型评估: R² = 0.2964 | MSE = 69061.5585 | 最佳惩罚系数 Alpha = 12.0645 | 1-SE 准则 Alpha = 69.0378 | 常数项 = 457.3520

Lasso 标准化系数与 Alpha 表注
工作台系数表应与上表一致:仅面积非零。
Lasso 交叉验证误差与系数收缩路径
路径图上随 Alpha 增大,楼层等先碰到零;完整系数以表为准。

【LASSO回归】因变量=总价(万元),Alpha=12.0645(交叉验证寻优),R²=0.2964,特征已标准化。 【特征筛选】L1正则剔除 3 个变量,保留 1 个核心特征。

阅读顺序:有效行数 → 哪些行是确切的 0 → CV α 与更保守的 1-SE α → R² 是否只够「中等偏弱的预测」→ 常数项是否在总价的合理量级(457 万元是特征取标准化零点时的预测,约等于 Y 的均值位置)。面积与总价近乎定义性相关,Lasso 把它留下、把楼层关掉,是惩罚在重叠特征里选代理人,不是证明楼层与房价无关。同一张表若改跑岭回归,楼层、总楼层、建筑年份会留下非零收缩系数,R² 约 0.30,可作对照。

理论与公式

先把设计矩阵的各列标准化为均值 0、方差 1,再解

α 沿路径增大时,越来越多的坐标落到 0。StatsX 用 LassoCV(最多 5 折、100 个 α)取交叉验证均方误差最小的 α;本页为 12.0645。1-SE 准则在「CV 误差不超过最小值加一个标准误」的前提下选更大的 α,得到更短的模型;本页 1-SE α = 69.0378,主表系数仍按 CV 最优 α 报告。截距不进 L1 惩罚,故常数项 457.3520 留在原始 Y 尺度。R² 在标准化 X、原始 Y 的预测上计算,本页 0.2964。

注意事项

  • 标准化系数不能写成「面积每增加 1 平米,总价增加 158.95 万元」。

  • 系数为 0 只表示在当前 α 与特征集下被关掉,换样本或去掉面积后楼层可能复活。

  • 没有 p 值:不要把非零系数叫做统计显著。

  • R²=0.2964 说明仍有七成总价变异未进线性 Lasso,不宜写成高精度定价模型。

  • 交叉验证选变量会带来选择偏倚,确认性研究应预指定特征或另留验证集。

  • 总价≈单价×面积时,面积几乎必然存活,这是代数结构,不是新发现。

常见问题

参考文献

  • Tibshirani, R. Regression shrinkage and selection via the lasso[J]. Journal of the Royal Statistical Society: Series B, 1996, 58(1): 267–288.

  • Hastie, T., Tibshirani, R., & Wainwright, M. Statistical Learning with Sparsity: The Lasso and Generalizations. CRC Press.

  • Friedman, J., Hastie, T., & Tibshirani, R. Regularization paths for generalized linear models via coordinate descent[J]. Journal of Statistical Software, 2010, 33(1): 1–22.

  • 何晓群, 刘文卿. 应用回归分析[M]. 中国人民大学出版社.