多重共线性(multicollinearity)问题

建立多元线性回归的前提之一是:不存在多重共线性(Multicollinearity)。检验变量之间是否存在共线性问题可以使用方差膨胀因子(Variance inflation factor, VIF)。其计算和作图代码如下:

安装、加载R包

# install.packages("performance")
# install.packages("see")
library(performance)
library(see)
  1. mtcars数据集为例,建立回归模型
linear_model <- lm(mpg ~ cyl + disp + hp + drat, data = mtcars)
  1. 计算VIF
check_collinearity(linear_model)
# # Check for Multicollinearity
# 
# Low Correlation
# 
# Parameter  VIF Increased SE
# hp      3.99         2.00
# drat    2.50         1.58
# 
# Moderate Correlation
# 
# Parameter  VIF Increased SE
# cyl    7.76         2.79
# disp  6.23         2.50
  1. 可视化VIF结果
plot(check_collinearity(linear_model))
image.png

结果解读:方差膨胀因子(Variance inflation factor, VIF)可以用于诊断变量间是否存在多重共线性。通常来说,VIF >5 或者 VIF > 10 则提示存在对模型造成危害的共线性问题。本例中 如果以VIF > 10作为存在共线性问题的标准,可以使用上述4个变量进行建模。

参考资料

  1. 微信公众号“R语言和统计”: 如何进行回归的多重共线性检验?这种清新脱俗的方法值得拥有!
  2. Package ‘performance’

你可能感兴趣的:(多重共线性(multicollinearity)问题)