ESRN的Pythorch实现
ESRNN的Python项目详细描述
ES-RNN的Pythorch实现
在这个项目中,我们为Smyl提出的ES-RNN算法编写了一个pytorch类,赢得了M4预测竞赛的提交。类包装拟合和预测方法,以便于与机器学习管道的交互,以及评估和数据争用工具。在
安装先决条件
- 数量==1.16.1
- 熊猫==0.25.2
- Pythorch>;=1.3.1
安装
本守则正在进行中,欢迎有任何贡献或问题 GitHub位于:https://github.com/kdgutier/esrnn_torch
您可以从Python package index安装已发布版本的{em1}$版本,该版本是Python package index的:
pipinstallESRNN
使用示例
在使用模型时,确保要匹配的数据帧满足balanced, 在序列的开头有没有零,因此没有负值 与乘法模型的交互作用很差。在
^{pr2}$总体加权平均数
对于量化不同时间序列的特定模型的总误差来说,一个有用的度量是针对M4竞争提出的总体加权平均(OWA)。通过获得模型所有时间序列的对称平均绝对百分比误差(sMAPE)和平均绝对标度误差(MASE)的平均值,并计算Naive2预测值,来计算该度量值。sMAPE和MASE都与尺度无关。这些测量值计算如下:
当前结果
这里我们直接使用模型与原始实现进行比较。值得注意的是,这些结果不包括ESRNN paper中提到的集成方法。
Results of the M4 competition。
DATASET | OUR OWA | M4 OWA (Smyl) |
---|---|---|
Yearly | 0.785 | 0.778 |
Quarterly | 0.879 | 0.847 |
Monthly | 0.872 | 0.836 |
Hourly | 0.615 | 0.920 |
Weekly | 0.952 | 0.920 |
Daily | 0.968 | 0.920 |
复制M4结果
复制M4结果非常简单,只需在通过pip安装软件包后运行以下代码行(针对每个频率):
python -m ESRNN.m4_run --dataset 'Yearly' --results_directory '/some/path' \ --gpu_id 0 --use_cpu 0
使用--help
获取每个参数的描述:
python -m ESRNN.m4_run --help
作者
- Kin Gutierrez-kdgutier
- Cristian Challu-cristianchallu
- Federico Garza-FedericoGarza
许可证
这个项目是在麻省理工学院许可下授权的-有关详细信息,请参阅LICENSE文件。在
参考文献
- A hybrid method of exponential smoothing and recurrent neural networks for time series forecasting
- The M4 Competition: Results, findings, conclusion and way forward
- M4 Competition Data
- Dilated Recurrent Neural Networks
- Residual LSTM: Design of a Deep Recurrent Architecture for Distant Speech Recognition
- A Dual-Stage Attention-Based recurrent neural network for time series prediction
- 项目
标签: