1 Latar Belakang

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?


2 Data

2.1 Sumber & Variabel

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

2.2 Distribusi Kelas

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.

2.3 Statistik Deskriptif per Kelas

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_mm pada Banjir Bandang (~163,5 mm) hampir dua kali lipat Banjir Biasa (~85,0 mm). Sebaliknya, API_5d kedua kelas hampir identik (~19,9 mm vs ~20,7 mm) — mengindikasikan rainfall_mm sebagai prediktor dominan, sedangkan API_5d kemungkinan tidak informatif.


3 Metode

3.1 Model: Regresi Logistik Biner

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.

3.2 Alur Analisis


4 Uji Asumsi

4.1 Multikolinearitas (VIF)

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.

4.2 Linearitas Logit (Box-Tidwell)

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_mm melanggar asumsi linearitas logit (γ̂ = 5,51; p < 0,001). Namun perlu diinterpretasikan hati-hati — quasi-complete separation pada rainfall_mm menyebabkan standar error membengkak sehingga statistik uji Wald Box-Tidwell mungkin terdistorsi. Pelanggaran ini diakui sebagai keterbatasan.

4.3 Kecukupan Sampel (EPV)

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.


5 Hasil Model

5.1 Persamaan Model Terbentuk

\[\widehat{g}(x) = -230{,}06 + 1{,}929 \cdot \text{rainfall\_mm} - 0{,}012 \cdot \text{API\_5d}\]

5.2 Estimasi Parameter (Uji Wald)

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_mm signifikan (z = 4,335; p < 0,001) — semakin tinggi curah hujan, semakin besar log-odds eskalasi menjadi banjir bandang.
API_5d tidak signifikan (p = 0,591) — konsisten dengan temuan deskriptif bahwa rata-rata API_5d kedua kelas hampir identik.


6 Uji Simultan (Uji G)

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 |

7 Odds Ratio

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, dengan API_5d dikendalikan.


8 Goodness of Fit

8.1 Hosmer–Lemeshow Test

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.)

8.2 Pseudo R²

## 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)

9 Validasi: Train-Test Split

9.1 Prosedur Train-Test Split

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.

9.2 Kurva ROC

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.

9.3 Confusion Matrix — Perbandingan

Confusion Matrix — Data Penuh (n = 1.576)

Baris = Prediksi | Kolom = Aktual
Prediction Banjir Biasa Banjir Bandang
Banjir Biasa 1127 1
Banjir Bandang 0 448

Confusion Matrix — Data Uji (n = 314)

Baris = Prediksi | Kolom = Aktual
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.


10 Kesimpulan

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