---license: Apache License 2.0 hardware_support:- NVIDIA tasks:- Domain-Specific Large Models- Time Series Forecasting---## 1. 任务简介时序在每日的生活、工作中随处可见,比如CPU负载、上证指数、商场每天的人流量、商品每日的价格等都属于时间序列,总的来说时间序列就是按时间记录的有序数据,而时序预测就是运用历史的数据推测出事物的发展趋势。比如在零售行业中,未来的销售量;在能源行业中,未来的能耗变化趋势、发电量;在制造行业中,未来设备是否会发生故障等等,都可以通过AI建模的方式实现精准预测。基于该产线,产学研界多方开发者已快速落地多个TS应用,使用场景覆盖电力、金融、交通等各个领域:<img src="https://user-images.githubusercontent.com/18344247/258564902-249188cf-402c-409a-97be-5a2a1dcf3ce9.png" style="height: 200px"> ## 2. 模型效果PP-TS是一种基于启发搜索和集成学习的时序预测模型,达到了比此前的同类型模型更好的性能。例如在Electricity数据集上,预测MT_320单变量,预测长度为96时,实现了的0.210的MSE和0.318的MAE性能指标。考虑精度和性能的不同需求,PaddleX提供了包含PP-TS在内的9种前沿时序预测模型。性能对比如下:| 基础模型 | mse | mae | 模型存储大小 | 启动训练|| -------- | ------- | ------ | ------------- | ----| | RLinear | 0.408 | 0.456 | 44k | [RLinear](https://aistudio.baidu.com/aistudio/modelsdetail?modelId=330) || DLinear | 0.386| 0.445 |80k| [DLinear](https://aistudio.baidu.com/aistudio/modelsdetail?modelId=335) ||NLinear |0.411| 0.459| 44k| [NLinear](https://aistudio.baidu.com/aistudio/modelsdetail?modelId=334)||PatchTST| 0.291 |0.38 |2.2M| [PatchTST](https://aistudio.baidu.com/aistudio/modelsdetail?modelId=337)|TimesNet| 0.284 |0.386| 5.2M|[TimesNet](https://aistudio.baidu.com/aistudio/modelsdetail?modelId=331)|TiDE| 0.376| 0.441 |35M| [TiDE](https://aistudio.baidu.com/aistudio/modelsdetail?modelId=336) | |NS-Transformer| 0.385 |0.463 |61M| [NS-Transformer](https://aistudio.baidu.com/aistudio/modelsdetail?modelId=338)||XGBoost |0.426| 0.47| 15M| [XGBoost](https://aistudio.baidu.com/aistudio/modelsdetail?modelId=333)||PP-TS| 0.21| 0.318 |63M| [PP-TS](https://aistudio.baidu.com/aistudio/modelsdetail?modelId=339)|注:以上结果在电力ECL数据集MT_320上进行测试。更多关于PaddleTS的内容,可以点击 [PaddleTS 仓库](https://github.com/PaddlePaddle/PaddleTS) 进行了解。## 3.技术方案PP-TS模型经过8个前沿的基础单模型,通过启发式搜索集成被选择的模型,从而得到最佳时序预测结果。下图展示了PP-TS的框架<img src="https://user-images.githubusercontent.com/18344247/257467550-c35887f8-62f9-449d-a0fb-7ccf00d1f25a.png" style="height: 300px">## 4. 如何使用### 4.1 数据准备数据准备说明参考:[长时序预测](https://ai.baidu.com/ai-doc/AISTUDIO/Clkg7m4y9#%E9%95%BF%E6%97%B6%E5%BA%8F%E9%A2%84%E6%B5%8B%E4%BB%BB%E5%8A%A1)。检查数据组织格式是否满足要求,如果不满足请按照规范说明进行调整,否则将导致数据校验环节无法通过。完成数据准备后,点击右上角 `创建模型产线` 。在 AI Studio 云端,可以通过挂载数据集的方式来使用自己的数据。模型产线创建和修改窗口可以挂载和管理数据集,如下图所示。数据集挂载成功后,需在开发者模式中查看并解压挂载的数据集,数据集路径查看方式为【开发者模式】-左侧【资源管理器】,在目录 `AISTUDIO/data` 下,数据集解压方式为【开发者模式】-左侧【菜单】-【终端】-【新建终端】,在【终端】中通过命令行方式解压,并将解压后的数据集路径拷贝到【工具箱模式】-【数据校验】-【数据集路径】。**注意:在AI Studio云端,`data`目录不持久化存储,如需持久化存储,需要将数据解压到其它目录。**在本地端-工具箱模式中,您可以直接在【工具箱模式】-【数据校验】-【数据集路径】中填写本地数据路径来使用自己的数据集。在配置完成【数据集路径】后,即可点击【开始校验】按钮进行数据集校验更多详细说明,请参[考在线文档](https://ai.baidu.com/ai-doc/AISTUDIO/Zlist35hy#%E6%95%B0%E6%8D%AE%E6%A0%A1%E9%AA%8C)。### 4.2 模型训练PaddleX提供`工具箱模式`和`开发者模式`两种开发模式:- `工具箱模式` 推荐 AI 开发经验较少的开发者使用,高阶开发者也可以使用这个模式来提高开发效率。工具箱模式利用 gradio 搭建 webui 工具链,可以实现无代码 AI 模型开发。主要包含数据校验、模型训练、评估测试和模型部署四个环节。可以根据实际需求选择模型结构、骨干网络及对应的训练参数、优化策略,使得任务效果最佳。关于工具箱模式的完整使用请参考[在线文档](https://ai.baidu.com/ai-doc/AISTUDIO/Zlist35hy)。**注意:工具箱模式中的训练轮次、批大小、学习率等参数的默认值仅适用于官方提供的示例数据集,对于自己的数据集,需要进行针对性的调整。** 可以参考参数设置经验:数据量样本量较少时,建议降低`epoch`,防止过拟合。若增大batchsize, 建议同时增大学习率。学习率对训练效果影响较大,建议放缩进行多次尝试,对于难度较大的任务,可以适当增加训练轮次数以获得更佳效果。<img src="https://user-images.githubusercontent.com/18344247/258573405-fcdb1cd9-eed6-4669-a295-57e0e94463b2.png" style="height: 300px">- `开发者模式` 推荐 AI 开发经验较丰富度的开发者使用,集成了 VSCode IDE 环境,并内置飞桨统一模型开发 API——UAPI,可以使用统一的 API 接口进行开发,仅需 5 行命令即可完成基础模型训练、推理、评估导出以及多模型组合预测。同时,在开发者模式中可以编辑工具箱模式的源码,以实现工具箱模式 DIY。关于开发者模式的完整使用请参考[在线文档](https://ai.baidu.com/ai-doc/AISTUDIO/Mlist5jov)。<img src="https://user-images.githubusercontent.com/18344247/258573175-e11e0afd-7f10-4b36-a632-029e74145a52.jpeg" style="height: 300px">### 4.3 模型部署- 部署支持情况: 目前不支持部署