Apakah menggunakan matriks korelasi untuk memilih prediktor untuk regresi benar?


17

Beberapa hari yang lalu, seorang psikolog-peneliti saya mengatakan kepada saya tentang metodenya untuk memilih variabel ke model regresi linier. Saya kira itu tidak baik, tetapi saya perlu meminta orang lain untuk memastikan. Metodenya adalah:

Lihatlah matriks korelasi antara semua variabel (termasuk Variabel Dependen Y) dan pilih prediktor Xs tersebut, yang paling berkorelasi dengan Y.

Dia tidak menyebutkan kriteria apa pun. T: Apakah dia benar?

[Saya pikir metode seleksi ini salah, karena banyak hal, seperti teori yang mengatakan prediktor mana yang harus dipilih, atau bahkan menghilangkan bias variabel (OVB).]


Saya menyarankan mengubah judul menjadi "Apakah menggunakan matriks korelasi untuk memilih prediktor untuk regresi benar?" atau sesuatu yang serupa agar lebih informatif. Contoh tandingan sederhana untuk pertanyaan Anda adalah variabel yang memiliki korelasi 1 dengan variabel dependen - Anda mungkin tidak ingin menggunakan yang ini dalam model Anda.
Tim

3
Ada beberapa logika untuk metode ini, tetapi hanya berfungsi jika Anda dibatasi untuk memilih satu regresi. Jika Anda dapat memilih beberapa, metode ini rusak. Itu karena kombinasi linear dari beberapa X yang hanya berkorelasi lemah dengan Y mungkin memiliki korelasi yang lebih besar dengan Y daripada kombinasi linear dari beberapa X yang sangat berkorelasi dengan Y. Ingat bahwa regresi berganda adalah tentang kombinasi linear, bukan hanya individu efek ...
Richard Hardy

1
Korelasi
ρX,Y=Cov(X,Y)σXσY
hanyalah kemiringan regresi standar
β^1=Cov(X,Y)σX
untuk regresi sederhana dengan satu variabel independen. Jadi pendekatan ini hanya memungkinkan Anda untuk menemukan variabel independen dengan nilai terbesar untuk parameter slope, tetapi semakin rumit dengan beberapa variabel independen.
Tim

2
Balasan ini mengonfirmasi pemikiran saya tentang 'metode' ini, namun banyak psikolog menggunakan jenis pemilihan variabel ini :(
Lil'Lobster

Ini terdengar seperti 'Leekasso' .
steveo'america

Jawaban:


17

Jika, karena alasan tertentu, Anda hanya akan memasukkan satu variabel dalam model Anda, lalu memilih prediktor yang memiliki korelasi tertinggi dengan memiliki beberapa keunggulan. Dari model regresi yang mungkin dengan hanya satu prediktor, maka model ini adalah yang dengan koefisien regresi terstandarisasi tertinggi dan juga (karena adalah kuadrat dalam regresi linier sederhana ) koefisien determinasi tertinggi .R 2 ryR2r

Tetapi tidak jelas mengapa Anda ingin membatasi model regresi Anda menjadi satu prediktor jika Anda memiliki beberapa data. Seperti yang disebutkan dalam komentar, hanya melihat korelasi tidak berfungsi jika model Anda mungkin menyertakan beberapa variabel. Misalnya, dari matriks sebar ini, Anda mungkin berpikir bahwa prediktor untuk yang harus Anda sertakan dalam model Anda adalah (korelasi 0,824) dan (korelasi 0,782) tetapi (korelasi 0,134) bukan merupakan prediktor yang berguna.x 1 x 2 x 3yx1x2x3

Matriks sebar plot variabel berkorelasi

Tapi Anda salah - pada kenyataannya dalam contoh ini, tergantung pada dua variabel independen, dan , tetapi tidak secara langsung pada . Namun sangat berkorelasi dengan , yang mengarah ke korelasi dengan juga. Melihat korelasi antara dan dalam isolasi, ini mungkin menyarankan adalah prediktor yang baik dari . Tetapi begitu efek dari secara parsial dikeluarkan dengan memasukkan dalam model, tidak ada hubungan seperti itu yang tersisa.x 1 x 3 x 2 x 2 x 1 y y x 2 x 2 y x 1 x 1yx1x3x2x2x1yyx2x2yx1x1

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

Ukuran sampel ini cukup besar untuk mengatasi masalah multikolinieritas dalam estimasi koefisien untuk dan . Koefisien diperkirakan mendekati nol, dan dengan nilai p tidak signifikan . Koefisien sebenarnya adalah nol. Intersepsi dan lereng untuk dan diperkirakan mendekati nilai sebenarnya masing-masing 5, 3 dan 0,5. Perhatikan bahwa ditemukan dengan benar sebagai prediktor yang signifikan, meskipun ini kurang jelas dari matriks pencar.x1x2x2x1x3x3

Dan ini adalah contoh yang bahkan lebih buruk:

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

Di sini tergantung pada prediktor (tidak berkorelasi) , dan - sebenarnya kemiringan regresi sebenarnya adalah satu untuk masing-masing. Itu tidak tergantung pada variabel keempat, , tetapi karena cara variabel tersebut berkorelasi dengan masing-masing , dan , itu akan menjadi yang menonjol dalam matriks sebar dan matriks korelasi (korelasinya dengan adalah 0,583, sementara yang lain di bawah 0,4). Jadi memilih variabel dengan korelasi tertinggi dengan sebenarnya dapat menemukan variabel yang tidak termasuk dalam model sama sekali.yx1x2x3x4x1x2x3x4yy


Tapi ... apakah semua pemikiran berlaku untuk situasi, ketika 'sesama psikolog' ini memilih - katakan - 4 dari 10 variabel Xs, yang berkorelasi tinggi dengan Y (koefisien korelasi <0,7), meninggalkan enam Xs lain yang berkorelasi sedang atau tidak begitu banyak dengan Y?
Lil'Lobster

1
@ Lily Ketika saya punya waktu saya ingin menambahkan contoh untuk jawaban ini, di mana variabel harus dimasukkan dalam model yang memiliki (sebelum kita parsial variabel lain keluar) korelasi nol dengan . Saya juga menyarankan Anda mencari konsep perancu dan korelasi palsu , yang tentunya relevan dalam psikologi. y
Silverfish

0

Anda dapat menjalankan analisis regresi bertahap dan membiarkan perangkat lunak memilih variabel berdasarkan nilai F. Anda juga bisa melihat nilai Adjusted R ^ 2 ketika Anda menjalankan regresi setiap kali, untuk melihat apakah menambahkan variabel baru yang berkontribusi pada model Anda. Model Anda mungkin memiliki masalah multikolinieritas jika Anda hanya menggunakan matriks korelasi dan memilih variabel dengan korelasi kuat. Semoga ini membantu!


6
Seleksi bertahap mengarah ke masalah yang sama seperti metode yang dijelaskan oleh OP: stata.com/support/faqs/statistics/stepwise-regress-problems juga mencatat bahwa pertanyaannya adalah tentang metode tertentu ini dan bukan tentang mencari metode alternatif.
Tim

2
Ini adalah metode yang sangat mendasar untuk pemilihan model - jika tujuan Anda adalah penjelasan varian secara ketat, langkah demi langkah menggunakan R2 mungkin tepat, tetapi jika Anda tertarik pada inferensi, prediksi, pengujian hipotesis, dll., Maka Anda perlu berpikir jauh melampaui R2. (dan mungkin bahkan mengabaikan R2).
robin.datadrivers
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.