5.4 KiB
Modèle Chronos-2 (foundation model HF)
Objectif : tester un modèle de prévision généraliste récent (Chronos-2, Amazon) en zéro-shot sur notre station. On resample la température à l’heure, on coupe les dernières 96 h pour évaluer la prévision, et on compare le forecast à l’observé.
Mise en route
Installez les dépendances (pip install -r requirements.txt), puis lancez run_chronos.py. Le script lit data/weather_minutely.csv, resample la température en pas horaire, prend les 336 dernières heures en contexte et les 96 suivantes en cible. Il charge amazon/chronos-t5-small par défaut (modifiable via CHRONOS_MODEL), génère 20 échantillons dont on prend la moyenne, calcule MAE/RMSE, sauvegarde les CSV chronos_forecast_<model>.csv et chronos_errors_<model>.csv, et produit les figures associées dans docs/11 - Modèle Chronos/figures/.
Pour comparer plusieurs tailles, lancez run_chronos.py avec différents CHRONOS_MODEL (mini/small/base), puis compare_chronos.py agrège les CSV et trace la comparaison.
Paramètres
Modifiables via variables d’environnement : CHRONOS_MODEL (défaut amazon/chronos-t5-small), CHRONOS_CONTEXT (336 h), CHRONOS_HORIZON (96 h), CHRONOS_RESAMPLE (1h), CHRONOS_SAMPLES (20).
Résultats comparés (mêmes données, horizon 96 h)
Sur la même fenêtre de validation locale, nous avons testé trois tailles : chronos-t5-mini, chronos-t5-small et chronos-t5-base. Le modèle small est ressorti devant (MAE ≈ 3,68 °C, RMSE ≈ 4,53 °C), les versions mini et base étant derrière (MAE ≈ 4,18–4,24 °C, RMSE ≈ 5,3–5,6 °C). Autrement dit, monter en taille n’a pas amélioré la prévision à 96 h sur ces données locales ; la version small offre le meilleur compromis précision/poids.
Lecture et portée
Pour coller à nos horizons cibles, run_chronos_multi.py évalue Chronos-small sur 1 h, 6 h et 24 h pour la température, le vent et la pluie (horaire uniquement ; l’horizon 10 minutes n’est pas couvert par Chronos qui est pré-entraîné en pas horaire). Les figures chronos_multi_temperature.png, chronos_multi_wind_speed.png et chronos_multi_rain_rate.png illustrent où le modèle est le plus fiable : à 1 h, la température reste sous ~1,3 °C de MAE et le vent sous ~0,6 (unités du jeu) ; à 6 h, l’erreur grimpe modérément (≈2 °C temp., ≈3 km/h vent) ; à 24 h, elle dépasse 4–6 (°C/ km/h). Sur la pluie, le F1 reste nul à 1 h/6 h et ne monte qu’à ~0,15 à 24 h, signe que le modèle “foundation” horaire ne capture pas bien les occurrences locales rares. Les figures individuelles (chronos_forecast_<model>.png, chronos_errors_<model>.png) permettent de voir la trajectoire prédit vs observé et l’erreur par horizon.
Au total, Chronos-small fournit un signal exploitable sur la température et un peu sur le vent pour des horizons courts à intermédiaires, mais reste faible sur la pluie et se dégrade nettement au-delà de 24 h. Une calibration locale, davantage de contexte ou une cible adaptée (pluie binaire calibrée) seraient nécessaires pour en faire un outil de prévision robuste sur toutes les variables.
Réglages prudents (contexte 288 h, horizon limité à 64 h, 100 échantillons)
Avec run_chronos_tuned.py, on réduit le contexte (288 h) et l’horizon maximum (64 h) tout en augmentant les échantillons (100). Sur la même fenêtre locale, la température s’améliore nettement : MAE ~0,75 °C à 1 h, ~1,27 °C à 6 h, ~3,40 °C à 24 h (vs 1,33/2,02/4,84 auparavant). Le vent progresse surtout à 24 h (≈2,39 contre ~6,38 auparavant), même si le 1 h est moins bon que la première passe. La pluie reste instable : le F1 peut atteindre 0,22–0,28 à 24–48 h mais les scores courts sont peu fiables. Limiter l’horizon à 64 h, raccourcir le contexte et lisser par davantage d’échantillons améliorent donc la température et le vent, mais ne suffisent pas à rendre la pluie prédictible.
Dernier essai “comme en vrai” : prévision sur les 6 dernières heures
On a masqué les 6 dernières heures de la série et demandé à Chronos-small (contexte 288 h, 50 échantillons) de prévoir température, vent (vitesse + direction), humidité et pression, puis comparé aux valeurs réelles. Moyennes des erreurs absolues sur ces 6 pas : température ~0,84 °C, vent ~1,2 km/h, direction ~3,9°, pression ~5,3 hPa, humidité ~24 %. Les erreurs restent très contenues sur température/vent et la direction est raisonnable (quelques degrés) ; la pression dérive (5 hPa) et l’humidité est clairement décalée. Ce test confirme que Chronos peut fournir des tendances crédibles à très court terme (<6 h) sur température et vent, mais pas sur l’humidité (et on a vu plus haut que la pluie reste peu fiable).







