Tensoria
Parlez-nous de votre projet : 07 82 80 51 40
Machine Learning Par

Détection d'anomalies séries temporelles capteurs : méthodes et outils

détection anomalies séries temporelles capteurs IoT industrie - méthodes ML et statistiques

Détecter une anomalie sur un capteur industriel, ce n'est pas la même chose que détecter une fraude sur des transactions bancaires ni qu'inspecter une pièce par vision. Ici, le signal est continu, temporellement ordonné, et l'anomalie se lit souvent dans la forme d'une courbe sur plusieurs minutes - pas dans un seul point. Les méthodes statistiques classiques (z-score, STL, seuils dynamiques), le Matrix Profile, l'Isolation Forest et les autoencodeurs LSTM constituent aujourd'hui la boîte à outils de référence pour ce problème précis.

Ce guide couvre la taxonomie des anomalies sur séries temporelles, les méthodes du plus simple au plus avancé, les exigences pour la détection en streaming, et les pièges d'évaluation sur des événements rares. Le tout orienté vers un contexte industriel concret : capteurs de vibration, température, courant, pression - avec des données déséquilibrées et des contraintes de latence.

Trois types d'anomalies à distinguer avant de choisir une méthode

Avant d'ouvrir une librairie Python, il faut savoir ce qu'on cherche. Sur une série temporelle de capteurs, les anomalies se répartissent en trois familles distinctes - et chaque famille appelle des méthodes différentes.

Anomalie ponctuelle

Un point isolé sort brutalement de la norme. Pic de température soudain, surtension électrique d'une milliseconde, vibration isolée. C'est la plus simple à détecter : un z-score ou un seuil fixe suffit souvent. C'est aussi la moins intéressante industriellement : une panne sérieuse s'annonce rarement par un seul point aberrant.

Anomalie contextuelle

La valeur serait normale dans un autre contexte temporel, mais pas au moment où elle apparaît. Une température de 85°C est normale en phase de montée en chauffe d'un four, anormale en phase de repos. Détecter ce type d'anomalie exige de modéliser le contexte - heure, cycle machine, phase d'opération - et d'y conditionner le seuil d'alerte.

Anomalie collective

Chaque point pris séparément semble normal, mais la séquence est anormale. Un roulement en début de défaillance peut montrer des vibrations d'amplitude normale mais avec une fréquence légèrement décalée par rapport à la fréquence caractéristique du composant. Aucun seuil sur les valeurs brutes ne le captera. Il faut regarder le pattern sur une fenêtre temporelle.

Repere de diagnostic

En maintenance prédictive industrielle, les anomalies qui signalent réellement une défaillance imminente sont presque toujours collectives ou contextuelles. Les anomalies ponctuelles sont souvent du bruit capteur. Commencez par identifier le type avant de choisir l'outil.

Méthodes statistiques : du z-score robuste aux seuils dynamiques

Les méthodes statistiques sont sous-estimées. Elles sont interprétables, rapides, compatibles avec le temps réel, et suffisantes pour une grande partie des cas industriels concrets.

Z-score robuste et ESD (Extreme Studentized Deviate)

Le z-score classique est sensible aux outliers car il utilise la moyenne et l'écart-type, eux-mêmes contaminés par les valeurs extrêmes. La variante robuste utilise la médiane et le MAD (Median Absolute Deviation) :

Score robuste = 0.6745 × (x - médiane) / MAD

Un score supérieur à 3,5 est conventionnellement un candidat anomalie. C'est résistant aux outliers multiples et ne nécessite aucun paramètre distributional. L'algorithme ESD (H-ESD de Twitter / AnomalyDetection) étend ce principe pour détecter plusieurs anomalies simultanément dans une fenêtre, avec une correction statistique qui contrôle le taux de fausse alarme.

Décomposition STL et résidus

