检测与处理多重共线性

HR Analytics:用 R 预测员工流失

Anurag Gupta

People Analytics Practitioner

理解相关性

相关性衡量两个数值变量之间的关联

HR Analytics:用 R 预测员工流失

HR Analytics:用 R 预测员工流失

在 R 中计算相关性

# Calculate the correlation coefficient
cor(train_set$emp_age, train_set$compensation)
0.6117855
HR Analytics:用 R 预测员工流失

什么是多重共线性?

当一个自变量与两个或多个自变量的组合高度共线时,即发生多重共线性。

HR Analytics:用 R 预测员工流失

如何检测多重共线性?

VIF(方差膨胀因子)
# Load car package 
library(car)

# Logistic regression model
multi_log <- glm(turnover ~ ., family = "binomial",
                 data = train_set_multi)

# Calculate VIF  
vif(multi_log)
HR Analytics:用 R 预测员工流失

方差膨胀因子(VIF)

                                     GVIF Df GVIF^(1/(2*Df))
location                     2.318640e+00  2        1.233981
level                        5.716850e+06  1     2390.993458
gender                       1.262625e+00  1        1.123666
rating                       4.381767e+00  4        1.202835
mgr_rating                   2.471489e+00  4        1.119747
mgr_reportees                1.314709e+00  1        1.146608
mgr_tenure                   1.278559e+00  1        1.130734
compensation                 3.998338e+01  1        6.323241
percent_hike                 3.167576e+00  1        1.779769
hiring_score                 1.143613e+00  1        1.069399
hiring_source                2.000099e+00  6        1.059467
no_previous_companies_worked 3.291703e+00  1        1.814305
distance_from_home           1.355795e+00  1        1.164386
total_dependents             1.930188e+00  1        1.389312
marital_status               2.320518e+00  1        1.523325
education                    1.460697e+00  1        1.208593
.....

HR Analytics:用 R 预测员工流失

VIF 值的经验法则

VIF 解释
1 不相关
1 到 5 中度相关
> 5 高度相关
HR Analytics:用 R 预测员工流失

如何处理多重共线性?

  • 步骤 1:计算模型的 VIF
  • 步骤 2:检查是否有变量的 VIF > 5
    • 2a:若某变量 VIF 为 5,则从模型中移除
    • 2b:若多个变量 VIF > 5,仅移除 VIF 最高者
  • 步骤 3:重复步骤 1 和 2,直至各变量 VIF < 5
HR Analytics:用 R 预测员工流失

从模型中移除变量

new_model <- glm(dependent_variable ~ . - variable_to_remove, 
                 family = "binomial", data = dataset)
HR Analytics:用 R 预测员工流失

Vamos praticar!

HR Analytics:用 R 预测员工流失

Preparing Video For Download...