我一直在尝试使用Holt-Winters算法的这种实现来进行Python中的时间序列预测,但是遇到了障碍......基本上,对于某些(正)输入系列,它有时会预测负数,这应该清楚不是这样的.即使预测不是负面的,它们有时也是非常不准确的 - 比它们应该的数量级更高/更低.为算法提供更多的数据周期似乎没有帮助,实际上往往会使预测变得更糟.
我正在使用的数据具有以下特征,可能是问题:
非常频繁地采样(每15分钟一个数据点,而不是示例使用的月度数据) - 但从我所读到的,Holt-Winters算法应该没有问题.也许这表明实施存在问题?
有多个周期 - 每日峰值(即每96个数据点)以及周末数据的每周周期显着低于工作日数据 - 例如工作日可以在4000左右达到峰值但周末达到峰值1000 - 但即使我只给出它是工作日的数据,我遇到了负数问题.
对于Holt-Winters算法的实现或使用,我是否还缺少一些东西?我不是统计学家,所以我使用上面链接中指出的alpha,beta和gamma的'默认'值 - 这可能是问题,是否有更好的方法来计算这些值?
或者......有没有比Holt-Winters更好的算法?最后,我只想根据历史数据创建合理的预测.我尝试过单指数和双指数平滑,但(据我所知)并不支持数据的周期性.
任何帮助/输入将不胜感激!