我的数据:我的每小时数据中有两个季节模式...每天和每周。例如..。我的数据集中的每一天都基于一天中的几个小时具有大致相同的形状。然而,某些日子,比如周六和周日,我的数据会增加,而且每小时的形状也略有不同。
(使用holt-winters,正如我在这里发现的:https://gist.github.com/andrequeiroz/5888967)
我运行了这个算法,使用24作为我每个赛季的周期,并预测了7个季节(1周),我注意到它会过度预测工作日而低估周末,因为它基于周五曲线而不是周五曲线和周六(t-1)曲线的组合来估计周六曲线。有什么好方法可以在我的数据中包括二级周期,比如24和7?我应该使用不同的算法吗?
发布于 2014-09-11 05:23:38
考虑不同形状的一种显而易见的方法是只使用一种周期,但使其具有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在星期三设置为1,否则设置为0...D6在星期天设置为1,否则设置为0,因此A..F术语提供星期一以外的其他日子的贡献。我们不适合周一的项,因为如果我们这样做了,我们就不能区分c项-如果你把1加到c,然后从每个A..F减去1,预测结果就不会改变。
希望您现在可以看到,我们可以添加23个术语来说明每天24小时的形状,总共可以添加46个术语来说明每个工作日的24小时和每个周末的24小时。
您最好寻找一个统计包来为您处理这个问题,比如免费的R包(http://www.r-project.org/)。它确实有一些学习曲线,但您可能会找到一些书籍或文章,指导您使用它进行这种预测。
无论你做什么,我都会继续根据你的历史数据检查预测方法--人们已经发现,在实践中最准确的预测方法往往出人意料地简单。
https://stackoverflow.com/questions/25776764
复制