ความสัมพันธ์ระหว่างตัวแปร (IV) และตัวแปรต่อเนื่อง (DV)


77

ฉันมีตัวแปรเล็กน้อย (หัวข้อที่แตกต่างกันของการสนทนา, เขียนเป็น topic0 = 0 ฯลฯ ) และจำนวนของตัวแปรสเกล (DV) เช่นความยาวของการสนทนา

ฉันจะหาค่าสหสัมพันธ์ระหว่างตัวแปรที่ระบุและสเกลได้อย่างไร


3
การวัดความสัมพันธ์ที่เป็นธรรมชาติที่สุดของ assosiation / สหสัมพันธ์ระหว่างตัวแปรที่ระบุ (ใช้เป็น IV) และตัวแปรสเกล
ttnphns

หากฉันเข้าใจถูกต้องคุณต้องการพูดอะไรบางอย่างเกี่ยวกับหัวข้อที่สัมพันธ์กันของการสนทนา (เช่น IV?) และระยะเวลาการสนทนา (DV) '' เช่น hypo = topic 1 หมายถึงการสนทนาที่สั้นกว่าหัวข้อ 2 '' อย่างมากถ้าตัวอย่างนี้เป็นสิ่งที่คุณหมายถึง: คุณจะใช้ ANOVA สำหรับสิ่งนี้ (ถ้า MANOVA ของ DV มากกว่าหรือ anova หลายแห่ง) นี่คือสิ่งที่คุณหมายถึงหรือไม่ ประโยคที่มีคำถามของคุณค่อนข้างคลุมเครือ ..
Steven B. Peutz


คำตอบ:


160

ชื่อของคำถามนี้แสดงให้เห็นถึงความเข้าใจผิดพื้นฐาน ความคิดพื้นฐานของความสัมพันธ์คือ "เมื่อตัวแปรหนึ่งเพิ่มขึ้นอีกตัวแปรเพิ่มขึ้น (ความสัมพันธ์เชิงบวก), ลด (สหสัมพันธ์เชิงลบ) หรืออยู่เหมือนเดิม (ไม่มีสหสัมพันธ์)" ด้วยสเกลที่ความสัมพันธ์เชิงบวกที่สมบูรณ์แบบคือ +1 ไม่มีค่าสหสัมพันธ์เท่ากับ 0 และค่าสหสัมพันธ์เชิงลบที่สมบูรณ์แบบคือ -1 ความหมายของ "ดี" ขึ้นอยู่กับตัวชี้วัดของความสัมพันธ์ที่ถูกนำมาใช้สำหรับเพียร์สันสัมพันธ์มันหมายถึงจุดบนโกหกพล็อตที่กระจายขวาบนเส้นตรง (ลาดขึ้นไปสำหรับ 1 และลงสำหรับ -1) สำหรับSpearman ความสัมพันธ์ว่า จัดอันดับเห็นด้วยอย่างแน่นอน (หรือไม่เห็นด้วยอย่างยิ่งดังนั้นอันดับแรกจะถูกจับคู่กับครั้งสุดท้ายสำหรับ -1) และสำหรับเอกภาพของเคนดอลว่าการสังเกตทั้งหมดมีอันดับที่สอดคล้องกัน (หรือไม่ลงรอยกันสำหรับ -1) สัญชาตญาณสำหรับวิธีการทำงานในทางปฏิบัติสามารถรวบรวมได้จากความสัมพันธ์ของเพียร์สันสำหรับแผนการกระจายดังต่อไปนี้ ( เครดิตรูปภาพ ):

เพียร์สันสหสัมพันธ์สำหรับแผนการกระจายต่างๆ

xy

แผนการกระจายสำหรับสี่ของ Anscombe

x

data.df <- data.frame(
    topic = c(rep(c("Gossip", "Sports", "Weather"), each = 4)),
    duration  = c(6:9, 2:5, 4:7)
)
print(data.df)
boxplot(duration ~ topic, data = data.df, ylab = "Duration of conversation")

ซึ่งจะช่วยให้:

> print(data.df)
     topic duration
1   Gossip        6
2   Gossip        7
3   Gossip        8
4   Gossip        9
5   Sports        2
6   Sports        3
7   Sports        4
8   Sports        5
9  Weather        4
10 Weather        5
11 Weather        6
12 Weather        7

แปลงกล่องสำหรับข้อมูลปลอม

