DATA Maintenance 2026

APM : Asset Performance Management

Module 4 / 5

Module 4 : APM & Intelligence 25 min

4.2 Analyse Prédictive et Machine Learning appliqué à la Maintenance

Le Machine Learning transforme la maintenance en discipline prédictive : au lieu de réagir aux pannes ou de suivre des calendriers arbitraires, les algorithmes apprennent à partir des données pour anticiper les défaillances avec une précision croissante. Dans ce chapitre, vous allez maîtriser les algorithmes clés, les défis spécifiques aux données industrielles, et les bonnes pratiques pour déployer et maintenir des modèles prédictifs en production.

1

Les 4 niveaux d'analytics : de la description à la prescription

Gartner a popularisé le modèle des 4 niveaux d'analytics, qui représente une pyramide de valeur croissante. Chaque niveau répond à une question différente et nécessite une sophistication technique croissante. La majorité des entreprises industrielles restent cantonnées aux deux premiers niveaux.

N1
Analytics Descriptif — "Que s'est-il passé ?"

Synthèse des données historiques pour décrire et visualiser les événements passés.

Exemples maintenance : rapport mensuel du nombre de pannes par équipement, tableau de bord MTBF/MTTR, historique des coûts de maintenance, taux de disponibilité par ligne.

Outils : Power BI, Tableau, Grafana, tableaux de bord GMAO natifs.

N2
Analytics Diagnostique — "Pourquoi est-ce arrivé ?"

Corrélation des données pour identifier les causes des événements passés.

Exemples maintenance : analyse Root Cause Analysis (RCA) automatisée, corrélation température/vibration avant pannes, drill-down pour identifier les équipements sur-défaillants.

Outils : Python (pandas, matplotlib), KNIME, analyse de corrélation dans les solutions APM.

N3
Analytics Prédictif — "Que va-t-il se passer ?"

Modèles statistiques et ML pour anticiper les événements futurs à partir des patterns historiques.

Exemples maintenance : prédiction de la probabilité de panne dans les 30 prochains jours, estimation de la durée de vie résiduelle (RUL), anticipation du colmatage d'un filtre.

Outils : scikit-learn, TensorFlow, PyTorch, Azure ML, AWS SageMaker, plateformes APM intégrées.

N4
Analytics Prescriptif — "Que faut-il faire ?"

Recommandations automatiques d'actions optimales tenant compte des contraintes opérationnelles, budgétaires et de risque.

Exemples maintenance : recommandation automatique "arrêter le compresseur C-201 dans 72h et remplacer roulement", optimisation du planning d'arrêt majeur, arbitrage repair vs replace.

Outils : moteurs de règles APM, IA générative (LLM), optimisation par recherche opérationnelle, jumeaux numériques.

N1
Descriptif
~75% des entreprises
N2
Diagnostique
~50% des entreprises
N3
Prédictif
~20% des entreprises
N4
Prescriptif
<5% des entreprises
2

Algorithmes ML pour la maintenance industrielle

Le choix de l'algorithme dépend du type de problème à résoudre. Trois grandes familles couvrent la quasi-totalité des cas d'usage en maintenance prédictive.

A. Détection d'anomalies (Classification non supervisée)

L'objectif est de distinguer un comportement "normal" d'un comportement "anormal" dans les données de capteurs, sans nécessairement identifier la cause.

Algorithme Principe Avantages Limites
Isolation Forest Isole les anomalies par partitionnement aléatoire récursif — les points anormaux sont isolés plus rapidement car ils sont "différents" Non supervisé, efficace haute dimensionnelle, rapide à entraîner Pas d'explication causale, sensible au choix du contamination rate
One-class SVM Apprend la frontière de la classe "normale" dans un espace de features haute dimension ; les points hors frontière sont des anomalies Très efficace pour délimiter une classe normale, bon sur données non linéaires (noyaux RBF) Coûteux en calcul sur grands volumes, hyperparamètres sensibles (ν, γ)
Autoencoder (Deep Learning) Réseau entraîné à reconstruire les données normales ; une erreur de reconstruction élevée signale une anomalie Capture les patterns complexes, adaptable à tout type de données Nécessite de grandes quantités de données normales, interprétabilité limitée

B. Estimation de la Durée de Vie Résiduelle (RUL)

La RUL (Remaining Useful Life) estime le temps restant avant la défaillance. C'est le problème de régression central de la maintenance prédictive.

RUL(t) = T_failure - t_actuel

Où :
  T_failure = instant prédit de défaillance
  t_actuel  = instant courant

Objectif du modèle : minimiser l'erreur RMSE
  RMSE = √( (1/n) × Σ(RUL_prédit_i - RUL_réel_i)² )
Algorithme Description Contexte optimal
LSTM Réseau de neurones récurrents conçu pour mémoriser des dépendances temporelles à long terme. Capture la trajectoire de dégradation. Séries temporelles longues, dégradation progressive (roulements, turbines)
XGBoost Gradient boosting performant sur features tabulaires extraites des séries temporelles (statistiques, FFT). Très optimisé. Features bien construites, besoin d'interprétabilité (SHAP values)
Régression Weibull (PHM) Modèle probabiliste de durée de vie. Fournit des intervalles de confiance sur la RUL. Contexte réglementaire, données de défaillances suffisantes

