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.

Runs in your browserSynthetic data or your CSV
Sensor datasignaltraining windowfault period
Anomaly scores relative to each detector's threshold1.0 = threshold · dots = alarms
Results

How the detectors work

DetectorScoreSees
Fixed alarm (baseline)vibration ÷ limitone channel, no context
Z-scorelargest |z| of any channel against training mean and spreadeach channel separately, no context
Load-aware modellargest residual after predicting each channel from load with a linear fiteach channel, with context
Isolation Foresthow few random cuts isolate the pointall channels together
PCAsquared error outside the main components (Q statistic)correlations between channels
Autoencoderreconstruction error of a small neural network with a narrow bottlenecknon-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.