SPSS 多重共线性怎么解决:VIF 超过 10 的四种处理
更新于
多重共线性怎么解决:先看 VIF 判断严不严重,大于 10 时有四种处理,剔除冗余变量、合并为综合指标、改用岭回归或 Lasso 回归,以预测为目的时也可以不处理。以下结果来自本站演示数据(模拟生成,不代表真实研究结论):102 位员工的三个量表得分。本例没有变量需要处理,只演示怎么判断。
多重共线性怎么解决:先查 VIF,看严不严重
自变量之间高度相关时,回归系数变得极不稳定,换一批相似的数据,系数可能大幅变化甚至变号。三个得分放进「分析变量(定量)」区,一行一位员工,共 102 行,没有缺失,各区的要求见VIF共线性诊断帮助文章。
主结果表给出每个变量的 VIF 和 95% 置信区间,三个变量全部判读为良好。经验分档是:VIF 小于 5 良好,5 到 10 中度,大于 10 严重,条件指数大于 30 且同一行有两个及以上变量的方差分解比例大于 0.5 也算严重。下图把 VIF、区间和系数标准误被放大的倍数放在一起。
判断是否严重时,看区间上限而不是只看点估计:情绪耗竭得分的上限 2.563 离 5 还有一段距离,连估计误差都算进去,也谈不上严重。
原因:VIF 是怎么算的
VIF 等于 1 除以 1 减辅助回归 R²:以该变量为因变量、其余变量为自变量做回归,R² 越大,说明它越能被其余变量线性解释。本例情绪耗竭得分的辅助回归 R² 是 0.484,约 48.4% 的方差可由其余两个变量解释。

报告里每个变量还有一行辅助回归 F 检验,原假设是该变量与其余变量线性无关,几乎总会被拒绝:本例三个变量的 p 都小于 0.001,而 VIF 都小于 2。所以共线性严不严重只看 VIF 和条件指数,不看这个 p。
解决步骤
- 先看 VIF 和它的置信区间,再看第四张卡的条件指数,确认严不严重。
- 严重时按研究目的选一种处理,见下表。
- 处理后重新跑一遍,用下一节的三个判据确认。
| 处理方式 | 做法 | 代价 |
|---|---|---|
| 剔除冗余变量 | 删掉含义重叠的变量中的一个 | 少一个变量,解释范围随之变窄 |
| 合并为综合指标 | 先用「主成分分析(PCA)」压成综合维度再进模型 | 系数不再对应原来的变量 |
| 改用正则化 | 用「岭回归(Ridge)」或「Lasso回归」稳住系数 | 系数被收缩,不再是无偏估计 |
| 不处理 | 目的是预测,保留原模型 | 单个系数的区间仍然很宽 |
怎么确认已经解决
三个判据:所有变量的 VIF 都小于 5;条件指数里没有同一行大于 30 且有两个及以上变量方差比例大于 0.5 的主成分;处理后关心的那个系数的置信区间不再宽得无法解读。三条都过关,才算解决。
条件指数要结合方差分解比例读。本例第一个主成分的条件指数是 20.36,两个变量的比例都超过 0.5,但条件指数没到 30,所以不算严重;满足两个条件的主成分有 0 个,报告的总体判断是无明显多重共线性。

下图是变量之间的零阶相关热力图,红色为正,蓝色为负,颜色越深相关越强。相关最高的一对是工作压力与情绪耗竭,r=0.648,没有一对 |r| 达到 0.8。

两两相关都不高,并不等于没有共线性:一个变量可能近似等于其余若干变量的线性组合,所以还要看 VIF 和条件指数。下图是第三张卡的各变量 VIF 柱状图。

多重共线性常见错误
- 看到条件数 20.36 就判严重共线:报告把它判为弱到中度,满足条件指数与方差分解判据的主成分有 0 个。
- 把天然共线的变量当成问题去处理:哑变量组内部、主效应与它的交互项之间天然相关,VIF 偏高是结构造成的,先弄清是不是这种情形再决定。
- 只看两两相关:本例最大的相关 r=0.648,没有一对达到 0.8,仍要看 VIF 与条件指数。
- 一看到 VIF 偏高就删变量:预测为目的时较高的 VIF 常常可以不处理,要先看研究目的和样本量。
把结果带进论文:导出与会员
VIF 诊断表、条件指数表和热力图导出后可以放进论文附录。分析和查看结果不用登录;开通会员后可导出 Word / PDF 报告、使用 AI 解读。
延伸阅读
常见问题
- 多重共线性怎么解决?
- 先判断是否真的严重:VIF 大于 10,或条件指数大于 30 且同一行有两个及以上变量的方差分解比例大于 0.5。严重时可以剔除冗余变量、把含义相近的变量合并成综合指标、改用岭回归或 Lasso 回归;以预测为目的时,较高的 VIF 常常可以不处理。
- VIF 大于 10 一定要处理吗?
- 不一定。10 只是常用的经验阈值,没有分布理论支撑。要同时看研究目的是预测还是解释、样本量有多大、以及关心的系数置信区间宽到什么程度。共线性不影响整体 R² 与整体 F 检验,伤的是单个系数。
- VIF 和容忍度是什么关系?
- 容忍度是 VIF 的倒数,等于 1 减去该变量被其余变量解释的方差占比。本例情绪耗竭得分的容忍度是 0.516,辅助回归 R² 是 0.484。