Résumé
Un régresseur gradient boosté utilisant le débit turbiné en temps réel comme covariable exogène prévoit le niveau journalier du lac Kariba avec 7 cm de RMSE sur un horizon de 30 jours — contre 18 cm pour SARIMA, 24 cm pour un modèle à espace d'états (composantes non observées) et 50 cm pour la référence naïve « dernière observation ». SARIMA et l'espace d'états offrent tous deux des intervalles de prédiction bien calibrés (couverture empirique de 95–100 % au niveau nominal 95 %), ce qui en fait le meilleur choix pour des décisions de dispatch conscientes du risque, même si leurs prévisions ponctuelles sont en retrait.
Le même compromis que PJM, dans un contexte à plus forts enjeux : le ML gagne sur la précision ponctuelle, les modèles structurels gagnent sur l'incertitude calibrée. Livrez l'ensemble.
Pourquoi c'est important
Le lac Kariba est le plus grand réservoir artificiel au monde en volume d'eau, sur le fleuve Zambèze entre la Zambie et le Zimbabwe. Son niveau pilote environ 1 800 MW de production hydroélectrique à travers les centrales de Kariba South (Zimbabwe) et Kariba North (Zambie). La bande opérationnelle est étroite :
- Sous ~475 m : les turbines ne peuvent pas fonctionner en sécurité ; la production tombe à zéro.
- ~475–482 m : déclassement progressif ; chaque baisse de 1 m coûte des centaines de GWh de production par an.
- Au-dessus de ~488 m : le déversoir s'ouvre ; l'eau est lâchée sans produire d'électricité.
Les sécheresses de 2015–2016 et 2019–2020 ont poussé le lac à moins d'un mètre de son niveau opérationnel minimum, forçant des délestages tournants dans les deux pays. Une prévision précise au centimètre près sur un horizon de 30 jours informe directement : le dispatch turbiné, la coordination en aval avec Cahora Bassa (Mozambique) et les négociations de partage de l'eau entre les deux États membres de la Zambezi River Authority.
La question métier
Deux décisions opérationnelles consomment la prévision :
- Planification de production: avec quelle agressivité dispatcher sur les 30 prochains jours, en équilibrant les revenus d'aujourd'hui contre les réserves d'eau du mois prochain.
- Négociation risque & délestage: quantifier la probabilité que le lac passe sous les seuils opérationnels dans les scénarios où les apports sous-performent.
La première veut la prévision ponctuelle la plus précise ; la seconde veut des bandes d'incertitude honnêtes. Même entrée de prévision, décisions aval différentes — le même schéma que l'étude PJM, avec des enjeux bien plus élevés par point de pourcentage d'erreur.
Données
Données du réservoir du lac Kariba depuis le jeu de données public Kaggle marbin/lake-kariba-reservoir-data : 1 155 observations journalières du 1er jan. 2020 au 28 fév. 2023, couvrant :
lake_level(m) — la cible à prévoirusable_storage,live_storage: volumes dérivésturbine_discharge(m³/s) — eau lâchée pour la productionspillage(m³/s) — déversement d'urgence (quasi nul sur cette période)total_outflow(m³/s) — turbiné + déversé combinés
EDA
La série du niveau du lac est dominée par un cycle annuel lent (la saison des pluies de nov. à avr. remplit le lac ; la saison sèche de mai à oct. le vide) et une tendance de récupération à long terme jusqu'en 2022 après le creux de la sécheresse de 2019–2020. Le débit turbiné est anti-corrélé au niveau du lac à l'échelle saisonnière (les opérateurs turbinent plus quand le lac est haut) et montre une variation hebdomadaire liée aux schémas de demande du réseau.
Approche de modélisation
Trois candidats, tous prévoyant la série journalière lake_level à 30 jours. La fenêtre de validation est constituée des 30 derniers jours du jeu de données.
1. SARIMA en référence
SARIMAX(1,1,1)(1,1,1)7. Capture l'autocorrélation à courte portée et les cycles hebdomadaires. Le cycle annuel doit être absorbé implicitement par le terme d'intégration — une faiblesse connue sur une série aussi fortement saisonnière.
2. Espace d'états — UnobservedComponents + Fourier exogène
UnobservedComponents avec une composante de niveau à tendance localement linéaire, niveau et pente stochastiques, et trois paires d'harmoniques annuelles de Fourier passées en régresseurs exogènes. Le filtre de Kalman fournit les intervalles de prédiction.
3. Concurrent ML — régression gradient boostée avec covariables exogènes
GradientBoostingRegressor(n_estimators=400, max_depth=3, learning_rate=0.05) sur les variables construites :
- Calendaires :
dow,month,doy_sin,doy_cos - Décalages de
lake_level: 1, 2, 7, 14, 30 jours - Moyennes glissantes (décalées de 1 pour éviter la fuite) : 7 jours, 30 jours
- Covariables exogènes :
turbine_dischargeettotal_outflow, décalage 1 et moyennes glissantes 7 jours
C'est le levier qui fait passer le RMSE de ~18 cm (SARIMA, niveau seul) à 7 cm (GBM, avec débit en exogène). La relation structurelle « niveau du lac demain = niveau aujourd'hui + (apports − sorties) » est quelque chose que le GBM peut apprendre directement quand on lui donne les données de sorties ; SARIMA, ne travaillant que sur l'historique du niveau, doit la déduire.
Résultats
Test de validation à 30 jours, RMSE en mètres, MAPE sur le niveau du lac (borné autour de 478 m, donc les valeurs de MAPE sont minuscules) :
| Modèle | MAPE | RMSE (m) | Couverture IP 95 % |
|---|---|---|---|
| GBM (avec exog. : débit turbiné, débit sortant) | 0.013% | 0.07 | — |
| SARIMA(1,1,1)(1,1,1)7 | 0.027% | 0.18 | 100% |
| UC + Fourier annual exog | 0.046% | 0.24 | 90% |
| Naïf — dernière obs. | 0.085% | 0.50 | — |
| Naïf — saisonnier (décalage 365 jours) | 0.39% | 1.90 | — |
Compromis
- Le chiffre phare du GBM dépend de la disponibilité du débit en temps réel. Si le comptage du débit est retardé ou manquant — un risque réel sur un réservoir transfrontalier — le GBM se dégrade vers la même famille de précision que SARIMA. Les modèles structurels tiennent quoi qu'il arrive.
- Le régime de sécheresse 2019–2020 est dans les données d'entraînement. Le modèle a vu un cycle complet sécheresse-récupération, pas plusieurs. Une seconde sécheresse de gravité égale ne serait pas sans précédent du point de vue de la distribution d'entraînement, mais une plus sévère extrapolerait.
- Les prévisions d'apports manquent volontairement. Coupler des prévisions de pluie / ruissellement (CHIRPS, précipitations NASA POWER) en covariables exogènes supplémentaires resserrerait probablement les trois modèles. L'objectif de l'étude était de comparer les familles de modélisation sur le même ensemble d'information, pas d'ingénier un système de production à précision maximale.
- Interprétabilité. SARIMA et UC exposent des composantes décomposées (niveau, pente, saisonnalité). L'importance des variables du GBM est informative mais moins auditable dans un contexte de service public régulé.
Esquisse de déploiement
Pour la Zambezi River Authority et les opérateurs des centrales de Kariba :
- Service : FastAPI
GET /forecast?horizon=30drenvoyant le niveau moyen journalier (ensemble GBM) + intervalle de prédiction 95 % (espace d'états UC) pour le mois suivant. - Endpoint complémentaire :
/outflowpour les prévisions de débit total sortant, utilisé par la coordination en aval avec Cahora Bassa. - Tableau de bord : panneau Streamlit pour la ZRA — niveau actuel, bande de prévision à 30 jours, scénario défavorable (10e percentile d'apport), estimation d'impact sur la production par scénario.
- Réentraînement : cron hebdomadaire reconstruit les modèles sur les 3 dernières années.
- Alertes : PagerDuty si un quelconque quantile de la prévision à 30 jours franchit 475 m (seuil de sécurité turbine) — préalerte pour les négociations de délestage.
Leçons
- Les covariables exogènes dominent lorsqu'elles existent. La réduction de 60 % du RMSE (SARIMA → GBM) est presque entièrement attribuable à l'inclusion du débit turbiné dans les variables. Choisir les bonnes entrées bat choisir le bon algorithme.
- Les cibles lentes à fort enjeu ont besoin d'IP étroits, pas seulement d'un MAPE bas. Une erreur ponctuelle de 7 cm est serrée — mais sur ce type d'actif, « quelle est la probabilité de franchir le seuil opérationnel dans les 30 prochains jours » est la question qui pilote les décisions. L'intervalle calibré de SARIMA est souvent plus utile que la moyenne plus serrée du GBM.
- Les données ouvertes africaines réelles sont suffisantes. Le lac Kariba est un réservoir transfrontalier entre deux pays africains ; les données journalières existent et sont publiquement accessibles sur Kaggle. Le modèle s'étendrait proprement à Cahora Bassa et à d'autres barrages africains une fois des données équivalentes publiées.