Statistik Uji dan p-value

Apa yang sebenarnya diukur p-value dan apa yang bukan.

Daftar isi

Angka yang paling sering salah dibaca pada laporan statistik adalah p-value. Topik ini membangun maknanya dari bawah, yaitu menghitung statistik uji (test statistic) dari data, membangun distribusi nol (null distribution) lewat simulasi, lalu menetapkan p-value sebagai posisi data teramati pada distribusi itu. Benang data metode belajar A dan metode B dipakai kembali, kini untuk menilai apakah selisih rata-rata 1.88 poin masih wajar terjadi bila hipotesis nol benar. Pada akhir topik, p-value dapat dibaca sesuai definisinya dan sejumlah tafsir keliru yang menyebar dapat dikenali.

Statistik uji sebagai jarak dari hipotesis nol#

Statistik uji adalah bilangan tunggal yang dihitung dari data sampel untuk mengukur seberapa jauh data menyimpang dari apa yang dinyatakan oleh hipotesis nol. Untuk perbandingan dua rata-rata, statistik uji paling sederhana adalah selisih rata-rata kedua kelompok sebagai berikut.

d=xˉB−xˉA d = \bar{x}_B - \bar{x}_A

Data contoh memberikan d=73.68−71.80=1.88d = 73.68 - 71.80 = 1.88. Nilai 1.88 sendirian belum bermakna karena tidak ada patokan, sebagaimana angka curah hujan 30 milimeter tidak bermakna tanpa mengetahui curah hujan yang biasa terjadi di daerah itu. Patokan yang diperlukan adalah sebaran nilai dd yang wajar terjadi ketika H0H_0 benar, dan sebaran itulah yang dinamakan distribusi nol. Uji t formal nantinya menstandarkan selisih ini dengan simpangan baku, tetapi idenya tetap sama, yaitu membandingkan data teramati dengan sebaran yang diharapkan di bawah H0H_0.

Membangun distribusi nol lewat simulasi#

Distribusi nol adalah sebaran statistik uji yang muncul ketika H0H_0 benar, yaitu ketika kedua kelompok benar-benar berasal dari populasi yang sama. Cara paling langsung untuk melihatnya adalah mensimulasikan banyak eksperimen dalam dunia yang H0H_0-nya benar, menghitung selisih rata-rata pada setiap eksperimen, lalu mengumpulkan semua selisih itu. Populasi simulasi memakai rata-rata yang sama untuk kedua kelompok, sedangkan sebarannya diestimasi dari simpangan baku gabungan kedua kelompok sampel karena populasi sesungguhnya tidak diketahui. Program berikut menjalankan 10.000 eksperimen semacam itu dan menghitung p-value dari posisi data teramati.

python distribusi-nol.py
import numpy as np
import matplotlib.pyplot as plt

# Data teramati: nilai ujian metode belajar A dan B (25 peserta per kelompok)
rng = np.random.default_rng(42)
nilai_a = np.round(rng.normal(72, 8, size=25))
nilai_b = np.round(rng.normal(72, 8, size=25))
d_obs = nilai_b.mean() - nilai_a.mean()

# Sebaran populasi tidak diketahui, sehingga diestimasi dari kedua kelompok
sd_gabungan = np.sqrt((nilai_a.var(ddof=1) + nilai_b.var(ddof=1)) / 2)

# 10.000 eksperimen ketika H0 benar: kedua kelompok dari populasi yang sama
rng_nol = np.random.default_rng(43)
eksperimen = rng_nol.normal(72, sd_gabungan, size=(10000, 50))
d_nol = eksperimen[:, :25].mean(axis=1) - eksperimen[:, 25:].mean(axis=1)

p_simulasi = np.mean(np.abs(d_nol) >= abs(d_obs))
print(f"Selisih teramati              : {d_obs:.4f}")
print(f"Simpangan baku gabungan       : {sd_gabungan:.4f}")
print(f"Distribusi nol (10.000 ulang) : rata-rata = {d_nol.mean():.4f}, simpangan baku = {d_nol.std(ddof=1):.4f}")
print(f"p-value                       : {p_simulasi:.4f}")

fig, ax = plt.subplots(figsize=(7, 4), constrained_layout=True)
ax.hist(d_nol, bins=40, color="#4c72b0", edgecolor="white", label="Distribusi nol")
ax.axvspan(d_obs, d_nol.max(), color="#c44e52", alpha=0.3)
ax.axvspan(d_nol.min(), -d_obs, color="#c44e52", alpha=0.3)
ax.axvline(d_obs, color="#c44e52", linestyle="--", label=f"Selisih teramati = {d_obs:.2f}")
ax.axvline(-d_obs, color="#c44e52", linestyle="--")
ax.set_title("Distribusi nol selisih rata-rata")
ax.set_xlabel("Selisih rata-rata (poin)")
ax.set_ylabel("Frekuensi")
ax.legend()
fig.savefig("histogram-distribusi-nol.png", dpi=110)
text Keluaran
Selisih teramati              : 1.8800
Simpangan baku gabungan       : 6.1432
Distribusi nol (10.000 ulang) : rata-rata = -0.0034, simpangan baku = 1.7231
p-value                       : 0.2779

