Les outils MATLAB pour traiter les séries temporelles

37
Les outils MATLAB pour Les outils MATLAB pour traiter les séries temporelles traiter les séries temporelles Exemples sur une série du PSMSL : Exemples sur une série du PSMSL : hauteurs d’eau de la station BREST hauteurs d’eau de la station BREST Karine Le Bail – IGN/ENSG/LAREG Champs Sur Marne

Transcript of Les outils MATLAB pour traiter les séries temporelles

Page 1: Les outils MATLAB pour traiter les séries temporelles

Les outils MATLAB pour Les outils MATLAB pour traiter les séries temporellestraiter les séries temporelles

Exemples sur une série du PSMSL : Exemples sur une série du PSMSL : hauteurs d’eau de la station BRESThauteurs d’eau de la station BREST

Karine Le Bail – IGN/ENSG/LAREGChamps Sur Marne

Page 2: Les outils MATLAB pour traiter les séries temporelles

PLAN de la présentationPLAN de la présentation

• Présentation succincte de MATLAB• Les boîtes à outils par défaut• La boîte à outils TSA (Time Series

Analysis)

Page 3: Les outils MATLAB pour traiter les séries temporelles

MATrix LABoratoryMATrix LABoratory (MATLAB)(MATLAB)

• Environnement de calcul matriciel simple, efficace, interactif et portable

• Programmation aisée• Organisation par

« toolbox » (stats,wavelet, signal,splines, map,…)

• Développement

Page 4: Les outils MATLAB pour traiter les séries temporelles

STATS TOOLBOX(1)STATS TOOLBOX(1)

• Statistiques descriptives :– Moyenne, médiane, variance, kurtosis, obliquité

(skewness)…– la boîte de dispersion :

• Quartile bas – médiane – quartile haut• Ligne pour marquer l’étendue• Outliers

Page 5: Les outils MATLAB pour traiter les séries temporelles

Moyenne : 6983.1 mmEcart-type : 103.08 mmMédiane : 6979 mmKurtosis : 3.5265Obliquité : 0.42857

Page 6: Les outils MATLAB pour traiter les séries temporelles

Remarque : les points aberrants

Page 7: Les outils MATLAB pour traiter les séries temporelles

• Méthode de régression robuste (MC et MCP): choix des pondérations– Andrews : w = (abs(r)<pi) .* sin(r) ./ r1.339– Bisquare : w = (abs(r)<1) .* (1 - r.^2).^24.685– Cauchy : w = 1 ./ (1 + r.^2)2.385– Fair : w = 1 ./ (1 + abs(r))1.400– Huber : w = 1 ./ max(1, abs(r))1.345– Logistic : w = tanh(r) ./ r1.205– Talwar : w = 1 * (abs(r)<1)2.795– Welsch : w = exp(-(r.^2))2.985

STATS TOOLBOX(2)STATS TOOLBOX(2)

Page 8: Les outils MATLAB pour traiter les séries temporelles
Page 9: Les outils MATLAB pour traiter les séries temporelles

• Ajustement de courbes : interface « Basic Fitting » d’après une figure– Choix de l’ajustement de courbes (linéaire,

spline, cubique, polynôme de degré 1 à 10,…)– Équation de la courbe– Graphe des résidus

STATS TOOLBOX(3)STATS TOOLBOX(3)

Page 10: Les outils MATLAB pour traiter les séries temporelles
Page 11: Les outils MATLAB pour traiter les séries temporelles

• Problème de la boîte à outils STATS : pour une série temporelle, il faut prendre en compte une pente, une tendance alors que ces outils statistiques sont intemporels;

• Problème des statistiques des séries temporelles : combler les trous.

Page 12: Les outils MATLAB pour traiter les séries temporelles

Combler les trous?

Page 13: Les outils MATLAB pour traiter les séries temporelles

Interpolation de séries temporellesInterpolation de séries temporelles

• Fonction interp1 avec les options :– Interpolation au voisinage proche– Interpolation linéaire– Interpolation « spline cubic piecewise »– Interpolation d’Hermite « cubic piecewise »

Page 14: Les outils MATLAB pour traiter les séries temporelles

Interpolation de séries temporellesInterpolation de séries temporelles

• Fonction interp1 avec les options :– Interpolation au voisinage proche– Interpolation linéaire– Interpolation « spline cubic piecewise »– Interpolation d’Hermite « cubic piecewise »

Page 15: Les outils MATLAB pour traiter les séries temporelles
Page 16: Les outils MATLAB pour traiter les séries temporelles

Interpolation de séries temporellesInterpolation de séries temporelles

• Fonction interp1 avec les options :– Interpolation au voisinage proche– Interpolation linéaire– Interpolation « spline cubic piecewise »– Interpolation d’Hermite « cubic piecewise »

Page 17: Les outils MATLAB pour traiter les séries temporelles
Page 18: Les outils MATLAB pour traiter les séries temporelles

Interpolation de séries temporellesInterpolation de séries temporelles

• Fonction interp1 avec les options :– Interpolation au voisinage proche– Interpolation linéaire– Interpolation « spline cubic piecewise »– Interpolation d’Hermite « cubic piecewise »

Page 19: Les outils MATLAB pour traiter les séries temporelles
Page 20: Les outils MATLAB pour traiter les séries temporelles

