Saya mencari cara (secara visual) menjelaskan korelasi linier sederhana untuk siswa tahun pertama.
Cara klasik untuk memvisualisasikan adalah dengan memberikan plot sebaran Y ~ X dengan garis regresi lurus.
Baru-baru ini, saya datang dengan ide untuk memperluas jenis grafik ini dengan menambahkan ke plot 3 lebih banyak gambar, meninggalkan saya dengan: plot pencar y ~ 1, kemudian dari y ~ x, resid (y ~ x) ~ x dan terakhir residu (y ~ x) ~ 1 (berpusat pada rata-rata)
Berikut ini contoh visualisasi tersebut:
Dan kode R untuk memproduksinya:
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)
Yang mengarahkan saya ke pertanyaan saya: Saya akan menghargai setiap saran tentang bagaimana grafik ini dapat ditingkatkan (baik dengan teks, tanda, atau jenis visualisasi lain yang relevan). Menambahkan kode R yang relevan juga akan menyenangkan.
Satu arah adalah untuk menambahkan beberapa informasi dari R ^ 2 (baik dengan teks, atau dengan entah bagaimana menambahkan garis menyajikan besarnya varians sebelum dan setelah pengenalan x) Pilihan lain adalah untuk menyoroti satu titik dan menunjukkan bagaimana itu "lebih baik menjelaskan "terima kasih kepada garis regresi. Masukan apa pun akan dihargai.
require(mlbench) ; cor( mlbench.smiley()$x ); plot(mlbench.smiley()$x)