Prédiction de l'Épidémie de COVID-19
Pipeline sans fuite sur 188 enregistrements quotidiens (Jan–Jul 2020). Cible = nouveaux cas quotidiens (stationnaire). CV Walk-forward TimeSeriesSplit. Modèle SEIR + ARIMA + XGBoost + LSTM + Transformer. Corrige la fuite sur les données cumulées.
188 jours de données COVID-19 mondiales (Jan–Jul 2020)
Delta quotidien stationnaire + CV walk-forward + SEIR + ARIMA + LSTM + Transformer
Prédiction des nouveaux cas quotidiens de COVID-19 avec corrections critiques de la fuite de données présente dans la plupart des solutions publiées.
4 Corrections Critiques vs v1
| Problème | Correction |
|---|---|
| ML entraîné sur comptages cumulatifs (fuite tendance future) | Cible = nouveaux cas quotidiens (stationnaire) |
| Incubation SEIR ~1 jour (biologiquement impossible) | Contrainte : incubation 5–14 jours |
| Découpage aléatoire entraînement/test (données futures dans l'entraînement) | Walk-forward TimeSeriesSplit CV |
| Transformers sous-entraînés (2 époques) | Plus d'époques + cosine LR |
Jeu de données
- ▸188 enregistrements quotidiens : 2020-01-22 → 2020-07-27
- ▸Features : confirmés, décès, rétablis, actifs (agrégat mondial)
Modèles Comparés
| Modèle | Type |
|---|---|
| SEIR | Modèle épidémiologique compartimental (optimisation scipy) |
| ARIMA | Auto (p,d,q), critère AIC |
| Gradient Boosting | Walk-forward, features lag |
| XGBoost | Optimisé Optuna |
| LSTM | Stateful, séquence-à-un |
| Transformer | Encodeur seul, encodage positionnel |
Modèle SEIR 4 compartiments : S→E→I→R. scipy.optimize avec bornes : β∈[0,1 ; 1,0], σ∈[1/14 ; 1/5], γ∈[1/14 ; 1/7]. Conditions initiales depuis les données du début de l'épidémie.
CV Walk-Forward Fenêtre expansive — chaque pli s'entraîne sur toutes les données antérieures et prédit un pas en avant. La seule évaluation correcte pour les séries temporelles ; les découpages aléatoires feraient fuir les comptages futurs vers l'entraînement.