ฉันมีตัวแปรเล็กน้อย (หัวข้อที่แตกต่างกันของการสนทนา, เขียนเป็น topic0 = 0 ฯลฯ ) และจำนวนของตัวแปรสเกล (DV) เช่นความยาวของการสนทนา
ฉันจะหาค่าสหสัมพันธ์ระหว่างตัวแปรที่ระบุและสเกลได้อย่างไร
ฉันมีตัวแปรเล็กน้อย (หัวข้อที่แตกต่างกันของการสนทนา, เขียนเป็น topic0 = 0 ฯลฯ ) และจำนวนของตัวแปรสเกล (DV) เช่นความยาวของการสนทนา
ฉันจะหาค่าสหสัมพันธ์ระหว่างตัวแปรที่ระบุและสเกลได้อย่างไร
คำตอบ:
ชื่อของคำถามนี้แสดงให้เห็นถึงความเข้าใจผิดพื้นฐาน ความคิดพื้นฐานของความสัมพันธ์คือ "เมื่อตัวแปรหนึ่งเพิ่มขึ้นอีกตัวแปรเพิ่มขึ้น (ความสัมพันธ์เชิงบวก), ลด (สหสัมพันธ์เชิงลบ) หรืออยู่เหมือนเดิม (ไม่มีสหสัมพันธ์)" ด้วยสเกลที่ความสัมพันธ์เชิงบวกที่สมบูรณ์แบบคือ +1 ไม่มีค่าสหสัมพันธ์เท่ากับ 0 และค่าสหสัมพันธ์เชิงลบที่สมบูรณ์แบบคือ -1 ความหมายของ "ดี" ขึ้นอยู่กับตัวชี้วัดของความสัมพันธ์ที่ถูกนำมาใช้สำหรับเพียร์สันสัมพันธ์มันหมายถึงจุดบนโกหกพล็อตที่กระจายขวาบนเส้นตรง (ลาดขึ้นไปสำหรับ 1 และลงสำหรับ -1) สำหรับSpearman ความสัมพันธ์ว่า จัดอันดับเห็นด้วยอย่างแน่นอน (หรือไม่เห็นด้วยอย่างยิ่งดังนั้นอันดับแรกจะถูกจับคู่กับครั้งสุดท้ายสำหรับ -1) และสำหรับเอกภาพของเคนดอลว่าการสังเกตทั้งหมดมีอันดับที่สอดคล้องกัน (หรือไม่ลงรอยกันสำหรับ -1) สัญชาตญาณสำหรับวิธีการทำงานในทางปฏิบัติสามารถรวบรวมได้จากความสัมพันธ์ของเพียร์สันสำหรับแผนการกระจายดังต่อไปนี้ ( เครดิตรูปภาพ ):
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
> 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
> etasq(model.aov, partial = FALSE)
eta^2
topic 0.6808511
Residuals NA
กทพ. กำลังสอง เนื่องจาก ANOVA นี้เป็นแบบทางเดียว (มีเพียงหนึ่งตัวทำนายหมวดหมู่), กทพ. บางส่วนนั้นเหมือนกับสกท., แต่สิ่งต่าง ๆ เปลี่ยนแปลงในตัวแบบที่มีตัวทำนายมากกว่า
> etasq(model.aov, partial = TRUE)
Partial eta^2
topic 0.6808511
Residuals NA
อย่างไรก็ตามอาจเป็นไปได้ว่าทั้ง "สหสัมพันธ์" และ "สัดส่วนของความแปรปรวนอธิบาย" นั้นเป็นตัวชี้วัดขนาดของเอฟเฟกต์ที่คุณต้องการใช้ ตัวอย่างเช่นการโฟกัสของคุณอาจมากขึ้นเกี่ยวกับความแตกต่างระหว่างกลุ่ม คำถามและคำตอบนี้มีข้อมูลเพิ่มเติมเกี่ยวกับ eta squared, eta squared บางส่วนและทางเลือกที่หลากหลาย