C. Clustering pour la segmentation des défauts

K-means en maintenance
  • Identification automatique de régimes de fonctionnement (nominal, surcharge)
  • Segmentation des modes de dégradation (usure, corrosion, fatigue)
  • Détection de changements de comportement dans le temps
Variantes avancées
  • DBSCAN : détecte les clusters de forme arbitraire, robuste aux outliers
  • GMM : assigne des probabilités d'appartenance, utile pour les transitions entre régimes
3

Le défi du déséquilibre des données d'entraînement

Le problème le plus commun en maintenance prédictive industrielle n'est pas le manque de données, c'est le déséquilibre extrême entre les classes : les événements normaux représentent 99,9% des données, tandis que les pannes — la classe d'intérêt — sont rares.

Exemple typique de déséquilibre

Sur 1 an de données d'un compresseur à 1 mesure/minute : 525 600 points de données normaux pour 12 événements de panne, soit un ratio de 1 : 365. Un modèle prédisant "jamais de panne" atteindrait 99,7% de précision globale tout en étant parfaitement inutile.

Techniques de rééquilibrage

SMOTE (Synthetic Minority Oversampling Technique)

Génère des exemples synthétiques de la classe minoritaire (pannes) par interpolation entre exemples réels dans l'espace des features.

from imblearn.over_sampling import SMOTE
sm = SMOTE(sampling_strategy=0.1,
           k_neighbors=5)
X_res, y_res = sm.fit_resample(
    X_train, y_train)
# Ratio cible : 10% de pannes

Avantage : augmente la sensibilité du modèle aux pannes sans dupliquer exactement les mêmes exemples.

Cost-sensitive Learning

Attribue un coût asymétrique aux erreurs : manquer une panne (Faux Négatif) coûte beaucoup plus cher qu'une fausse alarme (Faux Positif).

from sklearn.ensemble import (
    RandomForestClassifier)
model = RandomForestClassifier(
    class_weight={0: 1, 1: 50},
    n_estimators=200
)
model.fit(X_train, y_train)

Avantage : ne crée pas de données synthétiques, direct et explicable.

Autres stratégies complémentaires

  • Undersampling de la classe majoritaire : simple mais peut induire une perte d'information sur les comportements normaux.
  • Changement de paradigme : reformuler le problème en détection d'anomalies non supervisée, éliminant le besoin d'étiquettes de pannes.
  • Données synthétiques par simulation : utiliser des modèles physiques (jumeau numérique) pour simuler des scénarios de dégradation.
4

Feature Engineering pour données de capteurs industriels

La qualité des features est plus déterminante que le choix de l'algorithme. Un signal vibratoire brut à 10 kHz ne peut pas être directement injecté dans un modèle — il faut en extraire des indicateurs significatifs.

A. Transformée de Fourier Rapide (FFT)

La FFT décompose un signal temporel en ses composantes fréquentielles, révélant les fréquences caractéristiques de défauts mécaniques.

import numpy as np
from scipy.fft import fft, fftfreq

# Signal vibratoire : 10 000 points à 10 kHz
signal = np.array([...])
N = len(signal)
T = 1/10000  # période d'échantillonnage

