ใช้เมทริกซ์สหสัมพันธ์เพื่อเลือกตัวทำนายสำหรับการถดถอยที่ถูกต้องหรือไม่?


17

ไม่กี่วันที่ผ่านมานักวิจัยของฉันบอกฉันเกี่ยวกับวิธีการของเขาในการเลือกตัวแปรให้เป็นแบบจำลองการถดถอยเชิงเส้น ฉันเดาว่ามันไม่ดี แต่ฉันต้องถามคนอื่นเพื่อให้แน่ใจ วิธีการคือ:

ดูเมทริกซ์สหสัมพันธ์ระหว่างตัวแปรทั้งหมด (รวมถึงตัวแปร Dependent Y) และเลือกตัวทำนาย X เหล่านั้นซึ่งสัมพันธ์กับ Y มากที่สุด

เขาไม่ได้พูดถึงเกณฑ์ใด ๆ ถาม:เขาพูดถูกมั้ย

[ฉันคิดว่าวิธีการเลือกนี้ไม่ถูกต้องเนื่องจากมีหลายสิ่งหลายอย่างเช่นเป็นทฤษฎีที่บอกว่าควรเลือกตัวทำนายหรือละเว้นอคติตัวแปร (OVB)


ฉันขอแนะนำให้เปลี่ยนชื่อเป็น "ใช้เมทริกซ์สหสัมพันธ์เพื่อเลือกตัวทำนายสำหรับการถดถอยที่ถูกต้องหรือไม่" หรือสิ่งที่คล้ายกันเพื่อให้ข้อมูลเพิ่มเติม ตัวอย่างที่เรียบง่ายสำหรับคำถามของคุณคือตัวแปรที่มีความสัมพันธ์ 1 กับตัวแปรตาม - คุณอาจไม่ต้องการใช้ตัวอย่างนี้ในโมเดลของคุณ
ทิม

3
มีเหตุผลบางอย่างกับวิธีการนี้ แต่จะทำงานเฉพาะในกรณีที่คุณถูก จำกัด ให้เลือกหนึ่ง regressor หากคุณสามารถเลือกวิธีการนี้ได้ เป็นเพราะชุดค่าผสมเชิงเส้นของ Xs สองสามตัวที่มีความสัมพันธ์อย่างอ่อนเพียงอย่างเดียวกับ Y อาจมีความสัมพันธ์กับ Y ได้มากกว่าการรวมกันเชิงเส้นของ Xs สองสามตัวที่มีความสัมพันธ์อย่างยิ่งกับ Y จำได้ว่าการถดถอยหลายครั้ง ผลกระทบ ...
Richard Hardy

1
สหสัมพันธ์ เป็นมาตรฐานเพียงลาดถดถอย β 1=Coวี(X,Y)
ρX,Y=Cov(X,Y)σXσY
สำหรับการถดถอยอย่างง่ายด้วยตัวแปรอิสระหนึ่งตัว ดังนั้นวิธีนี้จะช่วยให้คุณค้นหาตัวแปรอิสระที่มีค่ามากที่สุดสำหรับพารามิเตอร์ความชัน แต่มันซับซ้อนมากขึ้นกับตัวแปรอิสระหลายตัว
β^1=Cov(X,Y)σX
ทิม

2
คำตอบเหล่านี้ยืนยันความคิดของฉันเกี่ยวกับ 'วิธีการ' แต่นักจิตวิทยาหลายคนใช้การเลือกตัวแปรชนิดนี้ :(
Lil'Lobster

เสียงนี้เช่น'Leekasso'
steveo'america

คำตอบ:


17

หากด้วยเหตุผลบางอย่างคุณจะรวมตัวแปรเพียงตัวเดียวในแบบจำลองของคุณแล้วเลือกตัวทำนายที่มีความสัมพันธ์สูงสุดกับyมีข้อดีหลายประการ จากตัวแบบการถดถอยที่เป็นไปได้โดยมีตัวทำนายเพียงตัวเดียวโมเดลนี้จะเป็นตัวที่มีค่าสัมประสิทธิ์การถดถอยมาตรฐานสูงสุดและ (เนื่องจากเป็นกำลังสองของrในการถดถอยเชิงเส้นอย่างง่ายR2r ) สัมประสิทธิ์การตัดสินใจสูงสุด

แต่ยังไม่ชัดเจนว่าทำไมคุณจึงต้องการ จำกัด รูปแบบการถดถอยของคุณไว้ที่ตัวทำนายหนึ่งตัวหากคุณมีข้อมูลสำหรับหลาย ๆ ตัว ดังที่ได้กล่าวไว้ในความคิดเห็นเพียงแค่ดูที่ความสัมพันธ์ไม่ทำงานหากแบบจำลองของคุณอาจมีตัวแปรหลายตัว ตัวอย่างเช่นจากเมทริกซ์การกระจายนี้คุณอาจคิดว่าตัวทำนายสำหรับคุณควรรวมไว้ในแบบจำลองของคุณคือx 1yx1 (ความสัมพันธ์ 0.824) และ (ความสัมพันธ์ 0.782) แต่ที่x 3 (ความสัมพันธ์ 0.134) ไม่ใช่ตัวทำนายที่มีประโยชน์x2x3

เมทริกซ์พล็อตกระจายของตัวแปรที่เกี่ยวข้อง

yx1x3x2x2x1yyx2x2yx1x1 ในโมเดลไม่มีความสัมพันธ์ดังกล่าว

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

x1x2x2x1x3x3

และนี่คือตัวอย่างที่แย่ยิ่งกว่า:

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 สามารถค้นหาตัวแปรที่ไม่ได้อยู่ในโมเดลได้เลย


แต่ ... ความคิดทั้งหมดนั้นนำไปใช้กับสถานการณ์หรือไม่เมื่อ 'นักจิตวิทยาเพื่อน' คนนี้เลือก - พูด - 4 ใน 10 ตัวแปร Xs นั้นมีความสัมพันธ์อย่างมากกับ Y (coefs สัมพันธ์ <0.7) ปล่อย Xs อีกหกคนที่มีความสัมพันธ์ปานกลางหรือไม่ มากด้วย Y?
Lil'Lobster

1
y

0

คุณสามารถเรียกใช้การวิเคราะห์การถดถอยขั้นตอนและให้ซอฟต์แวร์เลือกตัวแปรตามค่า F นอกจากนี้คุณยังสามารถดูค่า Adjusted R ^ 2 เมื่อคุณเรียกใช้การถดถอยในแต่ละครั้งเพื่อดูว่าการเพิ่มตัวแปรใหม่ใด ๆ ที่สนับสนุนโมเดลของคุณหรือไม่ แบบจำลองของคุณอาจมีปัญหาความหลากสีถ้าคุณไปตามเมทริกซ์สหสัมพันธ์และเลือกตัวแปรที่มีความสัมพันธ์กันมาก หวังว่านี่จะช่วยได้!


6
การเลือกแบบขั้นตอนนำไปสู่ปัญหาเช่นเดียวกับวิธีที่อธิบายโดย OP: stata.com/support/faqs/statistics/stepwise-regression-problemsนอกจากนี้ยังทราบว่าคำถามเกี่ยวกับวิธีการบางอย่างนี้และไม่เกี่ยวกับการค้นหาวิธีการอื่น
ทิม

2
นี่เป็นวิธีการพื้นฐานสำหรับการเลือกแบบจำลอง - หากเป้าหมายของคุณคือคำอธิบายความแปรปรวนอย่างเข้มงวดการใช้แบบ R2 แบบขั้นตอนอาจจะเหมาะสม แต่ถ้าคุณสนใจที่จะอนุมานทำนายทำนายทดสอบสมมติฐาน ฯลฯ คุณต้องคิดให้ไกลกว่า R2 (และบางทีอาจเพิกเฉย R2)
robin.datadrivers
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.