Виявлення та усунення мультиколінеарності

HR Analytics: прогнозування плинності кадрів у R

Anurag Gupta

People Analytics Practitioner

Розуміння кореляції

Кореляція — це міра зв'язку між двома числовими змінними

HR Analytics: прогнозування плинності кадрів у R

HR Analytics: прогнозування плинності кадрів у R

Обчислення кореляції в R

# Обчисліть коефіцієнт кореляції
cor(train_set$emp_age, train_set$compensation)
0.6117855
HR Analytics: прогнозування плинності кадрів у R

Що таке мультиколінеарність?

Мультиколінеарність виникає, коли одна незалежна змінна сильно колінеарна з набором двох або більше незалежних змінних.

HR Analytics: прогнозування плинності кадрів у R

Як виявити мультиколінеарність?

VIF (коефіцієнт інфляції дисперсії)
# Завантажте пакет car 
library(car)

# Модель логістичної регресії
multi_log <- glm(turnover ~ ., family = "binomial",
                 data = train_set_multi)

# Обчисліть VIF  
vif(multi_log)
HR Analytics: прогнозування плинності кадрів у R

Коефіцієнт інфляції дисперсії

                                     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

Давайте потренуємось!

HR Analytics: прогнозування плинності кадрів у R

Preparing Video For Download...