โดยใช้ "Gossip" เป็นระดับการอ้างอิงสำหรับ "หัวข้อ" และการกำหนดตัวแปรดัมมี่ไบนารีสำหรับ "กีฬา" และ "สภาพอากาศ" เราสามารถดำเนินการถดถอยหลายครั้ง

> model.lm <- lm(duration ~ topic, data = data.df)
> summary(model.lm)

Call:
lm(formula = duration ~ topic, data = data.df)

Residuals:
   Min     1Q Median     3Q    Max 
 -1.50  -0.75   0.00   0.75   1.50 

Coefficients:
             Estimate Std. Error t value Pr(>|t|)    
(Intercept)    7.5000     0.6455  11.619 1.01e-06 ***
topicSports   -4.0000     0.9129  -4.382  0.00177 ** 
topicWeather  -2.0000     0.9129  -2.191  0.05617 .  
---
Signif. codes:  0***0.001**0.01*0.05 ‘.’ 0.1 ‘ ’ 1 

Residual standard error: 1.291 on 9 degrees of freedom
Multiple R-squared: 0.6809,     Adjusted R-squared: 0.6099 
F-statistic:   9.6 on 2 and 9 DF,  p-value: 0.005861 

R2=0.6809R2R

> rsq <- summary(model.lm)$r.squared
> rsq
[1] 0.6808511
> sqrt(rsq)
[1] 0.825137

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

> print(model.lm$fitted)
  1   2   3   4   5   6   7   8   9  10  11  12 
7.5 7.5 7.5 7.5 3.5 3.5 3.5 3.5 5.5 5.5 5.5 5.5 

เพียงเพื่อตรวจสอบความสัมพันธ์ของเพียร์สันระหว่างค่าสังเกตและค่าติดตั้งคือ:

> cor(data.df$duration, model.lm$fitted)
[1] 0.825137

เราสามารถเห็นภาพนี้ในโครงเรื่องกระจาย:

plot(x = model.lm$fitted, y = data.df$duration,
     xlab = "Fitted duration", ylab = "Observed duration")
abline(lm(data.df$duration ~ model.lm$fitted), col="red")

แสดงสัมประสิทธิ์สหสัมพันธ์หลายค่าระหว่างค่าที่ตรวจพบและค่าติดตั้ง

จุดแข็งของความสัมพันธ์นี้มีลักษณะคล้ายกันมากกับแผนการแปลงสี่ของ Anscombe ซึ่งไม่น่าแปลกใจเพราะทุกคนมีความสัมพันธ์แบบเพียร์สันประมาณ 0.82

คุณอาจจะแปลกใจว่ามีตัวแปรอิสระเด็ดขาดผมเลือกที่จะทำ (หลาย) ถดถอยมากกว่าone-way ANOVA แต่ในความเป็นจริงสิ่งนี้กลายเป็นแนวทางที่เท่าเทียมกัน

library(heplots) # for eta
model.aov <- aov(duration ~ topic, data = data.df)
summary(model.aov)

สิ่งนี้ให้สรุปด้วยสถิติ F ที่เหมือนกันและp -value :

            Df Sum Sq Mean Sq F value  Pr(>F)   
topic        2     32  16.000     9.6 0.00586 **
Residuals    9     15   1.667                   
---
Signif. codes:  0***0.001**0.01*0.05 ‘.’ 0.1 ‘ ’ 1 

อีกครั้งรูปแบบ ANOVA ตรงกับความหมายของกลุ่มเช่นเดียวกับการถดถอย:

> print(model.aov$fitted)
  1   2   3   4   5   6   7   8   9  10  11  12 
7.5 7.5 7.5 7.5 3.5 3.5 3.5 3.5 5.5 5.5 5.5 5.5 

R2η2

> etasq(model.aov, partial = FALSE)
              eta^2
topic     0.6808511
Residuals        NA

ηη2RR2กทพ. กำลังสอง เนื่องจาก ANOVA นี้เป็นแบบทางเดียว (มีเพียงหนึ่งตัวทำนายหมวดหมู่), กทพ. บางส่วนนั้นเหมือนกับสกท., แต่สิ่งต่าง ๆ เปลี่ยนแปลงในตัวแบบที่มีตัวทำนายมากกว่า

> etasq(model.aov, partial = TRUE)
          Partial eta^2
topic         0.6808511
Residuals            NA

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


4
R0.82

ηRηη

r=0.9R=0.9ηRr

ηrR

eta21
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.