【发布时间】:2017-07-25 13:13:12
【问题描述】:
我有两个月的数据集,每 2 分钟阅读一次。 statsmodel.tsa.seasonal_decompose 方法要求频率的数值。此类数据的数值是多少,以及在此类时间序列数据中计算频率的正确方法是什么。
【问题讨论】:
标签: python time-series statsmodels
我有两个月的数据集,每 2 分钟阅读一次。 statsmodel.tsa.seasonal_decompose 方法要求频率的数值。此类数据的数值是多少,以及在此类时间序列数据中计算频率的正确方法是什么。
【问题讨论】:
标签: python time-series statsmodels
您需要自己确定季节性的频率。这通常是使用数据集的知识或通过目视检查 statsmodels 库提供的偏自相关图来完成的: statsmodels - partial autocorrelation
如果数据具有每小时的季节性,您可能会看到明显的偏自相关滞后 30(因为在这一小时的前 2 分钟和最后一小时的前 2 分钟之间有 30 个数据点)。我假设 statsmodels 会期望这个值;我假设如果您有每月数据,则预计为 12,或者如果您有每日数据,则预计每周数据为 7,等等。
从您的其他帖子来看,您似乎有多个季节性因素需要考虑。您可能会看到与前几个小时、前几天和/或前几周相同的 2 分钟相对应的明显滞后。这种季节性分解方法被认为是幼稚的,并且仅解决其文档中描述的 1 个季节性问题: Seasonal Decomposition
如果您想继续沿着季节性分解路径走下去,可以尝试 facebook 发布的相对较新的双季节模型。它专门设计用于与年内和周内季节性数据建模的每日数据。也许它可以适应您的问题。 fbprophet
季节分解模型的缺点是它无法捕捉季节随时间的变化。例如,夏季一周用电需求的特点与冬季有很大不同。此方法将确定平均季节性模式,并将剩余信息留在残差中。因此,鉴于您的特征因一周中的每一天而异(在您的另一篇文章中提到),这将无法捕捉到这一点。
如果您想将您的数据发送给我,我有兴趣看看。根据我的经验,您已经进入了时间序列预测的深层次,不一定有一个易于使用的现成解决方案。如果您确实提供了它,还请说明您的目标是什么:
【讨论】: