Model overview
This page summarises the main model types provided by energy_fault_detector.
For configuration details see Configuration and Sequence models.
Autoencoders
Autoencoders learn a model of normal behaviour and are configured under train.autoencoder in the YAML config.
Class |
Typical config names ( |
Description |
|---|---|---|
|
Dense symmetric autoencoder for tabular or time-series data treated as independent rows. Good default choice. |
|
|
Dense autoencoder where selected features are used as conditions and not reconstructed (e.g. time-of-day). |
|
|
Sequence-to-one LSTM autoencoder. Uses windows of historical data to reconstruct the last timestep. |
|
|
Bidirectional LSTM variant of the seq2one model for richer temporal context. |
|
|
CNN-based seq2one autoencoder. Efficient, focuses on local temporal patterns. |
|
|
Sequence-to-sequence LSTM autoencoder. Reconstructs the full window, useful when localisation within the window matters. |
|
|
Sequence-to-sequence CNN autoencoder using Conv1D/Conv1DTranspose layers. |
All sequence models require a sequence_builder block in
train.autoencoder.params. See Sequence models for details and examples.
Anomaly scores
Anomaly score classes map reconstruction errors to a scalar anomaly score per sample.
They are configured under train.anomaly_score.
Class |
Typical config names ( |
Description |
|---|---|---|
|
Root mean squared error over reconstruction errors. Default choice. |
|
|
Mahalanobis distance on (optionally PCA-transformed) reconstruction errors. Captures feature correlations. |
Threshold selectors
Threshold selectors map anomaly scores to boolean anomaly decisions and are configured under train.threshold_selector.
Class |
Typical config names ( |
Description |
|---|---|---|
|
Sets the threshold to a fixed quantile of the (normal) anomaly scores. Works without labels. |
|
|
Chooses the threshold that maximises the F-beta score (requires labels / |
|
|
Chooses the threshold to match a target false discovery rate (requires labels / |
|
|
Learns an input-dependent threshold using a small regression NN on autoencoder inputs and scores. |
For a full reference of model parameters, see the API docs: