【发布时间】:2011-08-17 12:49:03
【问题描述】:
我一直在尝试使用this implementation of the Holt-Winters algorithm 在 Python 中进行时间序列预测,但遇到了障碍......基本上,对于某些(正)输入序列,它有时会预测负数,这显然不应该案子。即使预测不是负面的,它们有时也会非常不准确——比应有的高/低几个数量级。给算法更多的数据周期似乎没有帮助,实际上往往会使预测变得更糟。
我使用的数据有以下特点,可能有问题:
非常频繁地采样(每 15 分钟一个数据点,而不是示例使用的每月数据) - 但根据我的阅读,Holt-Winters 算法应该没有问题。也许这表明实施存在问题?
具有多个周期性 - 存在每日峰值(即每 96 个数据点)以及周末数据的每周周期明显低于工作日数据 - 例如,工作日的峰值可能在 4000 左右,但周末的峰值在 1000 -但即使我只给它工作日数据,我也会遇到负数问题。
在实现或使用 Holt-Winters 算法时,我是否缺少一些东西?我不是统计学家,所以我使用上面链接中指示的 alpha、beta 和 gamma 的“默认”值 - 这可能是问题所在,是否有更好的方法来计算这些值?
或者...这里有比 Holt-Winters 更好的算法吗?最终,我只想从这里的历史数据中创建明智的预测。我尝试过单指数和双指数平滑,但(据我所知)都不支持数据的周期性。
任何帮助/输入将不胜感激!
【问题讨论】:
-
是否可以给出产生错误输出的数据的 sn-p?
-
一个有趣的问题,但除了偶然使用 Python 之外,它与主题无关。这更适合stats.stackexchange.com。
-
您能解释一下您认为该算法不应产生负预测的原因吗?是基于你对算法的理解,还是基于你知道数据是积极的?
标签: python statistics forecasting