Guides de référence

Prétraitement de données de séries temporelles avec MATLAB

Ce guide de référence présente des cas d'utilisation courants, mais n'est en aucun cas exhaustif.

Timetable

Type de données MATLAB conçu pour organiser et traiter des données de séries temporelles.

Les composants d'une timetable

tt = timetable(times, var1, var2, ... ,varN);

(Toutes les variables doivent comporter le même nombre de lignes.)

tt = table2timetable(t);

(La première variable de type « datetime » ou « duration » dans « t » devient l'horodatage des lignes.)

Manipulation des timetables

Accéder aux données

Ces commandes renvoient le même tableau.

tt.Temperature

tt{:,'Temperature'} tt{:,1}

En savoir plus

Ajouter une nouvelle variable

tt.newVar = zeros(height(tt),1);

Modifier les noms de variables

tt.Properties.VariableNames = newNames;

(Les noms doivent être des identifiants MATLAB valides.)

Conseil : Utilisez matlab.lang.makevalidname pour créer des noms valides à partir de noms potentiellement non valides.

Rééchantillonner les données à l'aide de Retime

tt = retime(tt,newtimes,method);

method est utilisée pour remplir les lacunes après un rééchantillonnage (re-timing) et possède les mêmes options que synchronize (voir « Fusionner des timetables »).

Nettoyage des données

Lisser les données

B = smoothdata(A,method);

Lissez des données bruitées à l'aide des méthodes suivantes :

'movmean','movmedian','gaussian', 'lowess','loess','rlowess', 'rloess','sgolay'

En savoir plus

Détecter les valeurs aberrantes

TF = isoutlier(A,method);

Identifiez les valeurs aberrantes à l'aide des méthodes suivantes :

'median','mean','quartiles', 'grubbs','gesd'

En savoir plus

Détecter les points de changement

TF = ischange(A,method);

Trouvez les changements brusques à l'aide des méthodes suivantes : 'mean','variance','linear'

En savoir plus

Fusion de timetables

Synchronisez plusieurs timetables sur un vecteur temporel commun.

tt = synchronize(tt1,tt2,...,ttN);

En savoir plus

La synchronisation entraîne souvent des données manquantes (des moments où une variable n'a pas été mesurée). synchronize supporte plusieurs méthodes d'ajustement des données pour combler ces lacunes :

Combler : 'fillwithmissing','fillwithconstant'

Interpolation : 'linear','spline','pchip'

Plus proche voisin : 'previous', 'next','nearest'

Agrégation : 'mean','min','max',@func,...

Données manquantes

Trouver des valeurs manquantes

TF = ismissing(tt);

En savoir plus

Remplir les valeurs manquantes

tt = fillmissing(tt,method);

Remplissez les valeurs manquantes par des valeurs calculées à partir des points voisins, à l'aide des méthodes suivantes :

'previous','next','nearest',

'linear','spline','pchip'

En savoir plus

Supprimer les lignes contenant des valeurs manquantes

tt = rmmissing(tt);

Big Data

Les tall arrays permettent d'étendre les fonctions MATLAB pour traiter les données trop volumineuses pour être chargées en mémoire.

Créer une timetable « tall »

% Créer un datastore pointant vers % les données

ds = datastore('*.csv');

% Créer une table « tall » à partir du % datastore

t = tall(ds);

En savoir plus

% Convertir en timetable

tt = table2timetable(t);