Analisis Regresi Logistik
Biner
Faktor Risiko Banjir Bandang di Jawa Barat
Banjir adalah bencana hidrometeorologi paling sering terjadi di Indonesia — menyumbang 31% dari seluruh kejadian bencana nasional, dengan kerugian ekonomi mencapai USD 321 juta/tahun hanya di Jakarta. Jawa Barat mencatat 603 kejadian bencana hidrometeorologi pada Januari–November 2023 saja — tertinggi secara nasional.
Masalah inti: Tidak semua banjir sama bahayanya.
Banjir biasa → terjadi gradual, masih ada waktu evakuasi.
Banjir bandang → terjadi dalam < 6 jam sejak hujan pemicu, disertai debit masif dan material padat (lumpur, batu, debris) — jauh lebih katastrofik.
Pertanyaan penelitian:
Seberapa besar probabilitas suatu kejadian banjir bereskala menjadi
banjir bandang berdasarkan data curah hujan yang
tersedia?
Data diperoleh dari Mendeley Data — Darmawan et al. (2026), mengintegrasikan data curah hujan harian stasiun BMKG dengan rekaman banjir DIBI-BNPB dan BPBD Jawa Barat periode 2020–2025.
| Variabel | Peran | Tipe | Deskripsi |
|---|---|---|---|
rainfall_mm
|
Prediktor (X₁) | Numerik kontinu | Curah hujan pada hari kejadian (mm) |
API_5d
|
Prediktor (X₂) | Numerik kontinu | Antecedent Precipitation Index 5 hari — proksi kejenuhan tanah (mm) |
is_flash_flood
|
Respons (Y) | Biner | 0 = Banjir Biasa, 1 = Banjir Bandang |
| Kelas | n | Proporsi |
|---|---|---|
| Banjir Biasa (Y = 0) | 1127 | 71,51% |
| Banjir Bandang (Y = 1) | 449 | 28,49% |
| Total | 1576 | 100% |
Rasio kelas ~2,5:1 — cukup seimbang, tidak memerlukan penanganan imbalance khusus.
| Kelas | n | Min rf (mm) | Rata² rf | Max rf (mm) | Min API | Rata² API | Max API |
|---|---|---|---|---|---|---|---|
| Banjir Biasa | 1127 | 50.2 | 85.0 | 119 | 1.3 | 19.9 | 85.8 |
| Banjir Bandang | 449 | 110.8 | 163.5 | 350 | 0.9 | 20.7 | 73.2 |
Temuan awal: Rata-rata
rainfall_mmpada Banjir Bandang (~163,5 mm) hampir dua kali lipat Banjir Biasa (~85,0 mm). Sebaliknya,API_5dkedua kelas hampir identik (~19,9 mm vs ~20,7 mm) — mengindikasikanrainfall_mmsebagai prediktor dominan, sedangkanAPI_5dkemungkinan tidak informatif.
Variabel respons bersifat dikotomis (0/1) → regresi logistik biner via transformasi logit:
\[g(x) = \ln\!\left[\frac{\pi(x)}{1-\pi(x)}\right] = \beta_0 + \beta_1\,\text{rainfall\_mm} + \beta_2\,\text{API\_5d}\]
\[\hat{\pi}(x) = \frac{e^{g(x)}}{1 + e^{g(x)}}\]
Parameter diestimasi dengan Maximum Likelihood Estimation (MLE), diselesaikan secara iteratif menggunakan Newton-Raphson.
| Variabel | VIF | Batas | Kesimpulan |
|---|---|---|---|
| rainfall_mm | 1.0001 | < 10 | ✅ Tidak ada multikolinearitas | |
| API_5d | 1.0001 | < 10 | ✅ Tidak ada multikolinearitas | |
VIF ≈ 1,000 pada kedua prediktor — tidak ada multikolinearitas. Konsisten dengan sifat keduanya yang mengukur dimensi berbeda: intensitas hujan hari-H vs akumulasi kelembaban tanah anteseden.
Regresi logistik mensyaratkan hubungan linear antara setiap prediktor kontinu dengan nilai logit (log-odds) respons. Pengujian dilakukan dengan prosedur Box-Tidwell: menambahkan suku interaksi \(x_j \cdot \ln(x_j)\) ke dalam model. Jika koefisien suku tersebut (\(\gamma_j\)) tidak signifikan, asumsi linearitas logit terpenuhi.
\[H_0: \gamma_j = 0 \quad \text{(hubungan linear)} \qquad H_1: \gamma_j \neq 0 \quad \text{(non-linear)}\]
| Suku Interaksi | γ |
Std. Erro
| ||
|---|---|---|---|---|
| rainfall_mm · ln(rainfall_mm) | 5.510 | 1.351 | 0.000 | ⚠️ Signifikan (p < 0,001) — non-linear |
| API_5d · ln(API_5d) | -0.003 | 0.065 | 0.959 | ✅ Tidak signifikan (p = 0,959) — linear | |
Temuan:
rainfall_mmmelanggar asumsi linearitas logit (γ̂ = 5,51; p < 0,001). Namun perlu diinterpretasikan hati-hati — quasi-complete separation padarainfall_mmmenyebabkan standar error membengkak sehingga statistik uji Wald Box-Tidwell mungkin terdistorsi. Pelanggaran ini diakui sebagai keterbatasan.
Events per Variable (EPV) mengukur kelayakan jumlah data relatif terhadap kompleksitas model. Aturan acuan: EPV ≥ 10 agar estimasi MLE stabil.
\[\text{EPV} = \frac{\text{Jumlah observasi kelas minoritas}}{\text{Jumlah prediktor}}\]
| Keterangan | Nilai | Status |
|---|---|---|
| Jumlah event (Banjir Bandang) | 449.0 | |
| Jumlah prediktor | 2.0 | |
| EPV = 449 / 2 | 224.5 | ✅ Jauh di atas minimum | |
| Syarat minimum | 10.0 | EPV ≥ 10 |
EPV = 224,5 → model dengan 2 prediktor tidak overparameterized. Model tidak memiliki kapasitas untuk “menghafal” noise dalam 1.576 observasi.
\[\widehat{g}(x) = -230{,}06 + 1{,}929 \cdot \text{rainfall\_mm} - 0{,}012 \cdot \text{API\_5d}\]
Pengujian parsial dilakukan per prediktor menggunakan Uji Wald:
\[W_j = \left(\frac{\hat{\beta}_j}{SE(\hat{\beta}_j)}\right)^2 \sim \chi^2_{(1)}\]
| Parameter | β |
Std. Erro
| |||
|---|---|---|---|---|---|
| Intercept | -230.0622 | 53.1833 | -4.326 | < 0,001 | ✅ *** | |
| rainfall_mm | 1.9295 | 0.4451 | 4.335 | < 0,001 | ✅ *** | |
| API_5d | -0.0129 | 0.0241 | -0.537 | 0,591 | ❌ n.s. | |
rainfall_mmsignifikan (z = 4,335; p < 0,001) — semakin tinggi curah hujan, semakin besar log-odds eskalasi menjadi banjir bandang.
API_5dtidak signifikan (p = 0,591) — konsisten dengan temuan deskriptif bahwa rata-rata API_5d kedua kelas hampir identik.
Pengujian simultan dilakukan untuk seluruh prediktor sekaligus menggunakan statistik G berbasis rasio likelihood:
\[G = -2 \ln\!\left(\frac{L_0}{L_p}\right) \sim \chi^2_{(p)}\]
\(H_0: \beta_1 = \beta_2 = 0\) (tidak ada prediktor yang berpengaruh)
| Keterangan | Nilai |
|---|---|
| G statistik | 1815.257 |
| Derajat bebas | 2 |
| p-value | < 0,001 |
| Keputusan | ✅ Tolak H₀ — model signifikan secara keseluruhan | |
| Variabel | Odds Ratio | CI 95% Bawah | CI 95% Atas | Interpretasi |
|---|---|---|---|---|
| Intercept | 0.0000 | 0.0000 | 0.0000 | — |
| rainfall_mm | 6.8863 | 3.2765 | 18.4969 | Setiap +1 mm hujan → odds banjir bandang naik ~6,9× (CI tidak mencakup 1 ✅) | |
| API_5d | 0.9871 | 0.9395 | 1.0342 | Tidak signifikan — CI mencakup nilai 1 ❌ | |
OR
rainfall_mm= 6,886 → setiap kenaikan 1 mm curah hujan meningkatkan odds eskalasi menjadi banjir bandang hampir tujuh kali lipat, denganAPI_5ddikendalikan.
| Keterangan | Nilai |
|---|---|
| χ² statistik | 1.247 |
| Derajat bebas | 2 |
| p-value | 0.536 |
| Keputusan | ✅ Gagal tolak H₀ — model FIT dengan data | |
p-value = 0,536 >> 0,05 → tidak ada perbedaan signifikan antara frekuensi prediksi dan observasi. (Catatan: g = 2 kelompok karena konsentrasi probabilitas mendekati 0 dan 1 akibat quasi-complete separation.)
## fitting null model for pseudo-r2
| Metrik | Nilai | Interpretasi |
|---|---|---|
| McFadden R² | 0.9638 | Sangat baik (> 0,4) — konsisten dengan quasi-complete separation |
| Cox & Snell R² | 0.6839 | Baik |
| Nagelkerke R² | 0.9808 | Sangat baik (mendekati 1) |
Akurasi sangat tinggi (AUC ≈ 1) memunculkan pertanyaan: apakah ini overfitting atau pemisahan kelas yang genuine?
Untuk menjawabnya, dilakukan train-test split — pembagian data secara acak menjadi dua subset yang mutually exclusive:
Proporsi kelas terjaga pada kedua subset (~71%:29%) karena menggunakan stratified random sampling. Model yang digunakan untuk prediksi pada data uji adalah model yang diestimasi dari data penuh, tanpa re-estimasi pada data latih, sehingga pengujian ini bersifat murni eksternal.
Jika performa pada data uji konsisten dengan data penuh → bukan overfitting.
Jika performa turun signifikan → indikasi overfitting.
| Metrik | Data Penuh | Data Uji |
|---|---|---|
| AUC | 0.9998 | 1.000 |
| Cutoff optimal (Youden) | 0.5370 | 0.576 |
| Sensitivitas | 0.9978 | 1.000 |
| Spesifisitas | 1.0000 | 1.000 |
AUC data penuh (0,9998) dan data uji (1,000) konsisten — tidak ada penurunan performa. Ini membuktikan bahwa performa model tidak bergantung pada data spesifik yang digunakan untuk estimasi.
Confusion Matrix — Data Penuh (n = 1.576)
| Prediction | Banjir Biasa | Banjir Bandang |
|---|---|---|
| Banjir Biasa | 1127 | 1 |
| Banjir Bandang | 0 | 448 |
Confusion Matrix — Data Uji (n = 314)
| Prediction | Banjir Biasa | Banjir Bandang |
|---|---|---|
| Banjir Biasa | 225 | 0 |
| Banjir Bandang | 0 | 89 |
Perbandingan Metrik Klasifikasi
| Metrik | Data Penuh | Data Uji | |
|---|---|---|---|
| Accuracy | Accuracy | 0.9994 | 1 |
| Sensitivity | Sensitivity (Recall) | 0.9978 | 1 |
| Specificity | Specificity | 1.0000 | 1 |
| Pos Pred Value | Pos. Pred. Value | 1.0000 | 1 |
| Balanced Accuracy | Balanced Accuracy | 0.9989 | 1 |
| Kappa | Kappa | 0.9984 | 1 |
Performa pada data uji identik atau lebih baik dari data penuh — tidak ada indikasi overfitting. Separasi yang terjadi bersifat genuine, mencerminkan pola nyata dalam data.
| No | Aspek | Temuan |
|---|---|---|
| 1 | Asumsi | Tidak ada multikolinearitas (VIF ≈ 1). EPV = 224,5 >> 10. Linearitas logit terpenuhi untuk API_5d; rainfall_mm non-linear namun diinterpretasikan dalam konteks quasi-complete separation. |
| 2 | Signifikansi Model | Uji G: G = 1815,26; p < 0,001 → model signifikan secara keseluruhan. |
| 3 | Prediktor Dominan | rainfall_mm: OR = 6,886 (p < 0,001) — setiap +1 mm meningkatkan odds banjir bandang ~7×. API_5d: tidak signifikan (p = 0,591). |
| 4 | Goodness of Fit | Hosmer–Lemeshow: p = 0,536 (model fit). McFadden R² = 0,963; Nagelkerke R² = 0,981. |
| 5 | Performa Klasifikasi | AUC = 1,000 pada data uji independen (n = 314). Accuracy = 100%. Dikonfirmasi bukan overfitting melalui EPV = 224,5 dan konsistensi performa train-test. |
Implikasi Operasional:
Dengan threshold optimal ~0,54, model dapat diintegrasikan ke sistem peringatan dini BPBD Jawa Barat — secara otomatis meningkatkan status siaga dari “banjir” ke “banjir bandang” saat probabilitas melampaui ambang ini.
Keterbatasan & Saran:
Quasi-complete separation menyebabkan koefisien tidak stabil (intercept
= −230,06). Penelitian lanjutan dapat mengeksplorasi regresi
Firth untuk menangani separasi, atau menambahkan prediktor
seperti variabel topografi (kemiringan lereng, kerapatan drainase) &
penggunaan lahan.
Analisis Data Kategori — Statistika UNPAD 2024 | Data: Darmawan et al. (2026), Mendeley Data DOI: 10.17632/d7j3s64vvr.3