Anomaly Detection from Telemetry
Catching the fault you did not enumerate - unsupervised detection of behavior the plant has never shown before.
Beyond the fault dictionary
FMEA and FDI catch the faults you anticipated. Anomaly detection catches the ones you did not. It learns the manifold of normal plant behavior from telemetry and flags departures from it, without needing a labeled example of each fault. On machines operating in un-characterized regimes - the burner especially - this is essential, because the fault dictionary is necessarily incomplete.
Reconstruction-residual method
A common approach trains a model to reconstruct normal telemetry; on anomalous data it reconstructs poorly, and the reconstruction error is the anomaly score. A threshold on the score, calibrated to a false-alarm budget, raises a flag that routes to human review or conservative derate rather than an immediate trip.
def anomaly_score(x, model):
x_hat = model.reconstruct(x)
return float(((x - x_hat) ** 2).mean())
def triage(score, warn, alarm):
if score > alarm: return 'derate_and_review'
if score > warn: return 'flag_for_operator'
return 'nominal'
Discipline required
- Calibrate thresholds to an explicit false-alarm budget - nuisance trips destroy availability
- Separate novelty (a new but safe operating point) from a genuine fault
- Never let an unsupervised flag directly command a hard trip; route it through review or graceful derate
- Feed confirmed anomalies back to extend the FMEA fault dictionary
Because the burner plug regime is 166-830x beyond any device, anomaly detection there is operating far outside its training support; its outputs are treated as low-confidence and always defer to the honest plug gate. Confirmed anomalies feed FDI and postmortem.