1

5.7 KiB
Raw Blame History

Cadre prédictif local

Objectif : poser les bases dun modèle sur-mesure qui prédit, au pas local de la station, la température, la pluie et le vent à plusieurs horizons (T+10 min, +60 min, +6 h, +24 h). On garde une approche expérimentale : on cherche à comprendre ce qui fonctionne ou échoue, non pas à atteindre une performance commerciale. Il ne s'agit pas ici de venir concurrencer Météo France, mais de jouer avec nos données et avec l'IA.

Cibles et horizons

  • Température (continue) ; Vitesse du vent (continue) ; Précipitations binaires (pluie ou neige oui/non). Éventuellement : événements extrêmes (forte chaleur/froid, risque dorage) vus comme des seuils.
  • Horizons évalués : T+10, T+60, T+360 (~6 h), T+1440 (~24 h) minutes pour voir quand notre modèle montrera ses faiblesses.

Métriques

  • Température / vent : MAE (Mean Absolute Error) = moyenne des écarts en valeur absolue, facile à lire en °C ou km/h ; RMSE (Root Mean Squared Error) pénalise davantage les grosses erreurs pour mieux voir les limites du modèle lorsque des écarts importants apparaissent.
  • Précipitations binaires : précision (part des annonces de pluie qui étaient justes), rappel (part des pluies réellement captées), F1 (compromis précision/rappel), Brier score (qualité des probabilités, plus il est bas mieux cest) et calibration des probabilités (est-ce quun 30 % de pluie signifie vraiment ~30 % des cas).
  • Événements extrêmes : même logique précision/rappel sur dépassement de seuils (chaleur/froid/rafale), avec suivi des fausses alertes pour rester prudent.

Limites à garder en tête

  • Pas dhiver complet dans le jeu actuel (mars→novembre) : les régimes froids et la neige sont absents.
  • Aucune info synoptique (pression régionale, nébulosité, vent en altitude) : le modèle reste “aveugle” au contexte large.
  • Pluie rare (~4 % des pas), donc classes déséquilibrées pour la partie pluie/orage.
  • Pas brut à 10 minutes : bon pour réactivité courte, mais bruité ; on testera aussi des features lissées.

Données et découpes

  • Source principale : data/weather_minutely.csv (pas 10 min), enrichissable au fil du temps. On peut réutiliser les CSV dérivés des chapitres précédents (matrices de lags/corrélations du chapitre 5, notamment) pour guider les lags utiles ou vérifier la cohérence.
  • Découpe temporelle sans fuite : partie train (début→~70 %), partie validation (~15 % suivant), partie test finale (~15 % le plus récent). Variante : time-series split “en rouleau”, où lon répète ce découpage plusieurs fois ; on appelle fold chaque paire (train, validation) ainsi construite.
  • Normalisation/standardisation : on calcule les paramètres (par exemple moyenne et écart-type) uniquement sur la partie train, puis on applique ces mêmes paramètres à la validation et au test. Cela évite dintroduire, par mégarde, des informations issues du futur dans les étapes de préparation des données.

Variables dérivées de base (simples et explicables)

  • Temps (sin/cos) : lheure et le jour de lannée sont périodiques ; représenter lheure avec sin/cos évite un faux saut entre 23h et 0h ou entre 31 déc et 1er jan. On encode ainsi heure/minute sur 24 h et jour de lannée sur 365 j.
  • Lags courts : valeurs à T-10, -20, -30 min pour chaque variable cible ; deltas (T0 T-10) pour décrire la tendance récente (la “pente”) : estce que la température, le vent ou la pression augmentent ou diminuent, et à quelle vitesse. Les lags analysés au chapitre 5 serviront dinspiration.
  • Moyennes glissantes : moyenne ou médiane sur 3060 min pour lisser le bruit ; cumul de pluie sur 3060 min pour connaître létat “humide” récent.
  • Composantes vent : (u, v) = (speed _ sin(direction), speed _ cos(direction)) pour représenter la direction sans discontinuité 0/360°.
  • Drapeaux dévénements : pluieen_cours (rain_rate > 0), vent_fort (seuil), chaleur/froid (seuils). Peuvent servir de _features et de cibles dérivées.

Références simples (points de comparaison)

  • Persistance : prédire que la valeur reste identique à T0 (par horizon).
  • Climatologie horaire : moyenne/quantiles par heure locale (et éventuellement par saison) pour température/vent ; fréquence de pluie par heure pour la pluie.
  • Moyenne mobile : prolonger la moyenne des 3060 dernières minutes comme prédiction à court terme.
  • Pluie rare : classifieur “toujours sec” comme référence minimale. Si un modèle ne fait pas mieux, il est probablement inutile.

Modèles à introduire dans les chapitres suivants

  • Modèles linéaires avec régularisation (Ridge/Lasso) pour températures/vents : même formule que la régression linéaire classique, mais avec un terme supplémentaire qui limite lampleur des coefficients pour réduire le surapprentissage (Ridge pénalise surtout les coefficients trop grands, Lasso peut en forcer certains à zéro).
  • Régression logistique pour la pluie : produit une probabilité de pluie plutôt quun oui/non brut, ce qui permet ensuite de choisir un seuil de décision adapté à lusage (plutôt prudent ou plutôt conservateur).
  • Si besoin de courbes plus flexibles : arbres peu profonds, random forest ou boosting légers pour capturer des relations non linéaires sans rendre le modèle complètement opaque.
  • Évaluation multi-horizons avec time-series split, courbes derreur en fonction de lhorizon pour voir à partir de quand le modèle décroche.
  • Pipeline dinférence local (pipeline de prédiction) : charger le dernier point, générer les variables dérivées, prédire T+10/+60/+360/+1440, journaliser lerreur au fil du temps pour suivre la qualité du modèle.