Histogram distribusi nol selisih rata-rata dengan wilayah p diarsir merah
Histogram distribusi nol selisih rata-rata dengan wilayah p diarsir merah

Keluaran memperlihatkan distribusi nol dengan rata-rata dekat 0 dan simpangan baku 1.7231. Histogram pada gambar menempatkan selisih teramati 1.88 di wilayah batang yang masih tinggi, sehingga selisih sebesar itu sering terjadi di dunia H0H_0. Wilayah merah pada gambar menandai eksperimen simulasi yang selisihnya seekstrem data teramati, dan proporsinya dilaporkan sebagai p-value.

Definisi p-value#

Dengan distribusi nol di tangan, p-value dapat dinyatakan secara formal. Misalkan DD adalah selisih rata-rata pada dunia ketika H0H_0 benar dan dobsd_{\text{obs}} adalah selisih yang teramati dari data.

p=P ⁣(∣D∣≥∣dobs∣∣H0 benar) p = P\!\left(|D| \geq |d_{\text{obs}}| \mid H_0 \text{ benar}\right)

Definisi ini membaca p-value sebagai peluang bersyarat, yaitu peluang melihat statistik uji sekurang-kurangnya seekstrem data yang ada dengan syarat H0H_0 benar. Pada simulasi sebelumnya, peluang itu diestimasi dengan proporsi sederhana, yaitu 2.779 dari 10.000 eksperimen, sehingga p=0.2779p = 0.2779. Angka ini besar karena 27.79 persen eksperimen yang H0H_0-nya benar menghasilkan selisih sekurang-kurangnya 1.88 poin. p-value kecil berarti data teramati terletak di wilayah yang jarang terjadi di dunia H0H_0, dan kalimat itu tetap tidak menyentuh kebenaran H0H_0 itu sendiri.

Apa yang bukan p-value#

Tafsir keliru yang paling menyebar adalah membaca p-value sebagai peluang H0H_0 benar. Definisi pada bagian sebelumnya menunjukkan sebabnya, yaitu p-value dihitung dengan mengandaikan H0H_0 benar, sehingga angkanya berbicara tentang data, bukan tentang kebenaran H0H_0. Perbedaan arahnya halus tetapi menentukan, karena peluang data di dunia H0H_0 tidak sama dengan peluang dunia H0H_0 dilihat dari data. Daftar berikut memisahkan makna asli p-value dari tafsir yang salah.

  • p-value bukan peluang H0H_0 benar, dan 1−p1 - p juga bukan peluang H0H_0 salah.
  • p-value bukan ukuran besar efek, karena efek kecil dapat memberikan p-value kecil apabila sampelnya besar.
  • p-value bukan ukuran kepentingan praktis, karena penilaian kepentingan memerlukan besaran efek dan konteks bidangnya.
  • p-value bukan peluang hasil yang sama muncul apabila eksperimen diulang.

Daftar di atas juga menjelaskan mengapa dua studi dengan p-value sama dapat berbicara tentang efek yang sangat berbeda. p-value hanya menyatakan satu hal, yaitu seberapa tidak lazim data teramati di dunia H0H_0. Hal lain yang ingin disimpulkan memerlukan ukuran lain di luar p-value.

Kesalahan umum#

Kesalahan pertama adalah membandingkan p-value dari dua analisis yang ukuran sampelnya berbeda tanpa menyebut besaran efeknya, karena p-value kecil dapat muncul dari sampel yang besar meskipun efeknya tipis. Kesalahan kedua adalah memperlakukan p = 0.049 dan p = 0.051 sebagai hasil yang berbeda kualitasnya, padahal keduanya menyampaikan bukti yang nyaris sama dan garis ambangnya semata kebijakan. Kesalahan ketiga adalah menambah sampel sedikit demi sedikit sampai p-value menembus ambang tanpa melaporkan proses itu, karena penghentian pengumpulan data di tengah jalan menggelembungkan peluang hasil palsu. Kebiasaan pendamping yang sehat adalah mencatat jumlah pengujian yang dilakukan, karena banyak pengujian pada data yang sama menaikkan peluang sekurang-kurangnya satu hasil signifikan karena kebetulan. Perbaikan umumnya sama, yaitu menetapkan desain dan ambang sejak awal, melaporkan p-value persis sebagaimana terhitung, dan mendampinginya dengan besaran efek.

Ringkasan#

  • Statistik uji meringkas data menjadi satu bilangan yang mengukur jarak dari H0H_0, dan selisih rata-rata adalah bentuknya yang paling sederhana.
  • Distribusi nol berisi nilai statistik uji yang wajar ketika H0H_0 benar dan dapat dibangun lewat simulasi 10.000 eksperimen.
  • p-value adalah peluang melihat statistik uji sekurang-kurangnya seekstrem data teramati dengan syarat H0H_0 benar, dan contoh ini menghasilkan p = 0.2779.
  • p-value bukan peluang H0H_0 benar, bukan ukuran besar efek, dan bukan ukuran kepentingan praktis.

Referensi#