Keluarga nonparametrik telah menuntaskan dua desain: sampel independen lewat Mann-Whitney U test dan data berpasangan lewat Wilcoxon signed-rank test. Satu bentangan terakhir menunggu: tiga kelompok independen atau lebih — tiga metode belajar, empat varietas padi, lima wilayah penjualan. Chapter ANOVA menyelesaikan bentangan itu untuk mean dengan syarat normalitas dan homogenitas varians; dua syarat yang pada data peringkat atau sampel kecil kembali tidak dapat dipertahankan. Kruskal-Wallis test adalah perluasan Mann-Whitney ke banyak kelompok: satu pengujian tunggal atas peringkat gabungan yang menggantikan rangkaian perbandingan dua-dua tanpa membuka kembali masalah pengujian berganda.

Dari Dua Kelompok ke Banyak Kelompok #

Jalan yang terlihat paling mudah — menjalankan Mann-Whitney untuk setiap pasangan kelompok — justru jalan yang salah, dengan alasan yang sama persis seperti menolak t-test berulang pada chapter ANOVA. Setiap pengujian pada α = 0.05 membawa peluang 5% galat Tipe I; tiga kelompok berarti tiga perbandingan, dan peluang setidaknya satu kesalahan menjadi 1 − 0.95³ = 0.1426, hampir tiga kali lipat ambangnya. Empat kelompok berarti enam perbandingan dan peluangnya melebar ke 0.2649. Angka-angka ini dihitung ulang di chapter ANOVA dan berlaku sama apa pun ujinya — peringkat tidak memberikan diskon.

Kruskal-Wallis menahannya dengan satu pengujian untuk seluruh kelompok, meniru posisi ANOVA di sisi parametrik. H0-nya: seluruh k kelompok memiliki sebaran peringkat yang sama; H1-nya: minimal satu kelompok berbeda. Sama seperti ANOVA, keputusan awalnya tidak menyebut kelompok mana — pertanyaan lanjutan itu pekerjaan analisis post-hoc di akhir chapter.

Ide: Sebaran Rata-rata Peringkat #

Mekaniknya adalah mekanik Mann-Whitney yang direntangkan. Seluruh N = Σnj nilai dari k kelompok digabungkan, diurutkan, dan diberi peringkat 1 sampai N (ties menerima midrank); jumlah peringkat tiap kelompok Rj lalu dihitung. Di bawah H0, nilai semua kelompok berbaur, sehingga rata-rata peringkat tiap kelompok, Rj/nj, menempel di nilai harapan (N+1)/2 — rata-rata peringkat seluruh daftar. Bila satu kelompok cenderung lebih tinggi, peringkatnya menumpuk di ujung besar dan rata-ratanya menjauh ke atas; kelompok yang tertinggal menjauh ke bawah.

Statistik H mengukur total kejauhan itu dalam satu bilangan. Strukturnya paralel dengan rasio F pada ANOVA — variasi antar kelompok dibanding variasi yang wajar dari percampuran — hanya saja bahannya peringkat, bukan kuadrat selisih terhadap mean.

Statistik H dan Distribusi Chi-Square #

Statistik uji Kruskal-Wallis dirumuskan dari jumlah peringkat tiap kelompok:

text
H = 12/[N(N+1)] · Σ (Rj²/nj) − 3(N+1)          j = 1, ..., k

df = k − 1

Di bawah H0, H menyebar mengikuti distribusi chi-square dengan df = k − 1 — keluarga distribusi yang telah dipakai pada chapter Chi-Square Test. Aproksimasi ini semakin akurat semakin banyak observasi per kelompok; pedoman umumnya tiap nj minimal 5. Karena H dibangun dari peringkat, penampilan ties mengubah sebarannya, sehingga hasilnya dikoreksi:

text
H' = H / C

C = 1 − Σ(t³ − t)/(N³ − N)

dengan t menyatakan banyaknya nilai yang sama dalam satu kelompok ties. Koreksi ini selalu menaikkan H sedikit (C < 1) dan otomatis diterapkan scipy.

Contoh Manual: Tiga Metode Belajar di Uji Ulang #

Kita pakai ulang data tiga metode belajar dari chapter ANOVA: Metode A bernilai 75, 78, 80, 82, 85 (mean 80.0); Metode B bernilai 82, 85, 87, 89, 92 (mean 87.0); Metode C bernilai 70, 74, 78, 80, 84 (mean 77.2). ANOVA di sana menghasilkan F = 6.5670 dengan p = 0.0118 — H0 ditolak. Pertanyaannya: apakah jalur peringkat sampai pada keputusan yang sama? Penggabungan 15 nilai menghasilkan peringkat berikut:

text
Nilai : 70   74   75   78   78   80   80   82   82   84
Metode:  C    C    A    A    C    A    C    A    B    C
Rank  :  1    2    3   4.5  4.5  6.5  6.5  8.5  8.5  10

Nilai : 85   85   87   89   92
Metode:  A    B    B    B    B
Rank  : 11.5 11.5  13   14   15

Jumlah peringkatnya RA = 34, RB = 62, RC = 24 (total 120 = 15·16/2, pemeriksaan cepat terpenuhi). Rata-rata peringkatnya 6.8, 12.4, dan 4.8, berbanding nilai harapan (15+1)/2 = 8 — B menjulang di atas, C tertinggal di bawah, A hampir netral. Statistik H dihitung dari rumusnya:

text
H = 12/[15·16] · (34²/5 + 62²/5 + 24²/5) − 3·16
  = 0.05 · (231.2 + 768.8 + 115.2) − 48
  = 55.76 − 48
  = 7.76

