T-test menuntaskan pertanyaan tentang mean, tetapi banyak data tidak pernah bermean sama sekali. Responden memilih transportasi, siswa masuk kategori jurusan, produk lulus atau gagal inspeksi — data kategorik berbentuk hitungan (count) per kategori, dan pertanyaan ujinya berbunyi: apakah pola hitungan yang teramati cocok dengan pola yang diharapkan? Chi-square (χ²) menjawabnya dengan satu ide sederhana yang menopang dua uji berbeda: goodness-of-fit untuk satu variabel, dan uji kemandirian untuk tabel silang dua variabel. Chapter ini mengerjakan keduanya dengan data lengkap — 60 lemparan dadu dan 100 responden survei transportasi.

Satu Ide: Jarak Amatan ke Harapan #

Statistik chi-square mengukur total ketidaksesuaian antara hitungan teramati O dan hitungan harapan E:

text
chi2 = Σ (O - E)² / E        untuk seluruh kategori/sel

Setiap suku (O − E)²/E menyatakan kontribusi satu kategori: selisih dikuadratkan (sehingga arah kelebihan dan kekurangan sama-sama dihitung) lalu dibagi E (sehingga selisih 3 pada kategori yang diharapkan 10 jauh lebih serius daripada selisih 3 pada kategori yang diharapkan 300). Nilai χ² = 0 berarti amatan persis menyentuh harapan; semakin besar χ², semakin jauh data melenceng dari model yang diuji. Batas “besar” ditentukan oleh distribusi chi-square dengan derajat kebebasan df — bentuknya miring ke kanan dengan hanya nilai non-negatif, karena χ² memang hasil penjumlahan kuadrat.

Goodness-of-Fit: Apakah Dadu itu Adil #

Uji kecocokan (goodness-of-fit) membandingkan hitungan amatan satu variabel kategorik terhadap distribusi teoretis. Kasus klasiknya: sebuah dadu dilempar 60 kali, dan setiap mata diharapkan muncul 10 kali bila dadu adil. Hasil pengamatan:

Mata dadu123456
O (amatan)812159115
E (harapan)101010101010

Hipotesisnya: H0: dadu adil (semua peluang 1/6); H1: dadu tidak adil. Dengan α = 0.05, statistik ujinya dihitung suku demi suku:

text
chi2 = (8-10)²/10 + (12-10)²/10 + (15-10)²/10
     + (9-10)²/10 + (11-10)²/10 + (5-10)²/10
     = 0.4 + 0.4 + 2.5 + 0.1 + 0.1 + 2.5
     = 6.0        dengan df = k - 1 = 6 - 1 = 5

Derajat kebebasan untuk goodness-of-fit adalah k − 1 (banyak kategori dikurangi satu kendala: total hitungan sudah terpasang pada 60), sehingga p-value = P(χ² > 6.0; df = 5) = 0.3062 (dibulatkan ke empat desimal). Karena 0.3062 ≥ 0.05, gagal menolak H0 — dadu ini tidak terbukti tidak adil. Dua mata yang paling menyimpang (mata 3 muncul 15 kali, mata 6 hanya 5 kali) menyumbang 5.0 dari total 6.0, tetapi pada 60 lemparan fluktuasi sebesar itu masih wajar. Perhatikan asimetri kesimpulan yang kembali muncul: keputusan ini bukan bukti dadu adil, hanya belum ada cukup bukti untuk menuduh sebaliknya.

Uji Kemandirian: Transportasi dan Gender #

Uji kemandirian (test of independence) bekerja pada tabel silang dua variabel kategorik dan bertanya: apakah kedua variabel tidak berkaitan? Survei 100 responden tentang moda transportasi utama ke kampus menghasilkan tabel silang:

Transportasi umumKendaraan pribadiTotal
Laki-laki302050
Perempuan203050
Total5050100

Hipotesisnya: H0: pilihan moda transportasi tidak berkaitan dengan gender (kedua variabel saling bebas); H1: ada kaitan. Hitungan harapan tiap sel dihitung dari margin tabel: E = (total baris × total kolom) / total keseluruhan. Sel laki-laki–transportasi umum: E = (50 × 50)/100 = 25, dan keempat sel memiliki struktur margin yang sama sehingga seluruh E = 25. Statistik ujinya:

