Holt-Winters用于Python中的多季节预测



我的数据:我的小时数据中有两个季节性模式。。。每天和每周。例如根据一天中的时间,我的数据集中的每一天都有大致相同的形状。然而,某些日子,如周六和周日,我的数据有所增加,每小时的形状也略有不同。

(正如我在这里发现的那样,使用holt winters:https://gist.github.com/andrequeiroz/5888967)

我运行了该算法,每个季节使用24个周期,并预测了7个季节(1周),我注意到它会高估工作日,低估周末,因为它是基于周五曲线而不是周五曲线和周六曲线的组合来估计周六曲线的。在我的数据中包括第二个周期(如24和7)的好方法是什么?它们是我应该使用的不同算法吗?

解释不同形状的一个明显方法是只使用一种周期,但使其具有7*24的周期性,因此您可以将整个星期预测为一个单一的形状。

你有没有尝试过线性回归,其中预测值是线性趋势加上伪变量的贡献?解释最简单的例子是趋势加上每天的贡献。然后你会有

Y=X*t+c+A*D1+B*D2+。。。F*D6(+噪声)

在这里,您可以使用线性回归来找到X、c和A的最佳拟合值…F.t是时间,向上计数0、1、2、3,。。。无限期,所以X的拟合值会给你一个趋势。c是一个常数值,因此它向上或向下移动所有预测的Y。D1在周二被设置为1,否则设置为0,D2在周三被设置为0。。。D6在周日设置为1,否则设置为0,因此A..F条款在周一以外的日子提供捐款。我们不适合一个星期一的术语,因为如果我们这样做了,我们就无法区分c术语——如果你在c上加1,从每个a.F.中减去1,预测就会保持不变。

希望你现在能看到,我们可以添加23个术语来解释每天24小时的形状,总共添加46个术语来描述每个工作日24小时和每个周末不同24小时的一个形状。

你最好找一个统计包来处理这个问题,比如免费的R包(http://www.r-project.org/)。它确实有一点学习曲线,但你可能会找到一些书或文章,带你通过使用它来进行这种预测。

无论你做什么,我都会根据你的历史数据不断检查预测方法——人们发现,实践中最准确的预测方法往往出奇地简单。

相关内容

  • 没有找到相关文章

最新更新