时间序列数据的数值,每2分钟一次

时间:2017-07-24 15:09:44

标签: python time-series statsmodels

我有两个月的数据集,我每2分钟阅读一次。 statsmodel.tsa.seasonal_decompose方法请求频率的数值。这些数据的数值是什么?在这样的时间序列数据中计算freq的正确方法是什么。

1 个答案:

答案 0 :(得分:1)

您需要自己确定季节性的频率。通常这是使用数据集的知识或通过目视检查statsmodels库提供的部分自相关图来完成的: statsmodels - partial autocorrelation

如果数据具有每小时的季节性,您可能会看到显着的部分自相关滞后30(因为在这个小时的前2分钟和最后一小时的前2分钟之间有30个数据点) )。我假设statsmodels会期望这个值;我假设如果您有月预期数据12,或者如果您有每日数据,则预计每周数据为7等。

听起来你有多个季节性可以考虑通过你的其他帖子判断。您可能会看到与前几个小时,前一天和/或前几周相同的2分钟相对应的显着延迟。这种季节性分解方法被认为是天真的,只能解决其文档中描述的1种季节性问题: Seasonal Decomposition

如果您想继续沿季节性分解路径前进,可以试试facebook最近发布的双季节模型。它专门设计用于与日常数据配合使用,它可以模拟年内和周内的季节性因素。也许它可以适应你的问题。 fbprophet

季节性分解模型的缺点在于它无法捕捉季节如何随时间变化。例如,夏季一周电力需求的特征与冬季大不相同。该方法将确定平均季节性模式并将剩余信息留在残差中。因此,鉴于您的特征因星期几而异(在您的其他帖子中提到),这不会捕捉到它。

如果您想将数据发送给我,我有兴趣看看。根据我的经验,您已经深入到时间序列预测的深层次,并不一定有一个易于使用的现成解决方案。如果您确实提供了,请说明您的目标:

  • 您是否正在尝试提前预测,如果是,则需要多少2分钟的时间间隔?
  • 您是否需要置信区间,蒙特卡罗结果,或两者都没有?
  • 您如何衡量模型性能的准确性?如何“好”'它需要吗?