text
chi2 = (30-25)²/25 + (20-25)²/25 + (20-25)²/25 + (30-25)²/25
     = 1 + 1 + 1 + 1
     = 4.0        df = (r - 1)(c - 1) = (2-1)(2-1) = 1

p-value = P(χ² > 4.0; df = 1) = 0.0455. Karena 0.0455 < 0.05, tolak H0 — data mendukung adanya kaitan antara gender dan pilihan moda: laki-laki condong ke transportasi umum (30 dari 50), perempuan condong ke kendaraan pribadi (30 dari 50), dan pola seragam itu terlalu konsisten untuk disebut kebetulan pada tingkat α = 0.05. Derajat kebebasan (r−1)(c−1) mencerminkan sel yang bebas berubah setelah margin tetap: tabel 2×2 hanya menyisakan satu angka yang benar-benar bebas.

Syarat Pemakaian Chi-Square #

Perhitungan χ² hanyalah aproksimasi yang bekerja baik ketika hitungan harapan cukup besar. Aturan praktisnya: expected count tiap sel minimal 5. Alasannya mekanis — pembagi E yang kecil membuat suku (O − E)²/E melonjak tidak proporsional, dan distribusi chi-square berhenti menjadi aproksimasi yang akurat untuk sel dengan E = 1 atau 2 (sel dengan E di bawah 1 bahkan tidak boleh).

Chi-Square atau t-Test #

Jenis data menentukan uji — tabel ringkas berikut memetakan pilihan pada pertanyaan yang paling sering muncul:

PertanyaanJenis dataUji yang tepat
Rata-rata berbeda dari nilai klaim?numerik (mean)z-test / t-test satu sampel
Rata-rata dua kelompok berbeda?numerik (mean)t-test dua sampel
Sebelum-sesudah pada individu sama?numerik berpasanganpaired t-test
Distribusi kategori sesuai model?kategorik (hitungan)chi-square goodness-of-fit
Dua variabel kategorik berkaitan?kategorik (tabel silang)chi-square uji kemandirian
Rata-rata tiga kelompok atau lebih?numerik (mean)ANOVA (chapter berikutnya)

Menghitung dengan Python #

Kedua uji chi-square tersedia di scipy.stats — chisquare untuk goodness-of-fit (harapan seragam menjadi default), chi2_contingency untuk tabel silang:

python
from scipy.stats import chi2_contingency, chisquare

tabel = [[30, 20], [20, 30]]
chi2, p, df, expected = chi2_contingency(tabel, correction=False)
print(f"chi2 = {chi2:.4f}, p = {p:.4f}, df = {df}")
print("expected tiap sel :", [round(e) for e in expected.ravel()])

dadu = [8, 12, 15, 9, 11, 5]
chi2_d, p_d = chisquare(dadu)
print(f"chi2 = {chi2_d:.4f}, p = {p_d:.4f}, df = {len(dadu) - 1}")

Output yang Dihasilkan:

text
chi2 = 4.0000, p = 0.0455, df = 1
expected tiap sel : [25, 25, 25, 25]
chi2 = 6.0000, p = 0.3062, df = 5

Mari kita bedah blok tersebut: chi2_contingency(tabel, correction=False) mengembalikan empat nilai — statistik, p-value, df, dan tabel expected — dan parameter correction=False menonaktifkan koreksi Yates default agar hasilnya identik dengan perhitungan manual di atas. Fungsi round(e) pada elemen array expected menampilkan 25.0 sebagai bilangan bulat agar output ringkas. Baris chisquare(dadu) membandingkan hitungan dadu dengan harapan seragam 60/6 = 10 tiap mata dan menghasilkan χ² = 6.0000, p = 0.3062 — kedua pasangan angka cocok persis dengan perhitungan tangan kita.

Chi-square menutup pertanyaan kategorik, dan peta uji tinggal menyisakan satu wilayah: perbandingan lebih dari dua mean. Melakukannya dengan t-test berulang tampak wajar tetapi menyimpan jebakan statistik yang membuat peluang kesalahan membengkak tanpa terasa. ANOVA — chapter berikutnya — menyelesaikannya dengan satu statistik F; rujukan resmi untuk seluruh uji bab ini adalah NIST Engineering Statistics Handbook dan scipy.stats .