Étude de cas · Hydroélectricité · Séries temporelles

Prévision du débit fluvial — lac Kariba

Prévision journalière du niveau et des débits sortants pour le plus grand réservoir artificiel au monde, sur données réelles de la Zambezi River Authority — horizon 30 jours, régresseur gradient boosté avec le débit turbiné en covariable exogène atteint un remarquable 7 cm de RMSE sur un niveau qui dérive dans une bande opérationnelle de 7 m.

Lecture · 8 min · 1658 mots Meilleur modèle · GBM avec covariables exogènes RMSE · 0,07 m (vs SARIMA 0,18 m, naïf 0,50 m) Couverture IP 95 % de SARIMA · 100 % Données · 1 155 obs. journalières · 2020–2023

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 :

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 :

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 :

CSV · KaggleRésolution journalière~3 ansMultivariée

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.

Niveau journalier du lac, débit turbiné et débit total sortant de 2020 à 2023
Figure 1. Haut : niveau journalier du lac montrant la récupération 2020–2023 depuis le creux de sécheresse, modulée par un cycle annuel. Milieu : débit turbiné avec variabilité opérationnelle. Bas : le débit total sortant suit de près le débit turbiné (le déversement était quasi nul sur cette fenêtre).
Cycle annuel : niveau moyen mensuel du lac vs débit turbiné
Figure 2. Cycle annuel. Le niveau moyen du lac (bleu) culmine en mai–juillet (après les pluies), creuse en nov.–déc. (fin de saison sèche). Le débit turbiné (orange) est en retard sur le niveau — les opérateurs capitalisent sur l'eau haute pendant les mois secs.
Matrice de corrélation des variables du réservoir
Figure 3. Matrice de corrélation. Le niveau du lac, le stockage utilisable et le stockage vif bougent comme un seul (r > 0,99) — les volumes de stockage sont des fonctions mécaniques du niveau. Le débit turbiné corrèle faiblement avec le niveau à l'échelle journalière ; la relation est surtout saisonnière et décalée.

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 :

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èleMAPERMSE (m)Couverture IP 95 %
GBM (avec exog. : débit turbiné, débit sortant)0.013%0.07
SARIMA(1,1,1)(1,1,1)70.027%0.18100%
UC + Fourier annual exog0.046%0.2490%
Naïf — dernière obs.0.085%0.50
Naïf — saisonnier (décalage 365 jours)0.39%1.90
Comparaison de prévision à 30 jours : SARIMA, UC et GBM par rapport au niveau réel
Figure 4. Comparaison de prévision sur fenêtre de validation de 30 jours. La ligne noire est le niveau réalisé. GBM (avec débit en exogène) suit le niveau réalisé si étroitement qu'il est difficile de les distinguer visuellement. L'IP 95 % de SARIMA (zone ombrée) est assez large pour que la ligne réelle reste confortablement à l'intérieur. L'UC dérive sous le niveau réalisé de quelques centimètres.
Le chiffre phare dans son contexte. 7 cm de RMSE sur un niveau qui varie dans une bande opérationnelle de ~7 m est une erreur relative de ~1 %. Sur un réservoir dont la baisse de 1 m coûte des centaines de GWh de production par an, c'est la différence entre planifier six semaines de production avec confiance et vivre au jour le jour sur la télémétrie des apports.

Compromis

Esquisse de déploiement

Pour la Zambezi River Authority et les opérateurs des centrales de Kariba :

Leçons

  1. 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.
  2. 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.
  3. 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.