时间序列预测:远离现实的预测和预测

数据挖掘 时间序列 预测
2022-02-26 00:38:16

为尴尬的标题道歉,但我希望能够重新获得你的信心。

让我们从我得到的最终输出开始,所以至少你可以理解为什么我对结果不满意/不关心。

在此处输入图像描述

该图显示了过去 2 年的网站流量。我有兴趣了解我的学习是否适用于我的主要职业。我真的相信是这样,但我得到的结果并不是很令人鼓舞。

在发生不同的归一化(例如差分、对数等)之后,通过 ARIMA 模型运行数据获得了该图。发现最佳 ARIMA 模型是 11、1、11。这得到以下支持:

在此处输入图像描述

你可能想说 P = 15,但实际上,经过多次计算,上面给出了最好的 RSME。见下文(虽然我不确定 RSME 是否可以真正应用在这里)

在此处输入图像描述

我知道几乎 69% 的置信度远非完美,但在某些情况下,我会期望返回比上述输出更好的东西。

你对我可能做错了什么有什么想法,我可以改进什么以及如何改进?请记住我正在学习,所以请原谅我对复杂术语的有限理解。你说得越清楚,我就越有机会了解。

谢谢你的支持。

编辑:

感谢下面的所有评论,我取得了一些进展。自从我开始这个学习项目以来,我还能够通过 SARIMA 并使用获得的新数据对数据进行反验证。

请参阅下面的新图。

在此处输入图像描述

尽管与“训练”数据完美匹配,但在预测方面,数据几乎没有对应关系。鉴于我的专业知识,上面的情节是你认为正常的吗?还是我需要更多地重新工作才能得到更好的东西?

2个回答

我绝不是 ARIMA 模型方面的专家,但我已经对它们进行了一些实验,因此我可以为您列出一些我发现可以改进我的模型的东西。

  1. 我对不同的 ARIMA 模型参数进行了网格搜索以找到最佳模型

  2. 我还尝试了一些方法来集成 ARIMA 模型。例如,对最好的三个 ARIMA 模型进行平均得到的总分比一个更好。

  3. 根据问题,您可以使用数据聚合的级别。我对预测每周销售额很感兴趣,因此我制作了一个模型来预测每日销售额,然后将预测汇总为每周销售额。这极大地提高了准确性。

查看您的自相关,似乎有规律的每周模式。尝试具有 7 天周期的 SARIMA 模型可能会获得更好的分数,即有 7 天的季节性。

最后,我还尝试了其他模型类型,例如 facebook 的先知包或将其转换为回归问题,并使用工作日、周数、月份和假期作为随机森林中的特征。

似乎你有一个季节性的相关性 - 每七天。您可以查看SARIMAX模型statsmodels以尝试弥补这一点。它为您的 ARIMA 添加了第四个组件,因此在和之上p您将获得第四个术语,这是有关如何使用它的演练。dqs

正如@ThomasG所提到的,使用模型集合确实有助于进一步消除噪音这在许多建模情况下用于找出最后几个准确点,但不会解决潜在的建模问题。

也许你可以创建一个分层的训练/验证/测试拆分,这样模型就可以在各种网络流量吞吐量上进行训练(然后评估):增加、减少、稳定。分层实际上只是意味着这三个阶段在您创建的拆分中均等地表示。