Comparaison de deux approches de prévision de séries temporelles, un modèle statistique classique (ARIMA) et un réseau récurrent (LSTM), sur les températures relevées à Rabat.
Projet académique.
Confronter une méthode statistique éprouvée à une approche par apprentissage profond sur la même série, afin d'évaluer si la complexité supplémentaire du LSTM se traduit par un gain réel de précision.
| Source | API Open-Meteo, archive météorologique ouverte |
| Variable | Température à 2 m du sol (temperature_2m) |
| Localisation | Rabat / Témara, Maroc |
| Période | 01/01/2020 → 31/12/2024 (5 années) |
| Volume brut | 43 848 relevés horaires |
| Prétraitement | Agrégation en moyennes journalières (resampling D, Pandas) |
Le passage à une résolution journalière réduit le bruit haute fréquence tout en conservant la tendance de fond et le cycle annuel, les deux composantes que les modèles doivent capter.
- ARIMA : modèle de référence (baseline). le futur comme combinaison linéaire des valeurs et erreurs passées. Simple, mais rigide face aux irrégularités.
- LSTM : chronologie transformée en apprentissage supervisé par fenêtres glissantes de 30 jours (lookback). L'enjeu est de vérifier si les portes de mémoire captent des dynamiques (vagues de chaleur, anomalies) qu'ARIMA ne peut structurellement pas prévoir.
Strategie_Exploration_Donnees/
├── get_weather_data.py # Collecte des données météo
├── rabat_temperature.csv # Série temporelle (températures, Rabat)
├── 02_ARIMA_Model.ipynb # Modèle ARIMA
├── 03_LSTM_Network.ipynb # Réseau LSTM
├── build_livrable.py # Génération du livrable HTML
├── Livrable_Seance_1.md
├── Livrable_Seance_2.html
├── chart_timeseries.png # Série brute
├── chart_monthly.png # Saisonnalité mensuelle
├── chart_boxplot.png # Distribution
└── pca_embeddings.png # Projection PCA
- Collecte : récupération de la série de températures via
get_weather_data.py - Exploration : série brute, saisonnalité mensuelle, distribution (boxplot)
- ARIMA : modèle statistique de référence
- LSTM : réseau récurrent sur la même série
- Comparaison : évaluation des deux modèles sur le même découpage chronologique
pip install pandas numpy matplotlib seaborn statsmodels scikit-learn tensorflowSur une série temporelle, le découpage entraînement/test doit rester chronologique
(shuffle=False) et toute comparaison de modèles doit être rapportée face à une
baseline naïve, un modèle de persistance est souvent difficile à battre sur des
séries fortement autocorrélées.
Amjad AAYD