README.md 2.5 KB
Newer Older
Z
Zeyu Chen 已提交
1
# 使用TCN序列模型解决时间序列预测
Z
Zeyu Chen 已提交
2

Z
Zeyu Chen 已提交
3
## 简介
Z
Zeyu Chen 已提交
4 5 6 7 8 9 10

时间序列是指按照时间先后顺序排列而成的序列,例如每日发电量、每小时营业额等组成的序列。通过分析时间序列中的发展过程、方向和趋势,我们可以预测下一段时间可能出现的情况。在本例中,我们使用时间卷积网络TCN进行建模,将学习到的特征接入全连接层完成预测。TCN的网络如下所示:<br />

![TCN](http://paddlenlp.bj.bcebos.com/imgs/tcn.png)

图中是一个filters number=3, dilated rate=1的时间卷积网络,它能够学习前T个时序的数据特征。关于TCN更详细的资料请参考论文:[An Empirical Evaluation of Generic Convolutional and Recurrent Networks for Sequence Modeling](https://arxiv.org/abs/1803.01271)

Z
Zeyu Chen 已提交
11
## 快速开始
Z
Zeyu Chen 已提交
12 13 14

2019年末,新冠疫情席卷而来,影响了我们工作、生活中的方方面面。如今,疫情在国内逐渐得到控制,但在国际上依然呈现急剧扩增的趋势,预测今后的疫情形势对我们的规划实施具有重大的指导意义。在本例中,我们关注时下还在发展进行的新冠疫情,将病例数作为时序预测对象。

Z
Zeyu Chen 已提交
15
### 环境配置
Z
Zeyu Chen 已提交
16

Z
Zeyu Chen 已提交
17 18 19
- python >= 3.6
- PaddlePaddle >= 2.0.0,安装方式请参考 [快速安装](https://www.paddlepaddle.org.cn/install/quick)
- paddlenlp >= 2.0.0rc
Z
Zeyu Chen 已提交
20

Z
Zeyu Chen 已提交
21
### 数据准备
Z
Zeyu Chen 已提交
22

Z
Zeyu Chen 已提交
23
数据集由约翰·霍普金斯大学系统科学与工程中心提供,每日最新数据可以从 [COVID-19](https://github.com/CSSEGISandData/COVID-19) 仓库中获取,我们在本例中提供了2020年11月24日下载的病例数据。如您需要使用最新数据,请运行:
Z
Zeyu Chen 已提交
24 25 26 27 28

```
wget https://github.com/CSSEGISandData/COVID-19/blob/master/csse_covid_19_data/csse_covid_19_time_series/time_series_covid19_confirmed_global.csv
```

Z
Zeyu Chen 已提交
29
### 模型训练
Z
Zeyu Chen 已提交
30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45

模型训练支持 CPU 和 GPU,使用 GPU 之前应指定使用的显卡卡号:

```bash
export CUDA_VISIBLE_DEVICES=0 # 只支持单卡训练
```

训练启动方式如下:

```bash
python train.py --data_path time_series_covid19_confirmed_global.csv \
                --epochs 10 \
                --batch_size 32 \
                --use_gpu
```

Z
Zeyu Chen 已提交
46
### 模型预测
Z
Zeyu Chen 已提交
47 48 49 50 51 52 53 54 55

预测启动方式如下:

```bash
python predict.py --data_path time_series_covid19_confirmed_global.csv \
                  --use_gpu
```


K
kinghuin 已提交
56
## 线上教程体验
Z
Zeyu Chen 已提交
57

K
kinghuin 已提交
58 59 60
我们为时间序列预测任务提供了线上教程,欢迎体验:

* [使用TCN网络完成新冠疫情病例数预测](https://aistudio.baidu.com/aistudio/projectdetail/1290873)