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

Les outils MATLAB pour traiter les séries temporelles

  • Upload
    others

  • View
    10

  • Download
    0

Embed Size (px)

Citation preview

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