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é :
-
Réduire le bruit. Un capteur de température oscille de à chaque lecture. Sur 60 lectures, la moyenne converge vers la vraie valeur. L’écart-type de la moyenne chute d’un facteur .
-
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.
-
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.
-
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être | Volume relatif | Ce qu’on voit | Ce qu’on perd |
|---|---|---|---|
| Brut (Hz) | 100% | Tout le signal, bruit inclus | Rien |
| Seconde | ~10% | Transitoires rapides | Micro-oscillations |
| Minute | ~0.2% | Tendances process | Pics 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, reporting | Tout 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
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)
Fenêtre glissante de points. Retard de points par rapport au signal. Simple, interprétable, lent à réagir.
EWMA (Exponentially Weighted Moving Average)
Le poids décroît exponentiellement. Les points récents comptent plus. Pas de retard fixe — la réactivité dépend de .
Comment choisir λ ?
| λ | Mémoire effective | Réactivité | Bruit résiduel | Usage typique |
|---|---|---|---|---|
| 0.05 | ~40 points | Très lente | Très faible | Dérive lente, tendance long terme |
| 0.1 | ~20 points | Lente | Faible | Carte de contrôle EWMA classique |
| 0.2 | ~10 points | Modérée | Modéré | Lissage process continu |
| 0.3 | ~6 points | Rapide | Notable | Suivi de changement rapide |
| 0.5 | ~3 points | Très rapide | Élevé | Presque pas de lissage |
Formule de la mémoire effective :
Règle pratique : est le défaut industriel. Augmentez pour des process rapides (injection plastique). Diminuez pour des process lents (traitement thermique).
CUSUM (Cumulative Sum)
Accumule les déviations par rapport à une cible . Détecte les petites dérives persistantes que l’EWMA rate. Paramètre = demi-shift à détecter, = 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.
| Signal | Méthode recommandée | Fenêtre | Raison |
|---|---|---|---|
| Température | EWMA (λ=0.2) | 1 min | Lissage du bruit thermique, détection de dérive |
| Pression | Moyenne + P95 | 1 min | La moyenne pour la tendance, P95 pour les pics |
| Vibration | RMS + FFT | 1 s | RMS pour l’amplitude, FFT pour les fréquences caractéristiques |
| Débit | Moyenne | 5 min | Signal 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.
| Signal | Méthode recommandée | Fenêtre | Raison |
|---|---|---|---|
| Cote usinée | Moyenne par lot (n=5) | Par sous-groupe | SPC classique Xbar-R |
| Temps de cycle | Médiane | Par heure | Robuste aux changements d’outil |
| Taux de rebut | Somme / comptage | Par poste (8h) | Ratio, pas valeur absolue |
| Masse | EWMA (λ=0.1) | Par pièce | Dé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
-
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.
-
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.
-
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.
-
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.
-
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 :
- Jour 1-7 : stockez le brut (ou à 1 Hz si le capteur est rapide). Observez.
- Jour 7 : calculez la distribution. Identifiez bruit, tendance, outliers.
- Jour 8 : choisissez fenêtre et méthode. Implémentez l’agrégation.
- 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.