1. 这不是教科书里的“线性回归”——而是我在真实项目里反复拆解、验证、踩坑后总结出的三种必须分清的变体
你打开任何一本统计学入门书,第一页写的都是“线性回归:y = β₀ + β₁x + ε”。但当你真正接手一个销售预测任务、处理一份带缺失值的医疗问卷、或者要给几十个特征做重要性排序时,你会发现——那个公式根本没法直接套用。我做过7个行业超过42个建模项目,从电商GMV归因到工厂设备故障预警,几乎每个项目都卡在“该用哪一种线性回归”上。不是模型不收敛,而是选错了变体:用普通最小二乘(OLS)去拟合存在强共线性的金融因子,R²高达0.98,但变量系数符号全反;用标准线性回归处理含大量异常值的物流时效数据,预测结果系统性偏高15%以上;甚至有团队把带交互项的模型当成“多项式回归”来解释,导致业务方完全误解了价格弹性的真实结构。这三种关键变体—— 普通最小二乘回归(OLS)、岭回归(Ridge Regression)、Lasso回归(Lasso Regression) ——不是进阶技巧,而是建模前必须做的第一道选择题。它们解决的是三类截然不同的现实约束:数据是否干净?特征是否太多?业务是否需要可解释性?本文不讲推导,只讲我在生产环境里怎么判断、怎么选、怎么调、怎么防坑。如果你正在准备面试、写技术方案,或刚被业务方问“为什么这个系数是负的”,这篇文章能帮你省下至少3天试错时间。
2. 为什么必须区分这三种?——底层逻辑决定你能不能上线、敢不敢解释
2.1 普通最小二乘(OLS):最“诚实”的模型,也是最脆弱的模型
OLS的本质,是找一条直线(或超平面),让所有样本点到这条线的 垂直距离平方和最小 。它的目标函数非常干净:min Σ(yᵢ − β₀ − β₁xᵢ₁ − … − βₚxᵢₚ)²。这个“平方和最小”听起来很合理,但它隐含三个严苛假设: 误差项独立同分布、无多重共线性、无显著异常值 。我在做某连锁药店销量预测时就栽在这上面:用23个促销变量(满减、赠品、N元任选等)建模,VIF(方差膨胀因子)平均值达18.7,最高一个变量VIF=42。OLS给出的系数显示“第二件半价”对销量有-0.3的负向影响——这明显违背常识。后来发现,这个变量和“满199减50”高度相关(相关系数0.91),OLS把本该由两者共同解释的效应,强行拆给了其中一个,还给了错误符号。这就是OLS的致命伤:它不关心变量之间是否“打架”,只管把残差压到最小。一旦共线性存在,系数估计量的方差会急剧放大,标准误失真,t检验失效。更麻烦的是,业务方看到“负向影响”就会质疑模型可信度,哪怕你解释“这是共线性导致的数学现象”,他们只认结论。所以,OLS不是不能用,而是必须先做三件事:画相关系数热力图、算VIF(>5就要警惕)、用残差图检查异方差。我现在的硬性流程是: 只要特征数 > 样本数×0.1,或任意两个特征相关系数绝对值 > 0.7,OLS就自动出局 。
2.2 岭回归(Ridge):给系数加个“软性刹车”,专治共线性与过拟合
岭回归没改变OLS的目标函数本质,而是在后面加了一个惩罚项:min Σ(yᵢ − β₀ − Σβⱼxᵢⱼ)² + λΣβⱼ²。注意,这里惩罚的是 系数的平方和 (L2范数)。λ(lambda)就是那个“刹车力度”——λ越大,所有系数都被往0方向拉得越狠,但不会真的变成0。这就像给每个变量分配一个“影响力配额”,当多个变量争抢同一个解释权时,岭回归会让它们平分功劳,而不是让一个独占、另一个背锅。我在某银行信用卡逾期率建模中遇到典型场景:用户年龄、工作年限、月收入三个变量高度相关(相关系数均>0.85),OLS给出的年龄系数为-0.02(暗示年龄越大越可能逾期),这显然不合理。换成岭回归后,三个系数变为:年龄-0.003、工作年限-0.008、月收入-0.012,符号一致且数值更稳健。更重要的是,交叉验证的RMSE下降了12%,说明泛化能力提升。但岭回归有个隐藏代价: 它牺牲了部分可解释性 。因为所有系数都被压缩,你不能再直接说“年龄每增加1岁,逾期率下降0.02%”,而要说“在岭回归约束下,年龄的净效应约为-0.003”。这对需要向风控委员会汇报的场景是个挑战。所以我的经验是:岭回归适合 特征多、共线性强、但业务方接受“整体效果优于单个系

5615

被折叠的 条评论
为什么被折叠?



