| # 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 |