Pour des signaux avec saisonnalité (cycle journalier, hebdomadaire, saisonnier), la décomposition STL (Seasonal-Trend decomposition via Loess) sépare la série en trois composantes : tendance, saisonnalité, résidu. L'anomalie se cherche dans les résidus, une fois tendance et saisonnalité retirées.

Concrètement : on décompose le signal historique normal, on modélise la distribution des résidus, et on alerte quand un résidu dépasse un certain percentile. C'est robuste face aux dérives lentes (une machine qui chauffe progressivement avec les saisons) car la tendance est capturée par STL plutôt que confondue avec une anomalie.

EWMA et seuils adaptatifs

La Exponentially Weighted Moving Average (EWMA) lisse le signal en pondérant les points récents plus fortement que les anciens. L'écart entre le signal brut et l'EWMA constitue un score d'anomalie en temps réel, mis à jour point par point. Le paramètre alpha contrôle la réactivité (alpha proche de 1 = très réactif, proche de 0 = inertie élevée). Les bandes de contrôle EWMA classiques des statistiques de processus (SPC) sont directement applicables aux données capteurs continues.

Matrix Profile : l'approche la plus puissante pour les anomalies de forme

Le Matrix Profile est une structure de données qui, pour chaque sous-séquence de longueur m de la série, stocke la distance z-normalisée à sa plus proche voisine dans la série. Une sous-séquence avec une grande distance à son voisin (appelée "discord") ne ressemble à rien d'autre dans l'historique : c'est la définition opérationnelle d'une anomalie collective.

L'algorithme STOMP (puis SCRIMP et leurs variantes) calcule cela efficacement. La librairie Python STUMPY en offre une implémentation parallélisée (Numba + Dask), capable de traiter des dizaines de millions de points sur CPU ou GPU.

Avantages concrets :

  • Aucune hypothèse sur la distribution des données.
  • Pas de seuil à calibrer manuellement : on cherche les scores les plus élevés du Matrix Profile.
  • Détecte aussi bien les anomalies ponctuelles (sous-séquence courte) que les anomalies de forme (sous-séquence longue).
  • Le paramètre m (longueur de la sous-séquence) est le seul vrai paramètre à choisir - il correspond à la durée minimale d'un pattern intéressant.

Limite : le calcul complet du Matrix Profile est O(n² × m) en mémoire, ce qui devient contraignant sur des séries très longues sans optimisation streaming.

ML non supervisé : Isolation Forest et LOF sur fenêtres glissantes

Les méthodes ML non supervisées traitent chaque fenêtre temporelle comme un vecteur de features, et cherchent les vecteurs qui s'isolent du reste. La clé est la construction des features : elle conditionne entièrement la qualité de la détection.

Isolation Forest

L'Isolation Forest isole les anomalies en construisant des arbres de décision aléatoires : un point anormal est isolé en peu de coupures, un point normal nécessite beaucoup de coupures pour être séparé. Le score d'anomalie est inversement proportionnel à la profondeur moyenne d'isolement.

Pour des capteurs, on applique l'Isolation Forest sur des fenêtres glissantes featurisées : moyenne, écart-type, min, max, skewness, kurtosis, énergie FFT (pour les vibrations) de chaque fenêtre de N points. C'est rapide, scalable, et fonctionne bien pour les anomalies ponctuelles et les shifts de distribution.

LOF (Local Outlier Factor)

Le LOF compare la densité locale d'un point à celle de ses voisins. Un point dans une zone peu dense entourée de zones denses a un LOF élevé - c'est un outlier local. Plus sensible aux clusters que l'Isolation Forest, mais aussi plus coûteux en mémoire (O(n²) en théorie, optimisé avec des index en pratique). Utile quand les anomalies se trouvent dans des sous-espaces - pas dans la densité globale.

