Phát hiện và xử lý đa cộng tuyến

Phân tích nhân sự: Dự đoán nghỉ việc bằng R

Anurag Gupta

People Analytics Practitioner

Hiểu về tương quan

Tương quan đo mức độ liên hệ giữa hai biến số dạng số

Phân tích nhân sự: Dự đoán nghỉ việc bằng R

Phân tích nhân sự: Dự đoán nghỉ việc bằng R

Tính tương quan trong R

# Calculate the correlation coefficient
cor(train_set$emp_age, train_set$compensation)
0.6117855
Phân tích nhân sự: Dự đoán nghỉ việc bằng R

Đa cộng tuyến là gì?

Đa cộng tuyến xảy ra khi một biến độc lập có quan hệ tuyến tính mạnh với một tập gồm hai biến độc lập trở lên.

Phân tích nhân sự: Dự đoán nghỉ việc bằng R

Cách phát hiện đa cộng tuyến?

VIF (Variance Inflation Factor)
# Load car package 
library(car)

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

# Calculate VIF  
vif(multi_log)
Phân tích nhân sự: Dự đoán nghỉ việc bằng R

Hệ số phóng đại phương sai

                                     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
.....

Phân tích nhân sự: Dự đoán nghỉ việc bằng R

Quy tắc kinh nghiệm để diễn giải VIF

VIF Diễn giải
1 Không tương quan
Từ 1 đến 5 Tương quan vừa
Lớn hơn 5 Tương quan mạnh
Phân tích nhân sự: Dự đoán nghỉ việc bằng R

Cách xử lý đa cộng tuyến

  • Bước 1: Tính VIF của mô hình
  • Bước 2: Xác định biến nào có VIF lớn hơn 5
    • Bước 2a: Loại biến khỏi mô hình nếu VIF là 5
    • Bước 2b: Nếu có nhiều biến có VIF > 5, chỉ loại biến có VIF lớn nhất
  • Bước 3: Lặp lại bước 1 và 2 cho đến khi VIF của từng biến đều < 5
Phân tích nhân sự: Dự đoán nghỉ việc bằng R

Loại biến khỏi mô hình

new_model <- glm(dependent_variable ~ . - variable_to_remove, 
                 family = "binomial", data = dataset)
Phân tích nhân sự: Dự đoán nghỉ việc bằng R

Cùng luyện tập nào!

Phân tích nhân sự: Dự đoán nghỉ việc bằng R

Preparing Video For Download...