← Blog

Agréger les données industrielles : moyenne, EWMA, fenêtres temporelles — le guide de choix

Quelle méthode d'agrégation pour quel type de process ? Moyenne mobile, EWMA, percentile, CUSUM. Process continu vs discret.

Le problème en une ligne

Un capteur de vibration qui échantillonne à 10 kHz génère 864 millions de points par jour. Personne ne stocke ça tel quel, et aucun modèle ML ne le consomme brut. Agréger, c’est transformer un flux de données brutes en information exploitable.

La question n’est pas faut-il agréger — c’est comment et à quelle échelle. Un mauvais choix noie le signal dans le bruit. Un bon choix préserve l’information utile en divisant le volume par 1 000.

Pourquoi agréger ?

Quatre raisons, par ordre de priorité :

  1. Réduire le bruit. Un capteur de température oscille de ±0.3°C\pm 0.3°C à chaque lecture. Sur 60 lectures, la moyenne converge vers la vraie valeur. L’écart-type de la moyenne chute d’un facteur n\sqrt{n}.

  2. Réduire le volume. 10 Hz × 8h = 288 000 points par poste. Agrégé à la minute : 480 points. Ratio 600:1. Le stockage, le réseau et le temps de requête suivent.

  3. Aligner les fréquences. Un capteur de pression à 10 Hz et un compteur de pièces événementiel n’ont pas la même horloge. L’agrégation par fenêtre temporelle les ramène sur une grille commune.

  4. Alimenter le ML. Les modèles veulent des features stables, pas du bruit haute fréquence. Les fenêtres glissantes (rolling mean, rolling std, rolling max) sont les features les plus prédictives en maintenance prédictive.

Les fenêtres temporelles

FenêtreVolume relatifCe qu’on voitCe qu’on perd
Brut (Hz)100%Tout le signal, bruit inclusRien
Seconde~10%Transitoires rapidesMicro-oscillations
Minute~0.2%Tendances processPics courts (<10s)
Heure~0.003%Cycles thermiques, dérives lentesÉvénements ponctuels
Jour~0.0001%Tendances longues, saisonnalitéTout sauf la moyenne
Mois~0.000003%KPIs, reportingTout le détail opérationnel

Règle d’or : agrégez à l’échelle de votre temps de réaction. Si vous pouvez intervenir en 5 minutes, agrégez à la minute. Si le rapport est mensuel, agrégez au jour.

Les méthodes d’agrégation

Moyenne arithmétique

Xˉ=1ni=1nXi\bar{X} = \frac{1}{n} \sum_{i=1}^{n} X_i

La plus simple. Chaque point pèse autant. Efficace si le signal est stationnaire dans la fenêtre. Sensible aux outliers.

Quand l’utiliser : température ambiante, pression de ligne stable, humidité. Signaux lents, bruit gaussien.

Min / Max

Stockez le min et le max de chaque fenêtre en plus de la moyenne. Le triplet (min, mean, max) coûte 3× rien et permet de détecter les pics que la moyenne aurait noyés.

Quand l’utiliser : toujours. C’est gratuit et ça sauve des analyses a posteriori.

Percentile (P5, P50, P95)

Plus robuste que min/max aux outliers. Le P95 capture les pics récurrents sans être faussé par un spike unique.

Quand l’utiliser : vibration, courant moteur, temps de cycle — tout ce qui a des queues de distribution longues.

Moyenne mobile (SMA)

SMAt=1ki=0k1XtiSMA_t = \frac{1}{k} \sum_{i=0}^{k-1} X_{t-i}

Fenêtre glissante de kk points. Retard de k/2k/2 points par rapport au signal. Simple, interprétable, lent à réagir.

EWMA (Exponentially Weighted Moving Average)

Zt=λXt+(1λ)Zt1Z_t = \lambda \cdot X_t + (1 - \lambda) \cdot Z_{t-1}

Le poids décroît exponentiellement. Les points récents comptent plus. Pas de retard fixe — la réactivité dépend de λ\lambda.

Comment choisir λ ?

λMémoire effectiveRéactivitéBruit résiduelUsage typique
0.05~40 pointsTrès lenteTrès faibleDérive lente, tendance long terme
0.1~20 pointsLenteFaibleCarte de contrôle EWMA classique
0.2~10 pointsModéréeModéréLissage process continu
0.3~6 pointsRapideNotableSuivi de changement rapide
0.5~3 pointsTrès rapideÉlevéPresque pas de lissage

Formule de la mémoire effective : neff2λλn_{eff} \approx \frac{2 - \lambda}{\lambda}

Règle pratique : λ=0.2\lambda = 0.2 est le défaut industriel. Augmentez pour des process rapides (injection plastique). Diminuez pour des process lents (traitement thermique).

CUSUM (Cumulative Sum)

Ct+=max(0,Ct1++Xtμ0K)C_t^+ = \max(0, C_{t-1}^+ + X_t - \mu_0 - K) Ct=min(0,Ct1+Xtμ0+K)C_t^- = \min(0, C_{t-1}^- + X_t - \mu_0 + K)

Accumule les déviations par rapport à une cible μ0\mu_0. Détecte les petites dérives persistantes que l’EWMA rate. Paramètre KK = demi-shift à détecter, HH = seuil d’alarme.

Quand l’utiliser : quand le coût d’une dérive non détectée est élevé (pharmaceutique, aéronautique, alimentaire).

Process continu vs process discret

C’est la distinction fondamentale. Les règles d’agrégation changent radicalement.

Process continu

Exemples : four de traitement thermique, extrudeuse plastique, raffinerie, ligne de peinture.

Le signal est un flux ininterrompu. La valeur instantanée a un sens physique (température, pression, débit). Le temps est la variable naturelle.