Méthode Type d'anomalie Données requises Interprétabilité Temps réel
Z-score robuste / ESD Ponctuelle Peu (fenêtre glissante) Elevée Oui
STL + résidus Contextuelle Quelques semaines d'historique Elevée Partiel
EWMA / SPC Ponctuelle, drift Peu Elevée Oui
Matrix Profile Collective, forme Historique normal Moyenne Partiel (STUMPY streaming)
Isolation Forest Ponctuelle, shift Historique normal Faible Oui (inference)
LOF Locale, cluster Historique normal Faible Difficile
Autoencoder (AE) Collective, complexe Beaucoup (normaux) Tres faible Oui (inference)
LSTM-AE Séquentielle, collective Beaucoup (normaux) Tres faible Oui (inference)

Deep learning : autoencodeurs et LSTM-AE pour les anomalies séquentielles

Le deep learning entre en jeu quand les anomalies dépendent de la dynamique temporelle sur des horizons longs - ou quand le signal est multivarié avec des inter-dépendances complexes entre capteurs.

Autoencoder (AE) et erreur de reconstruction

Un autoencoder est entraîné uniquement sur des données normales pour compresser puis reconstruire le signal. Sur des données normales, l'erreur de reconstruction est faible. Sur une anomalie, la compression perd de l'information anormale, et l'erreur de reconstruction explose. Le score d'anomalie = erreur de reconstruction (MSE ou MAE par point).

L'AE convolutionnel (Conv-AE) est adapté aux motifs locaux courts. L'AE LSTM (LSTM-AE) est adapté quand les dépendances temporelles s'étendent sur des dizaines à des milliers de pas de temps - typiquement des vibrations de machines tournantes avec des cycles de plusieurs secondes.

LSTM-AE : architecture de référence

L'architecture classique pour les capteurs industriels :

  • Encodeur : 2 couches LSTM qui compriment la séquence d'entrée (fenêtre de N points) en vecteur latent.
  • Décodeur : 2 couches LSTM qui reconstruisent la séquence depuis le vecteur latent.
  • Score d'anomalie : erreur MAE point par point, lissée sur la fenêtre.
  • Seuil : percentile 99,5 ou 99,9 de l'erreur sur le jeu de validation (données normales).

La recherche publiée dans le survey Deep Learning for Time Series Anomaly Detection (arXiv 2211.05244) recense plus de 100 architectures sur ce principe, avec des variantes Transformer (Anomaly Transformer, TranAD) qui capturent des dépendances encore plus longues.

Prévision + résidus comme alternative

Une approche complémentaire : entraîner un modèle de prévision (LSTM, Prophet, N-BEATS) à prédire la valeur t+1 à partir des valeurs passées. L'anomalie est détectée quand le résidu (valeur réelle - prédite) dépasse un seuil. C'est équivalent à la décomposition STL pour les méthodes statistiques, mais avec un modèle non linéaire capable de capturer des patterns complexes.

Pour aller plus loin sur les modèles de prévision : notre guide prévision IA et séries temporelles et la comparaison ARIMA vs Prophet vs deep learning couvrent les architectures de base utiles ici.

Détection en temps réel et streaming : contraintes spécifiques

Le contexte IoT industriel impose souvent une contrainte de latence : l'anomalie doit être détectée en quelques secondes, pas en quelques heures. Cela change la conception du système.

Ce qui fonctionne en streaming

Les méthodes statistiques incrémentales sont les plus adaptées : z-score robuste mis à jour sur fenêtre glissante, EWMA, ou les algorithmes du framework River (Python) conçu pour l'apprentissage en ligne (Half-Space Trees, SNARIMAX). Ces algorithmes mettent à jour leurs paramètres à chaque nouveau point, sans reprocesser l'historique.

Pour le ML et le deep learning, le pattern standard est différent : entraînement offline sur l'historique (toutes les N heures ou tous les N jours), puis inférence en ligne sur une fenêtre glissante. L'inference d'un LSTM-AE sur 100 points prend quelques millisecondes sur CPU, compatible avec des capteurs échantillonnant à 10-100 Hz.

