Machine Learning, Time Series
07/11/2022

Améliorer la qualité des données de prédiction par la méthode « Robust Principal Component Analysis » - cas Transilien SNCF


Auteurs : Hông-Lan Botterman, Thomas Morzadec, Julien Roussel
Temps de lecture : 6 minutes
Quantmetry.com : Améliorer la qualité des données de prédiction par la méthode « Robust Principal Component Analysis » - cas Transilien SNCF

Le développement des modèles d’apprentissage statistique a été très rapide ces dernières années. Un large choix de modèles est aujourd’hui disponible, et leur performance ne cesse de s’améliorer (Random Forest, XGBoost, LightGBM, modèles de Deep Learning…). Mais quelle que soit la performance de ces modèles, les données sont nécessaires à leur entraînement, et leur performance dépend crucialement de la quantité mais aussi de la qualité de ces données.

La qualité des données est donc un enjeu majeur pour l’apprentissage statistique. Les mesures peuvent être soumises à de nombreux types de corruptions : lacunes, bruit, anomalies ponctuelles ou collectives. Ces anomalies sont généralement dues à une défaillance du système de mesure ou à une perturbation réelle mais rare. Dans tous ces cas, il faut repérer et traiter ces valeurs exceptionnelles.

Nous avons utilisé la méthode « Robust Principal Component Analysis » (RPCA), avec plusieurs de ses variantes, dans le cadre de notre projet R&D AIfluence , en partenariat avec la SNCF et le Centre Borelli de l’ENS Paris-Saclay. Elle a permis d’améliorer la qualité des jeux de données de comptage de validations et de montées à bord des rames des voyageurs, et a ainsi permis d’améliorer la performance des modèles de prédictions. Nous vous la présentons ici.

Un exemple en séries temporelles : l’affluence sur le réseau Transilien de la SNCF

Nombre de validations par jour aux portiques de la gare Saint-Lazare, entre 2015 et 2019 (en open data).

st_lazare

Nous pouvons constater la présence de données anormales au début de l’année 2018. Aussi, à plusieurs reprises, le nombre de validations est nul. Il pourrait s’agir d’un défaut du système de mesure, qui n’a compté aucun passager ce jour-là car il était désactivé. Il convient d’automatiser la détection de ces anomalies, d’évaluer leur effet sur un modèle d’apprentissage statistique et de les corriger, si nécessaire.

Plusieurs méthodes sont couramment utilisées pour détecter les anomalies. Par exemple, des méthodes statistiques consistant à considérer comme anormale une valeur qui s’écarte de la moyenne des données de plusieurs fois leur écart-type, avec la moyenne et l’écart-type éventuellement estimés sur des fenêtres glissantes en cas d’évolution temporelle (méthode dite du « z-score »). Pour être plus robuste aux anomalies, on peut remplacer la moyenne par la médiane et l’écart-type par la median absolute deviation. D’autres méthodes plus complexes existent comme les isolation forests fondées sur des arbres de décision (voir par exemple [1]).

La suppression des anomalies créé des trous dans les données, qui peuvent s’ajouter à des trous déjà existants. Pour l’imputation, de nombreuses méthodes existent, comme l’imputation par la moyenne, la médiane ou encore des méthodes itératives telles que MICE.

Dans cet article, on aborde une méthode fondée sur une technique de réduction de la dimension, l’Analyse en Composantes Principales ou PCA (Principal Components Analysis). Et surtout sa version robuste aux anomalies, dite Robust PCA.

Analyse en Composantes Principales (PCA)

Parmi les problématiques en science des données se trouve la « malédiction de la dimension ». On peut la résumer ainsi : la quantité de données nécessaire pour approcher une fonction croît exponentiellement avec la dimension de l’espace. Autrement dit, plus la dimension est grande, plus il faut de données pour remplir l’espace.

Une technique pour pallier ce problème consiste à réduire la dimension grâce à la PCA. Cette méthode suppose que la majeure partie de l’information des données est contenue dans un sous-espace de dimension inférieure à celui de l’espace entier, et à projeter les données sur cet espace. Cette projection correspond à l’information pertinente, corrigée, et la différence entre les données initiales et leur projection est interprétée comme un bruit, ou permet de détecter des anomalies (pour aller plus loin, voir par exemple [2]). Dans le cas d’un jeu de données 2D, la PCA identifie bien le sous-espace pertinent et l’unique anomalie: Pour appliquer cette méthode aux séries temporelles univariées, on peut plonger les observations correspondantes dans un espace de plusieurs dimensions afin d’exploiter la saisonnalité du signal. Par exemple, si l’on a une série avec une périodicité hebdomadaire, avec une valeur par heure, on peut ordonner les données dans une matrice avec 7 x 24 = 148 colonnes, chaque ligne correspondant à une semaine. Puis lui appliquer la méthode PCA avec un espace de dimension inférieure à 148. Enfin on déplie la matrice projetée ainsi obtenue pour revenir à une série univariée. Dans le cas d’une une sinusoïde bruitée comportant deux anomalies, la PCA permet bien de corriger les anomalies :

La méthode PCA a plusieurs limites. Notamment elle ne fonctionne pas avec des données manquantes. Il faut donc commencer par imputer avec une autre méthode. Ensuite, elle n’est pas robuste aux anomalies qu’elle est censée détecter, car les anomalies ont tendance à attirer le sous-espace de projection vers elles : Cette sensibilité aux anomalies nuit à la reconstruction du signal, c’est pourquoi une variante plus robuste de la PCA est nécessaire. Par exemple, si l’on augmente significativement le nombre d’anomalies, la sinusoïde lissée par la méthode PCA semble tirée vers le haut :