1. Pendahuluan

Sebaran chi-kuadrat (χ²) merupakan salah satu sebaran probabilitas yang memiliki peran penting dalam bidang statistika inferensial. Sebaran ini digunakan secara luas dalam berbagai pengujian hipotesis, seperti uji kesesuaian (goodness of fit), uji kemandirian antar variabel dalam tabel kontingensi, serta uji keseragaman atau homogenitas varians antar kelompok. Secara teoritis, sebaran chi-kuadrat diperoleh dari penjumlahan kuadrat sejumlah variabel acak normal baku yang saling bebas, sehingga menghasilkan nilai yang tidak pernah negatif dan bersifat asimetris ke kanan. Bentuk sebaran ini ditentukan oleh derajat kebebasan (degrees of freedom), di mana semakin besar derajat kebebasan, bentuk sebarannya semakin mendekati distribusi normal. Dalam konteks analisis data, sebaran chi-kuadrat menjadi dasar bagi berbagai prosedur statistik yang bertujuan untuk menguji kesesuaian model, menilai hubungan antar variabel kategorik, serta mengevaluasi asumsi-asumsi tertentu dalam analisis varians. Oleh karena itu, pemahaman mengenai sifat dan karakteristik sebaran chi-kuadrat sangat penting dalam penerapan metode statistik yang akurat dan valid.

2. Definisi

Jika \(Z_1, \dots, Z_k\) adalah variabel acak independen berdistribusi normal standar, maka

\[X = \sum_{i=1}^k Z_i^2\]

mengikuti sebaran chi-square dengan derajat kebebasan \(k\) (ditulis \(\chi^2_k\)).

2.1 Fungsi kepadatan probabilitas (PDF)

Kode ini digunakan untuk menampilkan bentuk fungsi kepadatan sebaran chi-kuadrat (PDF) untuk beberapa nilai derajat kebebasan (df). Dengan kata lain, hasil grafik yang akan ditampilkan menunjukkan bagaimana bentuk kurva chi-kuadrat berubah ketika derajat kebebasan bertambah semakin besar df, kurvanya makin lebar dan mendekati normal.

# fungsi kepadatan untuk beberapa df
library(ggplot2)
dfs <- c(1, 2, 3, 5, 10)
xs <- seq(0, 30, length.out = 1000)
plot_df <- do.call(rbind, lapply(dfs, function(df) {
  data.frame(x = xs, y = dchisq(xs, df = df), df = factor(df))
}))

ggplot(plot_df, aes(x = x, y = y, colour = df)) +
  geom_line(linewidth = 1) +
  labs(title = "Fungsi Kepadatan Sebaran Chi-square",
       x = "x", y = "f(x)", colour = "df") +
  theme_minimal()

2.2 Fungsi distribusi kumulatif (CDF)

plot_df_cdf <- do.call(rbind, lapply(dfs, function(df) {
  data.frame(x = xs, y = pchisq(xs, df = df), df = factor(df))
}))

ggplot(plot_df_cdf, aes(x = x, y = y, colour = df)) +
  geom_line(linewidth = 1) +
  labs(title = "Fungsi Distribusi Kumulatif (CDF) - Chi-square",
       x = "x", y = "F(x)", colour = "df") +
  theme_minimal()

2.3 Simulasi dan ilustrasi sampel

Kode ini mensimulasikan data acak yang mengikuti sebaran chi-kuadrat untuk beberapa derajat kebebasan (misalnya df = 2, 5, dan 10). Hasilnya akan divisualisasikan dalam bentuk histogram agar bisa dibandingkan dengan kurva teoretisnya. Tujuannya adalah untuk menunjukkan bahwa data simulasi mengikuti bentuk sebaran chi-kuadrat.

set.seed(2025)
n <- 10000
sim_df <- data.frame(
  x = c(rchisq(n, df = 2), rchisq(n, df = 5), rchisq(n, df = 10)),
  df = factor(rep(c(2,5,10), each = n))
)

ggplot(sim_df, aes(x = x)) +
  geom_histogram(aes(y = after_stat(density)),
                 bins = 60, fill = "lightblue", color = "black", alpha = 0.6) +
  stat_function(fun = dchisq, args = list(df = 2),
                colour = "red", linewidth = 1) +
  stat_function(fun = dchisq, args = list(df = 5),
                colour = "blue", linewidth = 1) +
  stat_function(fun = dchisq, args = list(df = 10),
                colour = "green", linewidth = 1) +
  facet_wrap(~df, scales = "free") +
  labs(title = "Histogram sampel Chi-Square dengan kurva teoretis",
       x = "Nilai", y = "Kepadatan") +
  theme_minimal()

2.4 Contoh penggunaan: probabilitas dan kuantil

Kode ini menghitung dua hal penting Probabilitas (pchisq) peluang bahwa nilai acak X lebih kecil atau lebih besar dari angka tertentu. Kuantil (qchisq) nilai batas (misalnya 95%) yang digunakan dalam uji hipotesis untuk menentukan daerah kritis. Dengan kata lain, bagian ini membantu kita mengetahui batas atau peluang tertentu dalam sebaran chi-kuadrat.

# probabilitas: P(X > 7.81) untuk df = 3
1 - pchisq(7.81, df = 3)
## [1] 0.05010606
# kuantil: nilai x sehingga P(X < x) = 0.95 untuk df = 4
qchisq(0.95, df = 4)
## [1] 9.487729

2.5 Uji sederhana (contoh uji goodness-of-fit)

Kode ini melakukan uji chi-kuadrat (χ² test) untuk melihat apakah data observasi sesuai dengan harapan teoretis. Misalnya ingin tahu apakah frekuensi hasil survei sesuai dengan distribusi yang diharapkan. Hasil uji (chisq.test) akan memberikan nilai statistik uji dan p-value — jika p-value kecil, berarti data tidak sesuai dengan harapan. Berikut contoh singkat menggunakan uji chi-square untuk tabel kontingensi.

# Contoh tabel kontingensi
T <- matrix(c(20, 15, 25, 40), nrow = 2)
colnames(T) <- c("Kategori A", "Kategori B")
rownames(T) <- c("Kelompok 1", "Kelompok 2")
T
##            Kategori A Kategori B
## Kelompok 1         20         25
## Kelompok 2         15         40
chisq.test(T)
## 
##  Pearson's Chi-squared test with Yates' continuity correction
## 
## data:  T
## X-squared = 2.4975, df = 1, p-value = 0.114

Kesimpulan

Sebaran kali kuadrat (chi-square) merupakan sebaran probabilitas kontinu yang digunakan untuk menguji kesesuaian, kemandirian, dan variansi dalam analisis statistik. Berdasarkan hasil visualisasi dan simulasi di R, bentuk sebaran ini bergantung pada derajat kebebasan (df), di mana untuk df kecil sebaran miring ke kanan dan semakin mendekati normal saat df meningkat. Hasil simulasi menunjukkan kesesuaian antara data acak dan distribusi teoretis, sedangkan penerapan fungsi pchisq(), qchisq(), dan chisq.test() membuktikan bahwa sebaran chi-kuadrat berperan penting dalam pengujian hipotesis dan analisis data kategorik.