# Augmentation Feature Roadbook Hi there! For those who are interested in testing augmentation techniques in `Time-Series-Library`. For now, we have embedded several augmentation methods in this repo. We are still collecting publicly available augmentation algorithms, and we appreciate your valuable advice! ``` The Implemented Augmentation Methods 1. jitter 2. scaling 3. permutation 4. magwarp 5. timewarp 6. windowslice 7. windowwarp 8. rotation 9. spawner 10. dtwwarp 11. shapedtwwarp 12. wdba (Specially Designed for Classification tasks) 13. discdtw ``` ## Usage In this folder, we present two sample of shell scripts doing augmentation in `Forecasting` and `Classification` tasks. Take `Forecasting` task for example, we test multiple augmentation algorithms on `EthanolConcentration` dataset (a subset of the popular classification benchmark `UEA`) using `PatchTST` model. ```shell export CUDA_VISIBLE_DEVICES=0 model_name=PatchTST for aug in jitter scaling permutation magwarp timewarp windowslice windowwarp rotation spawner dtwwarp shapedtwwarp wdba discdtw discsdtw do echo using augmentation: ${aug} python -u run.py \ --task_name classification \ --is_training 1 \ --root_path ./dataset/EthanolConcentration/ \ --model_id EthanolConcentration \ --model $model_name \ --data UEA \ --e_layers 3 \ --batch_size 16 \ --d_model 128 \ --d_ff 256 \ --top_k 3 \ --des 'Exp' \ --itr 1 \ --learning_rate 0.001 \ --train_epochs 100 \ --patience 10 \ --augmentation_ratio 1 \ --${aug} done ``` Here, parameter `augmentation_ratio` represents how many times do we want to perform our augmentation method. Parameter `${aug}` represents a string of augmentation type label. The example here only perform augmentation once, so we can set `augmentation_ratio` to `1`, followed by one augmentation type label. Trivially, you can set `augmentation_ratio` to an integer `num` followed by `num` augmentation type labels. The augmentation code obeys the same prototype of `Time-Series-Library`. If you want to adjust other training parameters, feel free to add arguments to the shell scripts and play around. The full list of parameters can be seen in `run.py`. ## Contact Us! This piece of code is written and maintained by [Yunzhong Qiu](https://github.com/DigitalLifeYZQiu). We thank [Haixu Wu](https://github.com/wuhaixu2016) and [Jiaxiang Dong](https://github.com/dongjiaxiang) for insightful discussion and solid support. If you have difficulties or find bugs in our code, please contact us: - Email: qiuyz24@mails.tsinghua.edu.cn