【问题标题】:numeric value for time series data with frequency every 2 minutes每 2 分钟频率的时间序列数据的数值
【发布时间】:2017-07-25 13:13:12
【问题描述】:

我有两个月的数据集,每 2 分钟阅读一次。 statsmodel.tsa.seasonal_decompose 方法要求频率的数值。此类数据的数值是多少,以及在此类时间序列数据中计算频率的正确方法是什么。

【问题讨论】:

    标签: python time-series statsmodels


    【解决方案1】:

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

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

    从您的其他帖子来看,您似乎有多个季节性因素需要考虑。您可能会看到与前几个小时、前几天和/或前几周相同的 2 分钟相对应的明显滞后。这种季节性分解方法被认为是幼稚的,并且仅解决其文档中描述的 1 个季节性问题: Seasonal Decomposition

    如果您想继续沿着季节性分解路径走下去,可以尝试 facebook 发布的相对较新的双季节模型。它专门设计用于与年内和周内季节性数据建模的每日数据。也许它可以适应您的问题。 fbprophet

    季节分解模型的缺点是它无法捕捉季节随时间的变化。例如,夏季一周用电需求的特点与冬季有很大不同。此方法将确定平均季节性模式,并将剩余信息留在残差中。因此,鉴于您的特征因一周中的每一天而异(在您的另一篇文章中提到),这将无法捕捉到这一点。

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

    • 您是否尝试提前进行预测,如果是,需要多少 2 分钟间隔?
    • 您需要置信区间、蒙特卡罗结果,还是两者都不需要?
    • 如何衡量模型性能的准确性?它需要有多“好”?

    【讨论】:

      猜你喜欢
      • 2013-11-13
      • 1970-01-01
      • 2013-07-18
      • 2012-11-14
      • 2013-10-13
      • 2013-02-12
      • 2019-10-13
      • 1970-01-01
      • 2020-08-27
      相关资源
      最近更新 更多