实验
StatsForecast ETS 和 Facebook Prophet 在 Spark 上的应用 (M5)
本 Notebook 最初使用 DataBricks 执行
本 Notebook 的目的是创建一个可扩展性基准(时间和性能)。为此,我们使用 Spark 分布式训练,在 M5 数据集上训练 Nixtla 的 StatsForecast (使用 ETS 模型)。作为对比,使用了 Facebook 的 Prophet 模型。
使用了 AWS 集群 (安装在 Databricks 上),共有 11 个 m5.2xlarge 类型实例(8 核,32 GB 内存),运行时为 10.4 LTS。此 Notebook 被用作基准案例。
本示例使用 M5 数据集。它包含 30,490
个低层时间序列。
主要结果
方法 | 时间 (分钟) | 性能 (wRMSSE) |
---|---|---|
StatsForecast | 7.5 | 0.68 |
Prophet | 18.23 | 0.77 |
安装库
StatsForecast 流水线
预测
使用 StatsForecast,您无需下载数据。分布式后端可以直接处理您的数据文件。
评估性能
M5 竞赛使用了加权均方根比例误差。您可以在此处找到该指标的详细信息。
wrmsse | |
---|---|
总计 | 0.682358 |
级别1 | 0.449115 |
级别2 | 0.533754 |
级别3 | 0.592317 |
级别4 | 0.497086 |
级别5 | 0.572189 |
级别6 | 0.593880 |
级别7 | 0.665358 |
级别8 | 0.652183 |
级别9 | 0.734492 |
级别10 | 1.012633 |
级别11 | 0.969902 |
级别12 | 0.915380 |
Prophet 流水线
下载数据
使用 Prophet 的预测函数
在 M5 数据集上训练 Prophet
评估性能
M5 竞赛使用了加权均方根比例误差。您可以在此处找到该指标的详细信息。
wrmsse | |
---|---|
总计 | 0.771800 |
级别1 | 0.507905 |
级别2 | 0.586328 |
级别3 | 0.666686 |
级别4 | 0.549358 |
级别5 | 0.655003 |
级别6 | 0.647176 |
级别7 | 0.747047 |
级别8 | 0.743422 |
级别9 | 0.824667 |
级别10 | 1.207069 |
级别11 | 1.108780 |
级别12 | 1.018163 |