在时间序列数据中检测不同的平稳性“部分”?

数据挖掘 Python 时间序列
2022-02-16 09:12:25

我正在处理一些显然是非平稳的时间序列数据。乍一看,我的数据似乎有 3 个部分。在每个部分内,数据具有相似的均值和方差,但在每个部分之间,数据的方差差异很大。

是否有一种众所周知的算法来检测和标记时间序列数据中不同的平稳性部分?

1个回答

我现在听到我的商业预测教授在我的脑海中建议使用累积和 (CUSUM) 控制图。基本上,这是一种从控制/物流研究中借用的方法,可以随时间跟踪价值。如果一个量随着时间的推移是稳定的,那么这个系列就“处于控制之中”,当这个量开始系统性地偏离(也就是说,它不再看起来像噪音)时,它就会“失控”。

在时间序列的上下文中,您可以从t(0)t(i), 然后t(i+1)依此类推,直到t(n),并创建一个 CUSUM 图表以观察该系列何时似乎打破了平稳性。随着时间的推移,可以应用相同的过程来跟踪 ARIMA 模型参数。

当然,其中一些想法已经完成,并且似乎 R Bloggers 通过使用该changepoint软件包很快就获得了相对不错的结果。您可以在下面的链接中深入了解详细信息。

我应用这种方法来查看在美国实施“平价医疗法案”期间医疗保险成员是否发生了巨大变化。这将回答这个问题:

如果我们有基于 2012 年过去会员数据的模型,我们是否会对后 ACA 会员做出可接受的预测?

参考: