Analisis Data Kategorik: Asosiasi Penggunaan Kelas Online dan Kelulusan Mahasiswa dengan Jalur Masuk sebagai Kovariat
Latar Belakang dan Tujuan
Sebuah kampus ingin mengetahui apakah penggunaan kelas online berhubungan dengan kelulusan mahasiswa, dengan jalur masuk (Reguler/Beasiswa) sebagai kovariat yang diduga memengaruhi pola hubungan tersebut.
Variabel yang digunakan:
| Peran | Variabel | Kategori |
|---|---|---|
| X (penjelas) | Penggunaan Kelas Online | Ya, Tidak |
| Y (respons) | Kelulusan | Lulus, Tidak Lulus |
| Z (kovariat/stratum) | Jalur Masuk | Reguler, Beasiswa |
Karena ketiganya berskala kategori dengan dua level, datanya berbentuk tabel kontingensi 2 × 2 × 2. Analisis mengikuti lima langkah: (1) menyusun tabel kontingensi 3 arah, (2) menghitung OR marginal dan OR bersyarat, (3) memeriksa Paradoks Simpson, (4) uji Breslow-Day dan CMH dengan R, serta (5) kesimpulan akhir.
1. Menyusun Tabel Kontingensi 3 Arah
Data disimulasikan (n = 800 mahasiswa, 400 per jalur masuk) dengan pola yang realistis: mahasiswa jalur Beasiswa cenderung berprestasi sehingga tingkat kelulusannya tinggi, sedangkan pengguna kelas online lebih banyak berasal dari jalur Reguler. Data disusun sebagai array 3 dimensi, urutan: Kelas Online × Kelulusan × Jalur Masuk.
dat <- array(c(190, 52, 110, 48, # stratum: Reguler (Ya-Lulus, Tidak-Lulus, Ya-Gagal, Tidak-Gagal)
90, 255, 10, 45), # stratum: Beasiswa
dim = c(2, 2, 2),
dimnames = list(Kelas_Online = c("Ya", "Tidak"),
Kelulusan = c("Lulus", "Tidak Lulus"),
Jalur_Masuk = c("Reguler", "Beasiswa")))
# Tabel 3 arah (tampilan datar)
ftable(dat, row.vars = c("Jalur_Masuk", "Kelas_Online"))## Kelulusan Lulus Tidak Lulus
## Jalur_Masuk Kelas_Online
## Reguler Ya 190 110
## Tidak 52 48
## Beasiswa Ya 90 10
## Tidak 255 45
# Tabel 3 arah dengan total baris dan kolom (addmargins)
ftable(addmargins(dat), row.vars = c("Jalur_Masuk", "Kelas_Online"))## Kelulusan Lulus Tidak Lulus Sum
## Jalur_Masuk Kelas_Online
## Reguler Ya 190 110 300
## Tidak 52 48 100
## Sum 242 158 400
## Beasiswa Ya 90 10 100
## Tidak 255 45 300
## Sum 345 55 400
## Sum Ya 280 120 400
## Tidak 307 93 400
## Sum 587 213 800
Tabel parsial (tabel 2 × 2 untuk tiap jalur masuk) beserta total barisnya:
## == Stratum: Reguler ==
## Kelulusan
## Kelas_Online Lulus Tidak Lulus Sum
## Ya 190 110 300
## Tidak 52 48 100
## Sum 242 158 400
##
## == Stratum: Beasiswa ==
## Kelulusan
## Kelas_Online Lulus Tidak Lulus Sum
## Ya 90 10 100
## Tidak 255 45 300
## Sum 345 55 400
Interpretasi.
Total data 800 mahasiswa terbagi rata ke dua jalur masuk, masing-masing 400 mahasiswa. Namun, komposisi pengguna kelas online sangat tidak seimbang: dari 400 pengguna kelas online, 300 orang (75%) berasal dari jalur Reguler, sedangkan dari 400 non-pengguna, hanya 100 orang (25%) yang berasal dari jalur Reguler. Ketidakseimbangan ini merupakan sinyal awal bahwa jalur masuk dapat memengaruhi hubungan antara kelas online dan kelulusan.
2. Menghitung OR Marginal dan OR Tiap Stratum (Bersyarat)
Rasio odds untuk tabel 2 × 2 dihitung dengan
\[\theta = \frac{n_{11}\, n_{22}}{n_{12}\, n_{21}}\]
dengan \(n_{11}\) = Online-Lulus, \(n_{22}\) = Tidak Online-Tidak Lulus, \(n_{12}\) = Online-Tidak Lulus, dan \(n_{21}\) = Tidak Online-Lulus.
OR Marginal (Naif)
Tabel marginal diperoleh dengan menjumlahkan frekuensi pada seluruh tingkat jalur masuk.
or_fun <- function(t) (t[1, 1] * t[2, 2]) / (t[1, 2] * t[2, 1])
marg <- margin.table(dat, c(1, 2)) # tabel marginal Kelas Online x Kelulusan
addmargins(marg)## Kelulusan
## Kelas_Online Lulus Tidak Lulus Sum
## Ya 280 120 400
## Tidak 307 93 400
## Sum 587 213 800
## Kelulusan
## Kelas_Online Lulus Tidak Lulus
## Ya 70.00 30.00
## Tidak 76.75 23.25
## [1] 0.7068
Interpretasi.
Secara keseluruhan, persentase lulus pengguna kelas online (70,00%) lebih rendah daripada non-pengguna (76,75%). OR marginal = 0,707 (< 1) berarti odds lulus pengguna kelas online sekitar 0,71 kali odds non-pengguna, sehingga analisis naif ini seolah-olah menyimpulkan bahwa kelas online menurunkan peluang lulus.
OR Bersyarat (Tiap Stratum)
or_reguler <- or_fun(dat[, , "Reguler"])
or_beasiswa <- or_fun(dat[, , "Beasiswa"])
# Persentase lulus per stratum
cat("Persentase lulus - Reguler:\n"); print(round(prop.table(dat[, , "Reguler"], 1) * 100, 2))## Persentase lulus - Reguler:
## Kelulusan
## Kelas_Online Lulus Tidak Lulus
## Ya 63.33 36.67
## Tidak 52.00 48.00
##
## Persentase lulus - Beasiswa:
## Kelulusan
## Kelas_Online Lulus Tidak Lulus
## Ya 90 10
## Tidak 85 15
hasil_or <- data.frame(
Tabel = c("Marginal", "Bersyarat: Reguler", "Bersyarat: Beasiswa"),
OR = c(or_marg, or_reguler, or_beasiswa)
)
hasil_or## Tabel OR
## 1 Marginal 0.7068
## 2 Bersyarat: Reguler 1.5944
## 3 Bersyarat: Beasiswa 1.5882
Interpretasi.
Setelah data dipisah per jalur masuk, arah hubungan berbalik. Pada jalur Reguler, OR = 1,594 (lulus 63,33% pada pengguna online vs 52,00% pada non-pengguna), dan pada jalur Beasiswa OR = 1,588 (lulus 90,00% vs 85,00%). Kedua OR bersyarat lebih dari 1 dan nilainya sangat dekat, artinya di dalam setiap jalur masuk, pengguna kelas online memiliki odds lulus sekitar 1,6 kali lebih besar dibanding non-pengguna.
3. Memeriksa Paradoks Simpson
Paradoks Simpson terjadi apabila arah asosiasi marginal berlawanan dengan arah asosiasi bersyarat pada setiap stratum.
simpson <- (or_marg < 1) & (or_reguler > 1) & (or_beasiswa > 1)
pemeriksaan <- data.frame(
Tabel = c("Marginal", "Reguler", "Beasiswa"),
`Lulus Online (%)` = c(persen_marg["Ya", "Lulus"],
prop.table(dat[, , "Reguler"], 1)["Ya", "Lulus"] * 100,
prop.table(dat[, , "Beasiswa"], 1)["Ya", "Lulus"] * 100),
`Lulus Tidak Online (%)` = c(persen_marg["Tidak", "Lulus"],
prop.table(dat[, , "Reguler"], 1)["Tidak", "Lulus"] * 100,
prop.table(dat[, , "Beasiswa"], 1)["Tidak", "Lulus"] * 100),
OR = c(or_marg, or_reguler, or_beasiswa),
Arah = ifelse(c(or_marg, or_reguler, or_beasiswa) > 1,
"Online lebih baik", "Tidak online lebih baik"),
check.names = FALSE
)
pemeriksaan## Tabel Lulus Online (%) Lulus Tidak Online (%) OR
## 1 Marginal 70.00 76.75 0.7068
## 2 Reguler 63.33 52.00 1.5944
## 3 Beasiswa 90.00 85.00 1.5882
## Arah
## 1 Tidak online lebih baik
## 2 Online lebih baik
## 3 Online lebih baik
##
## Paradoks Simpson terjadi? -> YA
# Penyebab: distribusi kovariat
cat("\nProporsi jalur masuk pada tiap kelompok penggunaan kelas online (%):\n")##
## Proporsi jalur masuk pada tiap kelompok penggunaan kelas online (%):
## Jalur_Masuk
## Kelas_Online Reguler Beasiswa
## Ya 75 25
## Tidak 25 75
##
## Tingkat kelulusan tiap jalur masuk (%):
## Kelulusan
## Jalur_Masuk Lulus Tidak Lulus
## Reguler 60.50 39.50
## Beasiswa 86.25 13.75
Interpretasi.
Paradoks Simpson terjadi: OR marginal (0,707) menyatakan kelas online merugikan, tetapi OR bersyarat pada kedua jalur masuk (1,594 dan 1,588) menyatakan sebaliknya. Penyebabnya adalah jalur masuk berperan sebagai variabel pengganggu (confounder). Mahasiswa Reguler memiliki tingkat kelulusan lebih rendah (60,50%) dibanding Beasiswa (86,25%), dan 75% pengguna kelas online berasal dari jalur Reguler. Akibatnya, rata-rata kelulusan pengguna online “tertarik turun” oleh dominasi mahasiswa Reguler, padahal di dalam tiap jalur kelas online justru berasosiasi dengan kelulusan yang lebih baik.
4. Uji Breslow-Day dan Cochran-Mantel-Haenszel (CMH) dengan R
Estimator Mantel-Haenszel (OR Gabungan)
\[\hat{\theta}_{MH} = \frac{\sum_k n_{11k}\, n_{22k}/n_{++k}}{\sum_k n_{12k}\, n_{21k}/n_{++k}}\]
n_k <- apply(dat, 3, sum) # total tiap stratum
num <- sum(dat[1, 1, ] * dat[2, 2, ] / n_k)
den <- sum(dat[1, 2, ] * dat[2, 1, ] / n_k)
cat("Pembilang (num) =", round(num, 3), "\n")## Pembilang (num) = 32.92
## Penyebut (den) = 20.68
## theta_MH = 1.593
Interpretasi.
Setelah mengontrol jalur masuk, odds lulus pengguna kelas online sekitar 1,59 kali odds non-pengguna. Nilai ini berlawanan arah dengan OR marginal (0,707) dan konsisten dengan kedua OR bersyarat.
Uji Breslow-Day (Homogenitas OR Antar Stratum)
Hipotesis:
- \(H_0\): \(\theta_{XY|Z=Reguler} = \theta_{XY|Z=Beasiswa}\) (asosiasi homogen, tidak ada interaksi tiga arah)
- \(H_1\): minimal ada satu OR stratum yang berbeda (ada interaksi tiga arah)
##
## Breslow-Day test on Homogeneity of Odds Ratios
##
## data: dat
## X-squared = 7.9e-05, df = 1, p-value = 1
Interpretasi.
Nilai p-value jauh di atas \(\alpha = 0{,}05\) (X² mendekati 0, p ≈ 0,99), sehingga \(H_0\) tidak ditolak. Tidak ada bukti interaksi tiga arah: OR kedua stratum (1,594 dan 1,588) dapat dianggap sama, sehingga pola asosiasi kelas online dan kelulusan homogen pada kedua jalur masuk. Dengan demikian, penggabungan lewat estimator Mantel-Haenszel layak dilakukan.
Uji Cochran-Mantel-Haenszel (Independensi Bersyarat)
Hipotesis:
- \(H_0\): semua OR bersyarat sama dengan 1 (kelas online dan kelulusan independen bersyarat pada jalur masuk)
- \(H_1\): minimal ada satu OR bersyarat yang tidak sama dengan 1 (ada asosiasi bersyarat/parsial)
##
## Mantel-Haenszel chi-squared test without continuity correction
##
## data: dat
## Mantel-Haenszel X-squared = 5.6, df = 1, p-value = 0.02
## alternative hypothesis: true common odds ratio is not equal to 1
## 95 percent confidence interval:
## 1.081 2.346
## sample estimates:
## common odds ratio
## 1.593
##
## OR gabungan (MH) : 1.593
## Selang kepercayaan 95% : 1.081 - 2.346
Interpretasi.
Statistik CMH menghasilkan X² = 5,6 dengan p-value = 0,02 (< 0,05), sehingga \(H_0\) ditolak. Terdapat asosiasi bersyarat yang signifikan antara penggunaan kelas online dan kelulusan setelah jalur masuk dikontrol. OR gabungan 1,593 dengan selang kepercayaan 95% sekitar 1,08 hingga 2,35 tidak memuat angka 1, yang mengonfirmasi hasil uji tersebut.
Ringkasan Peta Keputusan
ringkasan <- data.frame(
Uji = c("Breslow-Day", "Cochran-Mantel-Haenszel"),
Hipotesis_Nol = c("OR antar stratum sama (homogen)", "Semua OR bersyarat = 1"),
Statistik = c(unname(bd$statistic), unname(cmh$statistic)),
p_value = c(bd$p.value, cmh$p.value),
Keputusan = c(ifelse(bd$p.value < 0.05, "Tolak H0", "Gagal tolak H0"),
ifelse(cmh$p.value < 0.05, "Tolak H0", "Gagal tolak H0"))
)
ringkasan## Uji Hipotesis_Nol Statistik p_value
## 1 Breslow-Day OR antar stratum sama (homogen) 7.866e-05 0.99292
## 2 Cochran-Mantel-Haenszel Semua OR bersyarat = 1 5.582e+00 0.01815
## Keputusan
## 1 Gagal tolak H0
## 2 Tolak H0
5. Kesimpulan
Berdasarkan hasil analisis, terjadi Paradoks Simpson pada hubungan antara penggunaan kelas online dan kelulusan mahasiswa. Secara marginal, penggunaan kelas online tampak berasosiasi dengan odds kelulusan yang lebih rendah (OR = 0,707), tetapi setelah dikontrol berdasarkan jalur masuk, asosiasinya berbalik menjadi positif dan homogen pada jalur Reguler (OR = 1,594) maupun Beasiswa (OR = 1,588). Hasil uji Breslow-Day menunjukkan tidak terdapat perbedaan OR yang signifikan antarstratum (p ≈ 0,99), sedangkan uji CMH menunjukkan adanya asosiasi bersyarat yang signifikan (OR MH = 1,593; p = 0,018; 95% CI: 1,08–2,35). Dengan demikian, jalur masuk perlu diperhitungkan dalam menganalisis hubungan penggunaan kelas online dengan kelulusan karena distribusinya yang tidak seimbang dapat membalikkan kesimpulan yang diperoleh dari analisis marginal. *