Data memuat empat pasangan nilai kembar (78, 80, 82, 85 masing-masing muncul dua kali), sehingga Σ(t³ − t) = 4 × 6 = 24 dan C = 1 − 24/3360 = 0.9928571. Hasil terkoreksinya H’ = 7.76/0.9928571 = 7.8158 (dibulatkan ke empat desimal). Dengan df = k − 1 = 2, batas kritis chi-square pada α = 0.05 adalah 5.9915; H’ = 7.8158 melampauinya dengan p = 0.0201. Tolak H0: minimal satu metode berbeda sebaran nilainya.

Dua jalur sampai pada satu keputusan: ANOVA menolak dengan p = 0.0118, Kruskal-Wallis menolak dengan p = 0.0201. p-value peringkat lebih besar karena informasi jarak dibuang — bagi H, selisih 70 dengan 74 pada Metode C sama panjangnya dengan selisih 87 dengan 89 pada Metode B; keduanya hanya satu langkah peringkat. Pola ini umum: bila data memang menyebar kira-kira normal, uji parametrik menghasilkan bukti yang lebih tajam; keunggulan Kruskal-Wallis muncul justru ketika asumsi itu tidak ada.

Menghitung dengan Python #

scipy.stats.kruskal menerima seluruh kelompok dan mengembalikan H terkoreksi beserta p-value-nya:

python
from scipy.stats import kruskal, f_oneway

metode_a = [75, 78, 80, 82, 85]
metode_b = [82, 85, 87, 89, 92]
metode_c = [70, 74, 78, 80, 84]

hasil_h = kruskal(metode_a, metode_b, metode_c)
hasil_f = f_oneway(metode_a, metode_b, metode_c)
print(f"Kruskal-Wallis : H = {hasil_h.statistic:.4f}, p = {hasil_h.pvalue:.4f}")
print(f"ANOVA          : F = {hasil_f.statistic:.4f}, p = {hasil_f.pvalue:.4f}")

Output yang Dihasilkan:

text
Kruskal-Wallis : H = 7.8158, p = 0.0201
ANOVA          : F = 6.5670, p = 0.0118

H = 7.8158 identik dengan perhitungan manual — scipy menghitung peringkat, rumus H, dan koreksi ties secara otomatis di dalam satu panggilan. Baris kedua mereproduksi ANOVA dari chapter sebelumnya (F = 6.5670, p = 0.0118) sebagai pembanding pada data yang identik. Setelah keputusan utama, analisis lanjutan membandingkan tiap pasangan kelompok dengan Mann-Whitney:

python
from scipy.stats import mannwhitneyu

metode_a = [75, 78, 80, 82, 85]
metode_b = [82, 85, 87, 89, 92]
metode_c = [70, 74, 78, 80, 84]

for nama, x, y in [("A lawan B", metode_a, metode_b),
                   ("A lawan C", metode_a, metode_c),
                   ("B lawan C", metode_b, metode_c)]:
    p = mannwhitneyu(x, y, alternative="two-sided").pvalue
    print(f"{nama} : p = {p:.4f}")

Output yang Dihasilkan:

text
A lawan B : p = 0.0356
A lawan C : p = 0.4005
B lawan C : p = 0.0159

Asumsi dan Analisis Lanjutan #

Asumsi Kruskal-Wallis melanjutkan daftar Mann-Whitney ke banyak kelompok:

  • Observasi saling bebas antar individu maupun antar kelompok; randomisasi penugasan kelompok tetap jaminan utamanya.
  • Skala minimal ordinal — nilai harus bisa diurutkan lintas kelompok.
  • Bentuk distribusi serupa antar kelompok bila kesimpulan ingin dibaca sebagai pergeseran; tanpa syarat ini, keputusan yang aman adalah “sebaran peringkat kelompok tidak sama”.
  • Cukup banyak observasi per kelompok (pedoman nj ≥ 5) agar aproksimasi chi-square layak dipakai.

Untuk analisis lanjutan yang baku, uji Dunn adalah pendamping standar Kruskal-Wallis: membandingkan rata-rata peringkat tiap pasangan dengan koreksi khusus untuk ties dan banyaknya perbandingan; implementasinya tersedia di pustaka scikit-posthocs, yang tidak terpasang di lingkungan course ini sehingga tidak kita jalankan. Rute praktis dengan perkakas yang ada: jalankan Mann-Whitney untuk tiap pasangan, lalu kencangkan ambang dengan koreksi Bonferroni — α’ = α dibagi banyaknya perbandingan; untuk tiga kelompok, α’ = 0.05/3 = 0.0167. Hasil blok kedua di atas dibaca dengan ambang itu: A lawan B (p = 0.0356) tidak lolos, A lawan C (p = 0.4005) jauh tidak lolos, dan hanya B lawan C (p = 0.0159) yang dinyatakan berbeda — pola yang sama dengan temuan Tukey HSD pada chapter ANOVA, tempat hanya B–C yang lolos ambang terkoreksi. Bonferroni memang konservatif (cenderung gagal menolak), tetapi konsistensi dua jalur pada data yang sama memperkuat bacaan bahwa perbedaan nyata terkonsentrasi antara Metode B dan Metode C.

Kruskal-Wallis menutup keluarga uji nonparametrik dasar course ini: dua kelompok independen lewat Mann-Whitney, data berpasangan lewat Wilcoxon, banyak kelompok lewat H. Pertanyaan penutup section ini kembali ke desain: bagaimana bila dua faktor memengaruhi hasil sekaligus — metode belajar dan jenis sekolah, pupuk dan varietas — dan kita ingin menguji keduanya beserta gabungan kerjanya? Peringkat tidak lagi cukup; perluasan ANOVA ke dua faktor dan konsep interaksi antar faktor menjadi materi lanjutan berikutnya. Dokumentasi resmi fungsi chapter ini tersedia di scipy.stats , dengan pendalaman konsep di NIST Engineering Statistics Handbook .