This is PyTorch implementation of AERO in the following paper:
"From Chaos to Clarity: Time Series Anomaly Detection in Astronomical Observations"
Dependency can be installed using the following command:
pip install -r requirements.txt
# put your dataset under processed/ directory with the same structure shown in the data/msl/
Dataset_txt
|-AstrosetMiddle
| |-AstrosetMiddle_train.txt # training data
| |-AstrosetMiddle_test.txt # test data
| |-AstrosetMiddle_interpretation_label.txt # True anomaly label
|-your_dataset
| |-XX_train.txt
| |-XX_test.txt
| |-XX_interpretation_label.txt
| ...
- The row in XX_train.txt(XX_test.txt) represents a timestamp and the coloum represents a object. However, the first coloum represents timestamps.
- In interpretation_label.txt, every row represents a true anomaly segment. For example, "2200-2900:48" represents object 48 occurs a anomaly during 2200-2900 timestamps.
- The object number in XX_interpretation_label.txt starts from 1 instead of 0.
Preprocess all datasets using the command
python3 src/processing.py AstrosetMiddle
- SyntheticMiddle
python3 main.py --dataset_name SyntheticMiddle --retrain --freeze_patience 5 --freeze_delta 0.01 --stop_patience 5 --stop_delta 0.01
- SyntheticHigh
python3 main.py --dataset_name SyntheticHigh --retrain --freeze_patience 5 --freeze_delta 0.01 --stop_patience 5 --stop_delta 0.005
- SyntheticLow
python3 main.py --dataset_name SyntheticLow --retrain --freeze_patience 5 --freeze_delta 0.01 --stop_patience 5 --stop_delta 0.005
- AstrosetMiddle
python3 main.py --dataset_name AstrosetMiddle --retrain --freeze_patience 5 --freeze_delta 0.01 --stop_patience 5 --stop_delta 0.005
- AstrosetHigh
python3 main.py --dataset_name AstrosetHigh --retrain --freeze_patience 5 --freeze_delta 0.01 --stop_patience 5 --stop_delta 0.005
- AstrosetLow
python3 main.py --dataset_name AstrosetLow --retrain --freeze_patience 5 --freeze_delta 0.005 --stop_patience 5 --stop_delta 0.001
You can run the following command to evaluate the test datasets using the trained model.
python3 main.py --dataset_name XX --test