ฉันกำลังค้นหาวิธี (มองเห็น) อธิบายความสัมพันธ์เชิงเส้นอย่างง่ายกับนักเรียนปีแรก
วิธีการมองภาพแบบดั้งเดิมคือการให้พล็อตกระจาย Y ~ X ที่มีเส้นถดถอยตรง
เมื่อเร็ว ๆ นี้ฉันมาด้วยความคิดที่จะขยายกราฟิกประเภทนี้โดยการเพิ่มพล็อตอีก 3 ภาพทิ้งฉันไว้กับ: พล็อตกระจายของ y ~ 1 จากนั้น y ~ x, ที่เหลือ (y ~ x) ~ x และสุดท้าย ของที่เหลือ (y ~ x) ~ 1 (อยู่กึ่งกลางค่ากลาง)
นี่คือตัวอย่างของการสร้างภาพข้อมูล:
และรหัส R เพื่อผลิตมัน:
set.seed(345)
x <- runif(50) * 10
y <- x +rnorm(50)
layout(matrix(c(1,2,2,2,2,3 ,3,3,3,4), 1,10))
plot(y~rep(1, length(y)), axes = F, xlab = "", ylim = range(y))
points(1,mean(y), col = 2, pch = 19, cex = 2)
plot(y~x, ylab = "", )
abline(lm(y~x), col = 2, lwd = 2)
plot(c(residuals(lm(y~x)) + mean(y))~x, ylab = "", ylim = range(y))
abline(h =mean(y), col = 2, lwd = 2)
plot(c(residuals(lm(y~x)) + mean(y))~rep(1, length(y)), axes = F, xlab = "", ylab = "", ylim = range(y))
points(1,mean(y), col = 2, pch = 19, cex = 2)
ซึ่งทำให้ฉันมีคำถาม: ฉันขอขอบคุณข้อเสนอแนะใด ๆเกี่ยวกับวิธีการปรับปรุงกราฟนี้ (ด้วยข้อความเครื่องหมายหรือการสร้างภาพข้อมูลที่เกี่ยวข้องประเภทอื่น ๆ ) การเพิ่มรหัส R ที่เกี่ยวข้องก็จะดีเช่นกัน
ทิศทางเดียวคือการเพิ่มข้อมูลของ R ^ 2 (ไม่ว่าจะเป็นข้อความหรือโดยการเพิ่มบรรทัดที่แสดงขนาดของความแปรปรวนก่อนและหลังการนำ x) ตัวเลือกอื่นคือการเน้นจุดหนึ่งและแสดงว่า "ดีขึ้นกว่าเดิม" อธิบาย "ขอบคุณบรรทัดการถดถอย ข้อมูลใด ๆ ที่จะได้รับการชื่นชม
require(mlbench) ; cor( mlbench.smiley()$x ); plot(mlbench.smiley()$x)