返回 经典机器学习 思维导图
中文·English
📊 经典机器学习ID: vif-multicollinearity

VIF 多重共线性

VIF Multicollinearity
🎯核心定义
多重共线性指特征间存在高度线性相关, 使 XTXX^TX 接近奇异。VIF (方差膨胀因子) 定量诊断: 先把第 jj 个特征 xjx_j 对其余 p1p-1 个特征做线性回归得拟合优度 Rj2R_j^2, 则 VIFj=11Rj2VIF_j = \frac{1}{1 - R_j^2}Rj21R_j^2 \to 1 时 VIF 趋于无穷; 经验阈值: VIFj>10VIF_j > 10 (即 Rj2>0.9R_j^2 > 0.9) 视为严重共线性, 5105 \sim 10 为中等。
💡使用场景
建模前的特征诊断步骤 (可解释模型尤其必要, 树模型对共线性天然不敏感); 面试追问: 推导 VIFjVIF_j 与系数方差的关系、与特征相关性/条件数的区别、共线性下模型预测为什么反而不差。
解决的核心痛点
共线性把系数方差放大 VIFjVIF_j 倍——OLS 中 Var(w^j)=σ2(1Rj2)i(xijxˉj)2Var(\hat{w}_j) = \frac{\sigma^2}{(1 - R_j^2)\sum_i (x_{ij} - \bar{x}_j)^2}, 分母的 1Rj21-R_j^2 越小方差越大, 表现为系数符号反常、标准误巨大、t 检验失效; 但 R2R^2 与预测能力基本不受影响, 只看预测指标会漏诊。处理: 剔除高 VIF 特征、PCA/因子分析降维、岭回归 (XTX+λIX^TX + \lambda I 强制满秩)、或收集更多正交数据。
🎯5 个高频面试考点 (Exam Points)
1
推导 VIF: 为什么 VIFj=11Rj2VIF_j = \frac{1}{1-R_j^2}? Rj2R_j^2 从哪来, 阈值 10 对应 Rj2R_j^2 等于多少?
2
推导 OLS 系数方差公式 Var(w^j)=σ2(1Rj2)i(xijxˉj)2Var(\hat{w}_j) = \frac{\sigma^2}{(1-R_j^2)\sum_i (x_{ij}-\bar{x}_j)^2}, 解释共线性如何膨胀方差。
3
多重共线性下模型预测仍然很好, 为什么? 它主要伤害什么 (系数解释/标准误/t 检验/特征重要性)?
4
处理共线性的方案对比: 剔除特征 vs PCA 降维 vs 岭回归, 各自代价与适用场景。
5
VIF、特征两两相关性和条件数 κ(X)=λmaxλmin\kappa(X) = \frac{\lambda_{max}}{\lambda_{min}} 三个指标的区别与联系, 树模型为什么不怕共线性?
更新于 2026-08-12
🎯
检验攻克程度:针对「VIF 多重共线性」专属刷题排雷
做单选排雷题、推导选项机制,答错自动收录进专属错题本。
🚀 开始本考点专项刷题
上一个知识点线性回归 OLS下一个知识点逻辑回归 Log-Odds

🔗 更多 经典机器学习 知识点卡片

AdaBoost 算法手推Bagging 与随机森林HMM 参数学习 Baum-WelchGBDT 负梯度拟合