Architecture typique temps réel

  • Ingestion : Kafka, MQTT, InfluxDB pour le stockage de séries temporelles.
  • Processing stream : Apache Flink ou Kafka Streams pour le calcul fenetre glissante.
  • Scoring : modèle ONNX exporté depuis PyTorch/TensorFlow, servi via Triton Inference Server ou une API FastAPI.
  • Alertes : seuillage en tier (warning / alert / critical) avec confirmation temporelle avant déclenchement.

Principe de confirmation temporelle

Ne déclenchez pas une alerte au premier point au-dessus du seuil. Exigez que le score d'anomalie reste élevé pendant N secondes consécutives (ou sur K des N derniers points). Ce filtre seul réduit souvent les faux positifs de 70% sans dégrader le rappel sur les vraies anomalies, qui persistent par définition.

Pour les spécificités des données capteurs en maintenance industrielle, notre article choisir ses capteurs et structurer ses données de terrain couvre la collecte, la qualité et les fréquences d'échantillonnage selon les types de capteurs.

Evaluation sur événements rares : au-dela de l'accuracy

Les anomalies industrielles représentent typiquement moins de 1% des points de données. Dans ce contexte, un modèle qui prédit "normal" à 100% a une accuracy de 99% - et est totalement inutile.

Métriques adaptées

F1-score sur la classe anomalie : combine précision (parmi les alertes déclenchées, combien sont vraies) et rappel (parmi les vraies anomalies, combien ont été détectées). En maintenance, le rappel est généralement prioritaire : une panne non détectée coûte bien plus cher qu'une fausse alerte. Un F1 orienté recall (F-beta avec beta > 1) peut être approprié.

PA (Point Adjust) et event-based precision/recall : évaluer point par point est trompeur pour les anomalies collectives. Si le modèle déclenche 5 minutes avant la véritable anomalie, c'est utile - même si l'alignement exact est décalé. Les métriques basées sur les événements tolèrent un décalage temporel et donnent un crédit partiel pour les détections proches.

PR-AUC (Area Under Precision-Recall Curve) : plus informative que la ROC-AUC en cas de forte asymétrie de classes. La ROC-AUC peut paraître excellente (0,95+) même sur un classifieur médiocre quand les anomalies sont rares. La PR-AUC pénalise correctement les faux positifs.

Protocole de validation

  • Backtesting temporel strict : le modèle ne voit jamais le futur lors de la validation. La séparation train/test doit respecter l'ordre chronologique.
  • Eviter la contamination du jeu d'entraînement par des anomalies non étiquetées (les modèles non supervisés s'entraînent en supposant que les données sont normales).
  • Tester sur des pannes réelles documentées (logs de maintenance, arrêts machine), pas seulement sur des anomalies synthétiques injectées.

Notre article sur l'évaluation de modèles de séries temporelles par backtesting approfondit les protocoles de validation temporelle applicables ici.

Limites et conditions de réussite

Posons les limites clairement, parce qu'elles conditionnent le succès d'un projet.

La qualité des données capteurs est souvent le vrai problème. Les capteurs dérivent, tombent en panne, produisent des valeurs manquantes ou gelées (stuck-at-fault). Un modèle ne peut pas distinguer une anomalie process d'une anomalie capteur sans une couche de monitoring de la qualité du signal en amont.

Le manque de labels est structurel. En pratique, les données labellisées "anomalie confirmée" sont rares : les pannes ont été évitées, mal documentées, ou les logs de maintenance ne correspondent pas précisément aux timestamps des capteurs. Les méthodes non supervisées contournent ce problème mais compliquent l'évaluation.

Le drift de la ligne de base. Une machine vieillit. Ses signaux normaux dérivent progressivement. Un modèle entraîné il y a 6 mois peut sur-alerter car la nouvelle "normale" s'est décalée. Il faut prévoir un ré-entraînement périodique et un monitoring du drift de score. L'article sur MLOps, drift et ré-entraînement en maintenance prédictive couvre ce cycle.

