Ensemble SARIMAX–XGBoost Model for Malaria Forecasting in Comoros
# Comoros Malaria Climate-Health Forecasting
Probabilistic weekly malaria forecasting for the **Ngadjizi region, Comoros** (7 districts),
using climate drivers — rainfall, temperature, and humidity.
Built on the CHAP (Climate Health Analytics Platform) model
specification. Models are fitted independently per district and produce calibrated probabilistic
forecasts as sample distributions.
---
## The Problem
Malaria transmission in Comoros is strongly seasonal, driven by the Indian Ocean climate.
The **hot season is the wet season**: high temperatures heat the ocean surface, driving
evaporation and rainfall. This means temperature and rainfall are positively co-seasonal —
a warm week predicts a wet week 1–3 weeks later, and both predict a mosquito breeding surge
1–4 weeks after that.
Early, calibrated forecasts let district health teams pre-position rapid diagnostic tests,
antimalarials, and bed nets *before* a transmission peak — not after it.
---
## What This Project Does
An 8-experiment research series that systematically builds and improves a probabilistic
malaria forecasting system:
| Step | What was done |
|---|---|
| Baseline benchmark | 7 models evaluated across 78 weeks train / 26 weeks test |
| Exp 01 | Per-district climate–case cross-correlation & lag analysis |
| Exp 02 | SARIMAX auto-ARIMA order selection vs fixed (1,0,1) |
| Exp 03 | District-specific informed feature selection (\|r\| > 0.10 threshold) |
| Exp 04 | Prophet hyperparameter tuning (40-config grid search) |
| Exp 05 | XGBoost calibration fix — residual bootstrap → quantile regression |
| Exp 06 | Rebuilt S+P+X ensemble with all tuned components |
| Exp 07 | **S+X ensemble discovered as champion** — Prophet removed from pool |
| Exp 08 | **Operational robustness** — CRPS degradation under climate forecast noise |
---
## Champion Model — Ensemble S+X
| Metric | Value |
|---|---|
| **CRPS** | **25.91** |
| **RMSE** | **48.84 cases/week** |
| **80% PI Coverage** | **76.9%** |
| **95 …