Là sử dụng ma trận tương quan để chọn dự đoán cho hồi quy có đúng không?


17

Vài ngày trước, một nhà nghiên cứu tâm lý học của tôi đã nói với tôi về phương pháp của anh ấy để chọn các biến cho mô hình hồi quy tuyến tính. Tôi đoán nó không tốt, nhưng tôi cần phải hỏi người khác để đảm bảo. Phương pháp là:

Nhìn vào ma trận tương quan giữa tất cả các biến (bao gồm cả biến phụ thuộc Y) và chọn các biến dự đoán X đó, tương quan nhiều nhất với Y.

Ông không đề cập đến bất kỳ tiêu chí nào. Q: Anh ấy có đúng không?

[Tôi nghĩ rằng phương pháp lựa chọn này là sai, vì nhiều thứ, giống như lý thuyết cho biết nên chọn dự đoán nào, hoặc thậm chí bỏ qua sai lệch biến (OVB).]


Tôi muốn đề nghị thay đổi tiêu đề thành "Sử dụng ma trận tương quan để chọn dự đoán cho hồi quy có đúng không?" hoặc một cái gì đó tương tự để có nhiều thông tin hơn. Một ví dụ đơn giản cho câu hỏi của bạn là một biến có tương quan 1 với biến phụ thuộc - bạn có thể sẽ không muốn sử dụng biến này trong mô hình của mình.
Tim

3
Có một số logic cho phương thức, nhưng nó chỉ hoạt động nếu bạn bị hạn chế chọn chính xác một biến hồi quy. Nếu bạn có thể chọn một vài, phương pháp này phá vỡ. Đó là bởi vì một tổ hợp tuyến tính của một vài X chỉ tương quan yếu với Y có thể có tương quan lớn hơn với Y so với kết hợp tuyến tính của một vài X có tương quan mạnh với Y. Nhắc lại rằng nhiều hồi quy là về các kết hợp tuyến tính, không chỉ riêng lẻ hiệu ứng ...
Richard Hardy

1
Tương quan chỉ được chuẩn độ dốc hồi quy β 1=Cov(X,Y)
ρX,Y=Cov(X,Y)σXσY
cho hồi quy đơn giản với một biến độc lập. Vì vậy, cách tiếp cận này chỉ cho phép bạn tìm biến độc lập có giá trị lớn nhất cho tham số độ dốc, nhưng nó trở nên phức tạp hơn với nhiều biến độc lập.
β^1=Cov(X,Y)σX
Tim

2
Những câu trả lời này xác nhận suy nghĩ của tôi về 'phương pháp' này, tuy nhiên nhiều nhà tâm lý học sử dụng loại lựa chọn biến này :(
Lil'Lobster 24/2/2015

Điều này nghe giống như 'Leekasso' .
steveo'america

Câu trả lời:


17

Nếu, vì một số lý do, bạn sẽ chỉ bao gồm một biến trong mô hình của mình, sau đó chọn dự đoán có tương quan cao nhất với có một số lợi thế. Trong số các mô hình hồi quy có thể chỉ có một yếu tố dự báo, thì mô hình này là mô hình có hệ số hồi quy chuẩn hóa cao nhất và cũng (vì R 2 là bình phương r trong hồi quy tuyến tính đơn giản ) hệ số xác định cao nhất .yR2r

Nhưng không rõ lý do tại sao bạn muốn hạn chế mô hình hồi quy của mình thành một công cụ dự đoán nếu bạn có sẵn dữ liệu cho một số. Như đã đề cập trong các bình luận, chỉ cần nhìn vào các mối tương quan sẽ không hoạt động nếu mô hình của bạn có thể bao gồm một số biến. Ví dụ: từ ma trận phân tán này, bạn có thể nghĩ rằng các yếu tố dự đoán cho bạn nên đưa vào mô hình của mình là x 1 (tương quan 0.824) và x 2 (tương quan 0.782) nhưng x 3 (tương quan 0.134) không phải là một yếu tố dự đoán hữu ích.yx1x2x3

Ma trận biểu đồ phân tán các biến tương quan

Nhưng bạn đã sai - thực tế trong ví dụ này, phụ thuộc vào hai biến độc lập là x 1x 3 , nhưng không trực tiếp trên x 2 . Tuy nhiên x 2 có tương quan cao với x 1 , điều này cũng dẫn đến tương quan với y . Nhìn vào mối tương quan giữa yx 2yx1x3x2x2x1yyx2 trong sự cô lập, điều này có thể cho thấy là một yếu tố dự đoán tốt về y . Nhưng một khi các hiệu ứng của x 1 được loại bỏ bằng cách bao gồm x 1x2yx1x1 trong mô hình, không có mối quan hệ như vậy vẫn còn.

require(MASS) #for mvrnorm 
set.seed(42) #so reproduces same result

Sigma <- matrix(c(1,0.95,0,0.95,1,0,0,0,1),3,3)
N <- 1e4
x <- mvrnorm(n=N, c(0,0,0), Sigma, empirical=TRUE)
data.df <- data.frame(x1=x[,1], x2=x[,2], x3=x[,3])
# y depends on x1 strongly and x3 weakly, but not directly on x2
data.df$y <- with(data.df, 5 + 3*x1 + 0.5*x3) + rnorm(N, sd=2)

round(cor(data.df), 3)
#       x1    x2    x3     y
# x1 1.000 0.950 0.000 0.824
# x2 0.950 1.000 0.000 0.782
# x3 0.000 0.000 1.000 0.134
# y  0.824 0.782 0.134 1.000
# Note: x1 and x2 are highly correlated
# Since y is highly correlated with x1, it is with x2 too
# y depended only weakly on x3, their correlation is much lower

pairs(~y+x1+x2+x3,data=data.df, main="Scatterplot matrix")
# produces scatter plot above

model.lm <- lm(data=data.df, y ~ x1 + x2 + x3)
summary(model.lm)

# Coefficients:
#             Estimate Std. Error t value Pr(>|t|)    
# (Intercept)  4.99599    0.02018 247.631   <2e-16 ***
# x1           3.03724    0.06462  47.005   <2e-16 ***
# x2          -0.02436    0.06462  -0.377    0.706    
# x3           0.49185    0.02018  24.378   <2e-16 ***

Cỡ mẫu này đủ lớn để khắc phục các vấn đề về đa cộng đồng trong việc ước tính các hệ số cho x 2 . Hệ số của x 2x1x2x2x1x3x3

Và đây là một ví dụ thậm chí còn tồi tệ hơn:

Sigma <- matrix(c(1,0,0,0.5,0,1,0,0.5,0,0,1,0.5,0.5,0.5,0.5,1),4,4)
N <- 1e4
x <- mvrnorm(n=N, c(0,0,0,0), Sigma, empirical=TRUE)
data.df <- data.frame(x1=x[,1], x2=x[,2], x3=x[,3], x4=x[,4])
# y depends on x1, x2 and x3 but not directly on x4
data.df$y <- with(data.df, 5 + x1 + x2 + x3) + rnorm(N, sd=2)

round(cor(data.df), 3)
#       x1    x2    x3    x4     y
# x1 1.000 0.000 0.000 0.500 0.387
# x2 0.000 1.000 0.000 0.500 0.391
# x3 0.000 0.000 1.000 0.500 0.378
# x4 0.500 0.500 0.500 1.000 0.583
# y  0.387 0.391 0.378 0.583 1.000

pairs(~y+x1+x2+x3+x4,data=data.df, main="Scatterplot matrix")

model.lm <- lm(data=data.df, y ~ x1 + x2 + x3 +x4)
summary(model.lm)
# Coefficients:
#             Estimate Std. Error t value Pr(>|t|)    
# (Intercept)  4.98117    0.01979 251.682   <2e-16 ***
# x1           0.99874    0.02799  35.681   <2e-16 ***
# x2           1.00812    0.02799  36.016   <2e-16 ***
# x3           0.97302    0.02799  34.762   <2e-16 ***
# x4           0.06002    0.03958   1.516    0.129

yx1x2x3x4x1x2x3x4yy thực sự có thể tìm thấy biến không thuộc về mô hình nào cả.


Nhưng ... liệu tất cả có suy nghĩ áp dụng cho tình huống hay không, khi 'nhà tâm lý học đồng nghiệp' này chọn - nói - 4 trong số 10 biến X, có tương quan cao với Y (tương quan coefs <0,7), để lại sáu X khác có tương quan vừa phải hay không có quá nhiều với Y không?
Lil'Lobster 24/2/2015

1
y

0

Bạn có thể chạy phân tích hồi quy từng bước và để phần mềm chọn các biến dựa trên các giá trị F. Bạn cũng có thể xem giá trị R ^ 2 đã điều chỉnh khi bạn chạy hồi quy mỗi lần, để xem liệu có thêm bất kỳ biến mới nào đóng góp cho mô hình của bạn không. Mô hình của bạn có thể có vấn đề về đa cộng tuyến nếu bạn chỉ đi theo ma trận tương quan và chọn các biến có tương quan mạnh. Hi vọng điêu nay co ich!


6
Lựa chọn theo từng bước dẫn đến các vấn đề tương tự như phương pháp được mô tả bởi OP: stata.com/support/faqs/statistic/stepwise-regression-probols cũng lưu ý rằng câu hỏi là về phương pháp nhất định này chứ không phải tìm kiếm các phương pháp thay thế.
Tim

2
Đây là một phương pháp rất cơ bản để lựa chọn mô hình - nếu mục tiêu của bạn là giải thích chính xác về phương sai, từng bước sử dụng R2 có thể phù hợp, nhưng nếu bạn quan tâm đến suy luận, dự đoán, kiểm tra giả thuyết, v.v., thì bạn cần phải nghĩ xa hơn R2 (và thậm chí có thể bỏ qua R2).
robin.datadrivers 24/2/2015
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.