Regularitas dan Keterkaitan dalam Data

Regularitas dan Keterkaitan dalam Data

Dalam analisis statistik, keterkaitan (relationship) antara variabel-variabel menjadi penting. Salah satu metode untuk memahami keterkaitan ini adalah dengan menggunakan Q-Q plot. Dalam artikel ini, kita akan membahas penggunaan Q-Q plot untuk memeriksa apakah data berada pada distribusi normal atau tidak.

Skewed to the Right

Pertama, kita akan melihat contoh data yang terdistribusi ke kanan (skewed to the right). Dalam contoh ini, kita menggunakan distribusi eksponensial dengan parameter lambda = 3. Berikut adalah kode R untuk membuat Q-Q plot dan plot densitas:

par(mfrow = c(1, 2))
qqnorm(scale(x), pch = 16, cex = 1, col = "darkgray")
qqline(scale(x))

plot(density(scale(x)), 
 xlim = c(-3, 6), 
 ylim = c(0, 0.8), 
 lwd = 1.5, col = "red", 
 main = "Skewed to the right: X ~ exp(lambda = 3)")
z <- seq(-3, 6, by = 0.01)
lines(z, dnorm(z), lwd = 1.5, col = "black")
legend("topright", legend = c("Theoretical N(0, 1)", "Estimated density of the sample"), 
 lty = 1, lwd = 1.5, bty = "n", 
 col = c("black", "red"))

Skewed to the Left

Kemudian, kita akan melihat contoh data yang terdistribusi ke kiri (skewed to the left). Dalam contoh ini, kita menggunakan distribusi beta dengan parameter shape1 = 4 dan shape2 = 1. Berikut adalah kode R untuk membuat Q-Q plot dan plot densitas:

par(mfrow = c(1, 2))
qqnorm(scale(x), pch = 16, cex = 1, col = "darkgray")
qqline(scale(x))

plot(density(scale(x)), 
 xlim = c(-5, 4), 
 ylim = c(0, 0.6), 
 lwd = 1.5, col = "red", 
 main = "Skewed to the left: X ~ beta(4, 1)")
z <- seq(-4, 4, by = 0.01)
lines(z, dnorm(z), lwd = 1.5, col = "black")
legend("topright", legend = c("Theoretical N(0, 1)", "Estimated density of the sample"), 
 lty = 1, lwd = 1.5, bty = "n", 
 col = c("black", "red"))

Q-Q plot for Chi-Square Distribution

Selain itu, kita juga dapat menggunakan Q-Q plot untuk memeriksa distribusi chi-square. Berikut adalah kode R untuk membuat Q-Q plot:

set.seed(100)
y <- rchisq(500, df = 3)
x <- qchisq(ppoints(500), # 500 quantiles 생성
 df = 3)
qqplot(x, y, 
 main = expression("Q-Q plot for" ~~ {chi^2}[nu == 3]))
qqline(y, distribution = function(p) qchisq(p, df = 3), col = "red")

Application

Dalam aplikasinya, kita dapat menggunakan Q-Q plot untuk memeriksa distribusi data yang diperoleh dari suatu survei. Berikut adalah contoh penggunaan Q-Q plot dengan ggpubr package:

ggpubr::ggqqplot(x = "zvalue", 
 color = "Species", 
 facet.by = c("Species", "Measures"), 
 palette = c("#00AFBB", "#E7B800", "#FC4E07"), 
 ggtheme = ggpubr::theme_pubclean(base_size = 15)) 

Dalam kode di atas, kita menggunakan iris dataset untuk memeriksa distribusi z-score dari setiap variabel dan species. Q-Q plot ini dapat membantu kita dalam memahami keterkaitan antara variabel-variabel dan memeriksa apakah data berada pada distribusi normal atau tidak.


Dalam artikel ini, kita telah membahas penggunaan Q-Q plot untuk memeriksa distribusi data. Kita telah melihat contoh data yang terdistribusi ke kanan dan kiri, serta menggunakan distribusi chi-square sebagai contoh lain. Selain itu, kita juga telah membahas aplikasi Q-Q plot dengan ggpubr package. Dalam konklusi, Q-Q plot dapat menjadi salah satu alat yang berguna dalam memahami keterkaitan antara variabel-variabel dan memeriksa distribusi data.