Interpolation de séries temporellesInterpolation de séries temporelles

• Fonction interp1 avec les options :– Interpolation au voisinage proche– Interpolation linéaire– Interpolation « spline cubic piecewise »– Interpolation d’Hermite « cubic piecewise »

Page 21: Les outils MATLAB pour traiter les séries temporelles
Page 22: Les outils MATLAB pour traiter les séries temporelles

WAVELET TOOLBOXWAVELET TOOLBOXDécomposition du signal et reconstructionDécomposition du signal et reconstruction

• Utilisation de l’outil d’interface des ondelettes :– Décomposition du signal : options pour

l’ondelette choisie (« low-pass » et « high-pass », Daubechies/Haar, Coiflets, Symlets, Meyer discret, bi orthogonal, bi orthogonal inversé)

– Dé-bruitage (plusieurs options : ‘rigrsure’ utilise le principe du risque non biaisé de Stein)

Page 23: Les outils MATLAB pour traiter les séries temporelles
Page 24: Les outils MATLAB pour traiter les séries temporelles
Page 25: Les outils MATLAB pour traiter les séries temporelles

WAVELET TOOLBOXWAVELET TOOLBOXDécomposition du signal et reconstructionDécomposition du signal et reconstruction

• Utilisation de l’outil d’interface des ondelettes :– Décomposition du signal : options pour l’ondelette

choisie (« low-pass » et « high-pass », Daubechies, Coiflets, Symlets, Meyer discret, bi orthogonal, bi orthogonal inversé)

– Dé-bruitage (plusieurs options : ‘rigrsure’ utilise le principe du risque non biaisé de Stein)

• Génération de bruits (blancs par exemple)• Gestion des problèmes de bord

Page 26: Les outils MATLAB pour traiter les séries temporelles

SIGNAL PROCESSING TBSIGNAL PROCESSING TB• Création de filtres• Filtres passe-bande (utilisation des

fonctions de Yulewalk, Butter et Cheyb1)• Filtres par transformées (Fourier

discrète/continue et Chirp-z)• Analyse spectrale : outil Spectral Viewer

– Spectrogramme– Puissance spectrale

• Modulation : création de signaux

Page 27: Les outils MATLAB pour traiter les séries temporelles
Page 28: Les outils MATLAB pour traiter les séries temporelles

Time Time SeriesSeries AnalysisAnalysis : outils : outils développés à Graz (Pr. développés à Graz (Pr. SchoeglSchoegl))

• Tendance : estimation d’un polynôme• Fonctions d’auto covariance et d’auto

corrélation• Paramètres auto régressifs – processus

ARMA, d’auto régression adaptée (basée sur filtre de Kalman) et auto régression à moyenne mobile adaptée (AARMA)

• Fonction d’entropie• Spectre en deux dimensions

Page 29: Les outils MATLAB pour traiter les séries temporelles
Page 30: Les outils MATLAB pour traiter les séries temporelles

Time Time Series AnalysisSeries Analysis : outils : outils développés à Graz (Pr. développés à Graz (Pr. SchoeglSchoegl))

• Tendance : estimation d’un polynôme• Fonctions d’auto covariance, d’auto

corrélation et d’auto corrélation partielle• Paramètres auto régressifs – processus

ARMA, d’auto régression adaptée (basée sur filtre de Kalman) et auto régression à moyenne mobile adaptée (AARMA)

• Fonction d’entropie• Spectre en deux dimensions

Page 31: Les outils MATLAB pour traiter les séries temporelles
Page 32: Les outils MATLAB pour traiter les séries temporelles

Time Time Series AnalysisSeries Analysis : outils : outils développés à Graz (Pr. développés à Graz (Pr. SchoeglSchoegl))

• Tendance : estimation d’un polynôme• Fonctions d’auto covariance, d’auto

corrélation et d’auto corrélation partielle• Paramètres auto régressifs – processus

ARMA, d’auto régression adaptée (basée sur filtre de Kalman) et auto régression à moyenne mobile adaptée (AARMA)

• Fonction d’entropie• Spectre en deux dimensions

Page 33: Les outils MATLAB pour traiter les séries temporelles
Page 34: Les outils MATLAB pour traiter les séries temporelles

Time Time Series AnalysisSeries Analysis : outils : outils développés à Graz (Pr. développés à Graz (Pr. SchoeglSchoegl))

• Tendance : estimation d’un polynôme• Fonctions d’auto covariance, d’auto

corrélation et d’auto corrélation partielle• Paramètres auto régressifs – processus

ARMA, d’auto régression adaptée (basée sur filtre de Kalman) et auto régression à moyenne mobile adaptée (AARMA)

• Fonction d’entropie• Spectre en deux dimensions

Page 35: Les outils MATLAB pour traiter les séries temporelles
Page 36: Les outils MATLAB pour traiter les séries temporelles
Page 37: Les outils MATLAB pour traiter les séries temporelles

CONCLUSIONCONCLUSION• Inconvénients :

– L’aide est trop imprécise, les explications ne sont pas assez claires

• Avantages :– Facilité pour la programmation et

l’implémentation de nouveaux modules

• Perspective : la toolbox « Time Frequency » développée au CNES