SignalMéthode recommandéeFenêtreRaison
TempératureEWMA (λ=0.2)1 minLissage du bruit thermique, détection de dérive
PressionMoyenne + P951 minLa moyenne pour la tendance, P95 pour les pics
VibrationRMS + FFT1 sRMS pour l’amplitude, FFT pour les fréquences caractéristiques
DébitMoyenne5 minSignal stable, bruit faible

Process discret

Exemples : usinage CNC, injection plastique, assemblage, découpe laser.

Le signal est une série d’événements (pièces). La valeur par pièce a un sens (cote, masse, temps de cycle). Le numéro de pièce est la variable naturelle, pas le temps.

SignalMéthode recommandéeFenêtreRaison
Cote usinéeMoyenne par lot (n=5)Par sous-groupeSPC classique Xbar-R
Temps de cycleMédianePar heureRobuste aux changements d’outil
Taux de rebutSomme / comptagePar poste (8h)Ratio, pas valeur absolue
MasseEWMA (λ=0.1)Par pièceDérive lente de l’injection

La différence clé : en continu, on agrège par le temps. En discret, on agrège par la pièce (ou le lot, ou le poste). Mélanger les deux est l’erreur la plus fréquente.

Arbre de décision

graph TD
    A["Signal industriel à agréger ?"] --> B["Process continu (flux)"]
    A --> C["Process discret (pièces)"]
    A --> D["Pas sûr ?"]

    B --> B1["Détecter une dérive lente"]
    B --> B2["Lissage pour feature ML"]
    B --> B3["Détecter des pics"]
    B --> B4["Stockage long terme"]

    B1 --> B1a["Dérive < 1σ → CUSUM"]
    B1 --> B1b["Dérive 1-2σ → EWMA λ=0.1-0.2"]
    B2 --> B2a["EWMA λ=0.2 ou fenêtre glissante"]
    B3 --> B3a["P95 ou Max par fenêtre"]
    B4 --> B4a["Triplet min, mean, max par heure"]

    C --> C1["SPC classique"]
    C --> C2["Suivi tendance"]
    C --> C3["Taux rebut, rendement"]
    C --> C4["Robustesse outliers"]

    C1 --> C1a["Xbar-R, sous-groupe n=5"]
    C2 --> C2a["EWMA par pièce λ=0.1"]
    C3 --> C3a["Comptage par poste, ratio"]
    C4 --> C4a["Médiane par lot"]

    D --> D1["Triplet min, mean, max par minute"]

    style A fill:#2C3E42,color:#FDFBF8,stroke:#7DB5A5
    style B fill:#7DB5A5,color:#FDFBF8,stroke:#2C3E42
    style C fill:#E99971,color:#FDFBF8,stroke:#2C3E42
    style D fill:#566569,color:#FDFBF8,stroke:#2C3E42
    style B1a fill:#FDFBF8,stroke:#7DB5A5,color:#2C3E42
    style B1b fill:#FDFBF8,stroke:#7DB5A5,color:#2C3E42
    style B2a fill:#FDFBF8,stroke:#7DB5A5,color:#2C3E42
    style B3a fill:#FDFBF8,stroke:#7DB5A5,color:#2C3E42
    style B4a fill:#FDFBF8,stroke:#7DB5A5,color:#2C3E42
    style C1a fill:#FDFBF8,stroke:#E99971,color:#2C3E42
    style C2a fill:#FDFBF8,stroke:#E99971,color:#2C3E42
    style C3a fill:#FDFBF8,stroke:#E99971,color:#2C3E42
    style C4a fill:#FDFBF8,stroke:#E99971,color:#2C3E42
    style D1 fill:#F3EADE,stroke:#566569,color:#2C3E42

Erreurs fréquentes

  1. Agréger trop tôt. On perd le signal avant même de l’avoir analysé. Stockez le brut pendant au moins la phase d’exploration, puis agrégez une fois les features identifiées.

  2. Agréger au mauvais grain. Une moyenne horaire sur un process dont le temps de cycle est 30 secondes noie tous les événements intéressants.

  3. Ignorer les transitions. Les changements de lot, les démarrages, les arrêts-redémarrages créent des transitoires. Agrégez-les séparément ou excluez-les explicitement.

  4. Moyenner un comptage. La “moyenne de pièces par heure” est un débit, pas une moyenne statistique. Ne lui appliquez pas des limites de contrôle comme à une cote usinée.

  5. EWMA avec λ par défaut. Le λ=0.2 est un bon départ, mais calibrez-le sur la vitesse de votre process. Un four qui met 4 heures à se stabiliser et une presse à injecter qui cycle en 30 secondes ne partagent pas le même λ.

En pratique : le setup minimal

Pour un nouveau capteur sur une machine industrielle :

  1. Jour 1-7 : stockez le brut (ou à 1 Hz si le capteur est rapide). Observez.
  2. Jour 7 : calculez la distribution. Identifiez bruit, tendance, outliers.
  3. Jour 8 : choisissez fenêtre et méthode. Implémentez l’agrégation.
  4. Jour 30 : validez que le signal agrégé préserve les événements qui comptent.

Le triplet (min, mean, max) par minute est le choix sûr par défaut. Il coûte 3 valeurs/min (4 320/jour), préserve les pics, et suffit pour 80% des cas d’usage ML en industrie.

Cet article vous a été utile ?

BCUB3 est une petite structure. Si vous pensez à un collègue ou un partenaire qui pourrait en tirer quelque chose, la meilleure manière de nous aider est de partager le lien. Et si vous avez un cas concret à discuter, parlons-en directement.

Prendre un RDV de cadrage