PyTorch-based anomaly detection on ESA telemetry using an autoencoder and reconstruction error thresholding.
- Source: https://zenodo.org/records/15237121
- Scope used in this repo: Mission 1 only (
ESA-Mission1/) - Processed file used by the model:
esa_anomaly.csv
ESA_anomaly_detection_eda.ipynb— data loading, preprocessing, and label generationESA_anomaly_detection_Model.ipynb— training, thresholding, and evaluation plotsmodel/autoencoder.py— autoencoder architectureESA-Mission1/— Mission 1 telemetry and metadata
- Merge selected telemetry channels.
- Downsample and clean missing values (
ffill/bfill). - Build binary anomaly labels from interval annotations.
- Create temporal sliding windows.
- Train autoencoder on normal data.
- Compute reconstruction error and classify anomalies using a threshold.
- Precision
- Recall
- F1-score
- Classification report
- Confusion matrix
- ROC curve (AUC)
- Create/activate a Python environment.
- Install dependencies:
pandasnumpymatplotlibscikit-learntorchipykernel(for notebook kernel)
- Run
ESA_anomaly_detection_eda.ipynbto generate/updateesa_anomaly.csv. - Run
ESA_anomaly_detection_Model.ipynbto train and evaluate.
- This repository intentionally focuses on Mission 1 for reproducibility and manageable compute.
- Threshold can be fixed or selected automatically from the precision-recall curve.