Une mthode de prvision un pas de temps









































- Slides: 41
Une méthode de prévision à un pas de temps Application à la prévision de la qualité de l’air S. Canu, Ph. Leray, A. Rakotomamonjy laboratoire PSI, équipe « systèmes d’information pour l’environnement » psichaud. insa-rouen. fr/~scanu
Plan de route u les données de l’agglomération rouennaise u nettoyage des données - validation de capteurs u prévision à un pas de temps • le problème d’apprentissage • une méthode de sélection de variables pertinentes • l’algorithme d ’apprentissage • illustrations u conclusions • validation de données • prévision à un jour
Les données brutes de Rouen - SO 2 : DRIR, CARL, EXPO, DVIL et SOTT, - NO 2 : DRIR, CARL et EXPO - O 3 : DRIR, CARL et EXPO 11 variables pendant 3 ans
Les données brutes - SO 2 : DRIR, CARL, EXPO, DVIL et SOTT, - NO 2 : DRIR, CARL et EXPO - O 3 : DRIR, CARL et EXPO – 11 variables pendant 3 ans, – une donnée toutes les heures (365*24 = 8760)
1998
NO 2 (1998)
SO 2 98
Ozone (O 3)
Ozone 98 - données manquantes
Données manquantes 97 sur 24*365= 8760 points 98 sur 8760 points valeurs manquantes SO 2 1049 359 57 574 131 valeurs manquantes SO 2 241 393 161 164 45 valeurs manquantes O 3 5206 251 117 valeurs manquantes O 3 36 219 27 valeurs manquantes NO 2 200 329 783 valeurs manquantes NO 2 187 52 355
O 3 corrélations 98
Nettoyage - principe O 3(t+1) Modèle linéaire
Nettoyage - résultat
Nettoyage - résultat (détail)
Histogramme des indices ATMO sur Rouen (1997 et 1998)
Indice ATMO sur Rouen 1997
Indice Atmo sur Rouen 1998
Causes des pics de pollutions à Rouen « statistiquement » non significatif conjectures : • été : pics d’ozone • hiver : pics de NO 2 -SO 2 Précurseur ? Qui est précurseur de qui Fiabilité des capteurs ?
Prévision du maximum sur un jour de ozone Il est minuit…. . Variables explicatives Que va t’il se passer demain variable à prévoir O 3(t-24: t) max(O 3(t+1: t+25)) f(x) = y f inconnue, de « taille » inconnue
Apprentissage à partir d'exemples • Données : (xi, yi) i=1, n • Principe inductif : Minimisation risque empirique • Ce n’est pas suffisant. . .
Contrôler la complexité “effective” • • Taille du réseau limiter les poids Arrêter l’apprentissage estimer la complexité B 1 B k* Bn
Choix de contrôle de la complexité le cas linéaire
Choix de contrôle de la complexité le cas linéaire Erreur sélection de l'hyperparamètre 0 0. 01 1 10 * Estimer l’erreur, la vraie
Choix de contrôle de la complexité le cas linéaire Erreur sélection de l'hyperparamètre 0 0. 01 1 10 * Estimer l’erreur, la vraie 0 0. 0250 0 0. 0249 0 0. 0915 0. 0231 0 0 -0. 0296 0 0 -0. 0006 0 0. 1049 0 0. 1938 0. 2810 0. 0857 0 0 -0. 1117
Choix de contrôle de la complexité le cas NON linéaire (PMC) -0. 0126 -0. 0421 -0. 0247 -0. 0232 -0. 0000 -0. 0593 -0. 0361 0. 0019 0. 0188 0. 0115 -0. 0000 0 -0. 0418 -0. 0046 0. 0027 -0. 0538 -0. 3224 0 -0. 2225 -0. 1403 -0. 0981 0 0. 0039 0. 0925 -0. 2475 sélection des variables pertinentes Erreur sélection de l'hyperparamètre 0 0. 01 1 10 * Estimer l’erreur, la vraie -0. 0394 -0. 0115 0. 0396 -0. 0038 0. 0000 -0. 1292 0. 0079 -0. 0003 -0. 0001 0. 0194 0. 0000 0 -0. 0224 0. 0014 0. 0099 -0. 0352 0. 4414 0 0. 0485 -0. 5140 -0. 0319 0 -0. 0025 0. 1301 1. 6639
Estimation de l’erreur par validation croisée x Pour j=1: 5 xi = X; yi = y; xt = xi((j-1)*n+1: j*n, : ); yt = yi((j-1)*n+1: j*n, : ); xi((j-1)*n+1: j*n, : ) = []; yi((j-1)*n+1: j*n, : ) = []; test Apprentissage xi [W 1 opt, W 2 opt] = MLParmsfit(xi, yi, W 1, W 2, lambda); yprev 1 t = MLPval(xt, W 1 opt, W 2 opt, F 1, F 2); errarmst = errarmst+mean((yprev 1 t-yt). ^2); errarmsat = errarmsat+mean(abs(yprev 1 t-yt)); end
Estimation de l’erreur de prévision Stacking (Wolpert 92): on ajoute toutes les variables explicatives possibles Erreur obtenue sur les yi de test de la validation croisée f(x) = y f inconnue, de « taille » inconnue lt = 2 l (Nadaraya Watson Hardle 88)
Algorithme 1. Séparation des données apprentissage (97) - test (98) 2. Identification du modèle 2. 1 modèle de prévision 2. 1. 1 calcul de (validation croisée) 2. 2. 1 estimation du modèle 2. 2 prévision de l’erreur variables explicatives = [x, yp] variable à prévoir = abs(yp - y) = 2 3. Évaluation du modèle
Comparaison de trois modèles 1. Modèle linéaire 2. Modèle linéaire régularisé 3. Modèle non linéaire : réseau de neurones de type perceptron multicouche
Cohérence des années 97 98
97 98
97 - 98 max O 3
du modèle linéaire Err CV Err abs CV
pour le MLP Err CV Err abs CV
Prévision : résultats Régression linéaire App 97 133. 8. 59 98 107. 7. 52 Test 98 340. 14. 7 97 341. 14. 4 MSE MAE ARM MLP 135. 110. 8. 48 7. 57 165. 9. 16 131. 8. 16 254. 285. 12. 6 12. 8 148. 197. MSE MAE Modèle persistant : 97 : 202. - 9. 7 8. 83 9. 96 MSE MAE , 98 : 169. - 8. 7
Résultats : modèle linéaire
Résultats : modèle linéaire (détail)
Résultats pour le MLP t
Résultats pour le MLP (détail) t
Résultats pour le MLP (détail) t
Conclusion • on dispose d’une méthodologie – prévision – estimation de l’erreur • reste à : – choisir le problème (y, été) – choisir les bonnes « entrées » (x, méteo) – disposer de suffisamment de données. . . pour la validation (domaine de validité du modèle) on fait de la « programmation par l’exemple »