Apps · Detection
Anomaly Detection Lab
A pump runs for 30 days at changing load. Inject a fault, train detectors on the healthy start of the record, and see which ones raise the alarm first and which ones cry wolf.
Sensor datasignaltraining windowfault period
Anomaly scores relative to each detector's threshold1.0 = threshold · dots = alarms
Results
How the detectors work
| Detector | Score | Sees |
|---|---|---|
| Fixed alarm (baseline) | vibration ÷ limit | one channel, no context |
| Z-score | largest |z| of any channel against training mean and spread | each channel separately, no context |
| Load-aware model | largest residual after predicting each channel from load with a linear fit | each channel, with context |
| Isolation Forest | how few random cuts isolate the point | all channels together |
| PCA | squared error outside the main components (Q statistic) | correlations between channels |
| Autoencoder | reconstruction error of a small neural network with a narrow bottleneck | non-linear relationships between channels |
Try cooling loss: temperature rises for a given load but stays inside its normal overall range, so the fixed alarm misses it and the z-score only notices days later at full load. The models that learned how temperature follows load catch it within about a day. Then try sensor drift: every multivariate model flags it too, which is a reminder that anomaly detection finds "unusual", not "machine fault".
Read more in Anomaly detection and Why AI for asset maintenance.