# Calcul FFT
yf = fft(signal)
xf = fftfreq(N, T)[:N//2]
amplitude = 2.0/N * np.abs(yf[:N//2])

# Features extraites :
# - Amplitude à la fréquence d'engrènement (BPFI, BPFO pour roulements)
# - Amplitude à la fréquence de rotation fondamentale (1X, 2X, 3X)
# - Niveau global RMS sur bandes de fréquences définies

B. Statistiques temporelles (Time Domain Features)

Feature Formule Sensible à
RMS (Root Mean Square) √(1/N × Σxᵢ²) Énergie globale, déséquilibre rotor
Crest Factor Max(|x|) / RMS Chocs impulsionnels, défauts de roulements naissants
Kurtosis E[(x-μ)⁴] / σ⁴ Impulsions périodiques, dégradation roulement avancée
Skewness E[(x-μ)³] / σ³ Asymétrie de distribution, jeux mécaniques
Peak-to-Peak Max(x) - Min(x) Amplitude totale des chocs, misalignement

C. Analyse en ondelettes (Wavelets)

Les ondelettes combinent les avantages de l'analyse temporelle et fréquentielle : elles localisent précisément les événements transitoires dans le temps ET la fréquence simultanément.

import pywt

# Décomposition par ondelettes discrètes (DWT) — niveau 5
coeffs = pywt.wavedec(signal, 'db4', level=5)
# coeffs = [cA5, cD5, cD4, cD3, cD2, cD1]
# cA = approximations (basses fréq.), cD = détails (hautes fréq.)

# Feature engineering :
# - Énergie par sous-bande : np.sum(c**2) / len(c)
# - Entropie de Shannon des coefficients
# Particulièrement efficace pour les défauts de roulements

Bibliothèques Python incontournables

tsfresh (extraction automatique de centaines de features sur séries temporelles) · scipy.signal (filtres, FFT) · pywt (PyWavelets) · librosa (analyse spectrale)

5

Évaluer un modèle prédictif en contexte maintenance

La métrique d'évaluation doit refléter le coût asymétrique des erreurs en maintenance. Un Faux Négatif (panne manquée) peut coûter des millions d'euros, tandis qu'un Faux Positif (fausse alarme) génère une intervention inutile mais limitée en coût.

Matrice de confusion et métriques clés

               │  Prédit Normal  │  Prédit Panne  │
Réel Normal    │       TN        │      FP        │  FP = Fausse alarme (coût faible)
Réel Panne     │       FN        │      TP        │  FN = Panne manquée (coût élevé !)

Précision   = TP / (TP + FP)   "Quand je prédis une panne, ai-je raison ?"
Rappel      = TP / (TP + FN)   "Parmi les vraies pannes, combien ai-je détecté ?"
F1-Score    = 2 × (P × R) / (P + R)        Compromis P/R
F2-Score    = 5 × (P × R) / (4×P + R)      Privilégie le Rappel (recommandé en maintenance)
Métrique Usage recommandé Interprétation pour la maintenance
Rappel (Recall / Sensibilité) Actifs critiques (classe A) Maximiser = minimiser les pannes manquées. Objectif : Rappel > 95%
Précision Équipes avec ressources limitées Minimiser les fausses alarmes pour ne pas démobiliser les équipes
AUC-ROC Comparaison de modèles Mesure la capacité de séparation globale — indépendant du seuil de décision
F2-Score Maintenance critique (sécurité) Pondère le rappel 2x plus que la précision — compromis recommandé en industrie

Interprétabilité avec SHAP Values

Les SHAP values décomposent la prédiction en contributions individuelles par feature, rendant les modèles boîte noire explicables pour les ingénieurs.

import shap
explainer = shap.TreeExplainer(model_xgboost)
shap_values = explainer.shap_values(X_test)

# Résultat :
# "La prédiction de panne est due à :
#   vibration_RMS    : +0.42 (contribution principale)
#   température      : +0.31
#   kurtosis         : +0.18
#   pression_huile   : -0.05 (facteur stabilisant)"
6

Passage en production : MLOps pour la maintenance industrielle

Entraîner un modèle est la partie facile. Le maintenir en production, fiable et performant sur plusieurs années, est le vrai défi. Le MLOps (ML + DevOps) apporte les pratiques pour industrialiser le cycle de vie des modèles.

Monitoring des modèles
  • Suivi continu des métriques de performance
  • Alertes si dégradation du Rappel ou F2-Score
  • Dashboard de santé du modèle
  • Journalisation de toutes les prédictions
Détection de dérive (Data Drift)
  • Feature drift : distribution des capteurs change (remplacement matériel, saisonnalité)
  • Concept drift : la relation features/pannes évolue (modification procédé)
  • Tests PSI ou Kolmogorov-Smirnov
Stratégie de retraining
  • Trigger-based : déclenché par dérive détectée
  • Scheduled : mensuel ou trimestriel
  • Inclusion des nouvelles données étiquetées
  • Tests A/B avant déploiement du nouveau modèle

Stack MLOps recommandé pour l'industrie

MLflow (tracking d'expériences, registre de modèles) · Azure ML Studio (intégration native Azure IoT Hub) · AWS SageMaker (pipeline ML end-to-end) · Evidently AI (monitoring et détection de dérive, open-source)

7

Résumé du chapitre

  • Les 4 niveaux d'analytics (descriptif → diagnostique → prédictif → prescriptif) forment une pyramide de valeur croissante, dont moins de 5% des entreprises atteignent le sommet.
  • Isolation Forest est la référence pour la détection d'anomalies non supervisée ; LSTM et XGBoost pour l'estimation de la RUL.
  • Le déséquilibre des données est le défi n°1 : SMOTE (génération synthétique) et le cost-sensitive learning (pondération des erreurs) sont les solutions les plus efficaces.
  • FFT, statistiques temporelles (RMS, Kurtosis) et ondelettes constituent les briques de base du feature engineering pour les signaux vibratoires.
  • En contexte maintenance critique, le F2-Score et le Rappel sont plus pertinents que la précision globale.
  • Le MLOps assure la pérennité des modèles via le monitoring continu, la détection de dérive et le retraining automatique.

Quiz Flash — 3 questions

1. Quel niveau d'analytics répond à la question "Que va-t-il se passer ?" ?

2. Quel algorithme est particulièrement adapté à l'estimation de la RUL sur des séries temporelles longues avec des dépendances à long terme ?

3. Quelle technique génère des exemples synthétiques de la classe minoritaire (pannes) par interpolation pour résoudre le déséquilibre des données ?

Sommaire DATA Maintenance