La différence avec les anomalies sur images et sur données tabulaires. La détection d'anomalies visuelle (fissures, défauts de surface par vision) est un problème fondamentalement différent - traité dans notre article sur la détection d'anomalies qualité par vision IA. La détection de fraude sur données tabulaires (transactions bancaires) est encore différente : les transactions sont indépendantes, sans dépendance temporelle séquentielle - voir détection de fraude et anomalies ML pour PME. Les méthodes de ces deux domaines ne se transfèrent pas directement aux séries temporelles de capteurs.

Pour l'application spécifique aux données de vol (FDM/FOQA), le problème des séries temporelles capteurs se retrouve à grande echelle avec des contraintes de sécurité supplémentaires : détection d'anomalies sur données de vol FDM/FOQA. Et pour la prédiction de durée de vie résiduelle (RUL) - l'étape suivante après avoir détecté une anomalie - notre article passer de l'anomalie détectée au pronostic de durée de vie résiduelle couvre les modèles de pronostic.

Vos capteurs sont en place ?

On audite vos données capteurs et on choisit la methode de detection adaptee a votre contexte - en une session.

Réserver un échange

Pour aller plus loin

Passer à l'action

Vous voulez appliquer ça dans votre entreprise ?

En quelques minutes, identifiez les cas d'usage IA les plus rentables pour votre métier. Sans engagement, et sans jargon.

Demander un devis

Articles liés

Machine Learning

RUL : prédire la durée de vie résiduelle en maintenance prédictive

Durée de vie résiduelle (RUL) : familles de modèles, deep learning LSTM/CNN, dataset CMAPSS, quantification de l'incertitude et passage à la décision maintenance. Guide technique.

Lire l'article
Machine Learning

Variables exogènes en prévision : météo, promos, jours fériés

Comment intégrer météo, promotions et jours fériés dans une prévision de séries temporelles : feature engineering, SARIMAX, Prophet, TFT, leakage. Guide concret PME.

Lire l'article
Machine Learning

Prévision demande pièces détachées aéronautique : gérer l'intermittent avec l'IA

Prévision demande pièces détachées aéronautique : pourquoi la demande intermittente échoue les outils classiques, méthodes Croston/SBA/TSB, ML et foundation models. Guide MRO Toulouse.

Lire l'article
Machine Learning

MLOps maintenance prédictive : gérer le drift et réentraîner son modèle

Du PoC à la production en maintenance prédictive : data drift, concept drift, monitoring, réentraînement, boucle feedback opérateur et intégration GMAO. Guide complet.

Lire l'article
Machine Learning

Foundation models séries temporelles : prévision zero-shot en 2026

Foundation models séries temporelles : TimesFM, Chronos, Moirai, TimeGPT, Toto. Prévision zero-shot, architecture, benchmarks vs ARIMA/Prophet, déploiement PME. Guide complet.

Lire l'article
Machine Learning

Evaluer une prévision : MAPE, MASE, backtesting

MAPE, sMAPE, MASE, backtesting temporel : comment évaluer une prévision de séries temporelles sans se tromper. Métriques, pièges et checklist finale.

Lire l'article
Anas Rabhi, ingénieur IA et data scientist, fondateur de Tensoria
Anas Rabhi Ingénieur IA, fondateur de Tensoria ianas.fr

Je suis ingénieur IA et data scientist, fondateur de Tensoria. Depuis plus de 6 ans, j'accompagne les entreprises dans l'exploitation concrète de l'IA pour leur métier : assistants internes basés sur RAG, agents IA en production, automatisations sur mesure, traitement intelligent de documents. J'interviens du cadrage initial à la mise en production, sur stacks LLM modernes (Mistral, Claude, GPT) et infrastructures souveraines quand la confidentialité l'exige.