【问题标题】:Time Series Forecasting: weekly vs daily predictions时间序列预测:每周与每日预测
【发布时间】:2020-02-20 01:33:20
【问题描述】:

我有一些每日时间序列数据。我正在尝试根据历史每日数据集预测接下来的 3 天。

历史数据显示了基于星期几(例如周一、周二等)的明确趋势 周一和周二最高,周三通常最高,然后在一周的剩余时间内下降。

如果我每月或每周对数据进行分组,我肯定可以看到随着时间的推移而增加的趋势。

我的目标是仅预测接下来的 3 天。我的直觉告诉我要采用一种方法,我希望就其他方法的优缺点提供一些反馈。

我的直觉告诉我,最好按周或月对数据进行分组,然后预测下周或月。假设我通过将历史每周数据加载到 ARIMA 中来预测下周的总数,训练、测试和预测下周。在一周内,每个星期通常会占该周总数的 x%。因此,如果从历史上看,周三平均贡献了每周交易量的 50%,而我预计下周为 1000,那么我将预测周三为 500。这是一种常见的方法吗?

或者,我可以将历史每日值加载到 ARIMA 中,训练、测试并让 ARIMA 预测接下来的 3 天。这里最大的区别是整个“每周预测”与“每天预测”。

在时间序列预测领域,这是一个常见的争论吗?如果是这样,也许有人可以提出一些关键词,我可以通过谷歌搜索来了解自己的优缺点?

另外,当星期几是一个因素时,也许有一个建议的算法可以使用?

提前感谢您的任何回复。 丹

【问题讨论】:

    标签: machine-learning time-series data-science arima


    【解决方案1】:

    这是一个标准的每日时间序列问题,其中存在一周中的某一天的季节性。如果您使用 R,您可以使用 frequency = 7 将时间序列设为 ts 对象,然后使用预测包中的 auto.arima() 对其进行预测。任何其他季节性预测方法也可能适用。

    【讨论】:

    • 谢谢罗伯。我正在使用 Python。我已经运行了 auto_arima,订单可以返回为 SARIMAX(1, 0, 2)x(2, 1, 2, 7)。我已经测试和训练了模型,结果预测有一个 RMSE 错误:7.053940399,其中数据集中的平均值为 28.3。我的直觉说这是一个很高的错误。想法?
    猜你喜欢
    • 1970-01-01
    • 2013-07-13
    • 2013-05-01
    • 2020-01-07
    • 2021-09-20
    • 2019-08-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多