离散值时间序列预测中的问题

机器算法验证 时间序列 预测 马尔科夫过程 离散数据
2022-04-02 07:14:48

我有一个按时间排序的离散值数据。数据的唯一可能状态是:{1,2,3,4,5,6}。所以这个系列就像 {1,2,3,5,6,4,3,5,2,......} 我想根据过去的数据预测系列的下一个值。什么是适合这种情况的方法?

现在请注意,我的问题不是重复的。我知道这一点

如何建模分类(离散值)时间序列?

其中人们建议 HMM 或马尔可夫模型是合适的。我搜索了该站点,下载了 HiddenMarkov、hmm.discnp 等 R 包。Esp 在后面,我使用了给定的 Viterbi 函数,得到了最有可能导致观察状态生成的隐藏状态序列,即数据给它。

但这不是我想要的!我想要的是来自 PRESENT 和 PAST 值的 OBSERVED 序列的 FUTURE 值,而 Viterbi 函数没有给出。解决方案是什么?

此外,还有哪些其他可用的软件包可用的方法?我阅读了有关离散 ARMA 方法的信息,但不适用于多类数据,也没有任何实现。这个问题真的那么难吗?请建议最好的软件实现或方法。

2个回答

回到丢弃的 HMM 方法。HMM 只是一个假设离散隐藏状态的状态空间模型。我认为您过早地驳回了状态空间方法。

您提出的预测问题对于我将在离散时间公式中讨论的此类模型非常普遍,因为这就是您所拥有的。(如果您碰巧知道卡尔曼滤波器的工作原理,请使用这种直觉;当应用高斯假设时,它们用于非常相似的状态空间模型。)

状态和过去观察的作用

任何状态空间模型的基本假设是,在给定当前(隐藏)状态的情况下,未来独立于过去,并且某一点的观察仅取决于隐藏状态。因此,当您拥有状态时,您不需要前面的观察值或状态。(如果这不够,您需要一个具有更多状态的公式......)状态旨在表示所有相关信息。

预测

从概念上讲,要进行预测,首先要从当前隐藏状态的分布开始,然后使用估计的转移函数(HMM 案例中的转移矩阵)及时向前传播此分布。一旦你向前移动到你想要预测的时间点,你就会对未来状态有一个(更广泛的)分布。(或者,在 HMM 的情况下,您可以找到当时最可能的状态,但您会忽略相当多的不确定性。)然后,您可以通过对观测值的条件分布进行加权平均来生成可观测值的预测分布其中权重来自隐藏状态的分布。

基本上它就像过滤一样,只是没有在观察的基础上收紧状态估计。粗略一看,您提到的软件包似乎没有超过一步预测的功能(因为需要计算可能性)但是现在您知道您想要做什么,您可能能够说服他们这样做,或者自己编写相关函数。

这在很多地方都有详细的数学描述,例如 ch。5 Zucchini 和 MacDonald (2008)的 HMM 案例。他们还提供了一个 R 实现。 Petris and Patrone (2011)对 R 中的状态空间模型包进行了更全面的回顾,包括那些使用非离散状态模型的包。这些将是开始的好地方。

多变量状态空间建模并不是特别简单,但大多数困难都在数值上,经典模型的良好实现越来越多。

航空公司系列是一个计数系列,即每月飞行的人数。您可以认为您的系列也是一个计数系列(实际上它是一个属性/类系列),但级别要低得多(1、2、3、4、5、6)。现在,如果您要识别和估计 ARIMA 模型,问题就出现了,因为拟合值(1 个周期外预测)没有被限制为代表一个小问题的整数。我曾经编写软件将拟合值限制为整数,但参数收敛消失了。我每月都会研究与您的“计数系列”相似的罕见疾病数据,并且能够识别出有用的季节性模式,从而得出一个非整数的预测。将预测四舍五入为整数的目的是提供整数预测。人们可以识别这种数据中的电平变化和/或本地时间趋势,也可以在一定程度上识别异常。我的建议是不完美的,但直到有人告诉我更好的方法,我站在这里。如果您发布了一个实际的历史系列,我将非常乐意为您提供使用现有软件的示例。

修订数据分析:

34 个数据点的图在此处输入图像描述和数据的 ACF在此处输入图像描述表明数据可能是每日的,因为滞后 7 的 ACF 表明结构。自动开发了一个模型,该模型开发了 2 阶自回归记忆和每周第 1 天的指示变量,在第 14 和第 11 期间识别出两个脉冲(异常)在此处输入图像描述Actual 和 Cleansed 图阐明了两个不寻常的数据点。在此处输入图像描述. 模型的残差在视觉上看起来是“随机的” 在此处输入图像描述,残差的 ACF 似乎支持该结论在此处输入图像描述此处显示了实际/拟合/预测图在此处输入图像描述该模型可以表示为 Pure Right-Hand Side ala 回归方程在此处输入图像描述 请注意,当预测脉搏指标时,这些指标的未来值预计为 0,而除一周的第一天外,一周第一天的未来值将为零。例如,如果我们从周期 34 开始预测 14 天,这将意味着 0,1,0,0,0,0,0,1,0,0,0,0,0,0 。请注意,所有模型都是错误的但有些模型很有用(归功于 GEPBox)。

右手边常数为: 3.5646 Y 1 .649306 Y( 34 )= 6.000000 3.895837 Y 2 -.539719 Y( 33 )= 5.000000 -2.698596 Y( 35 )= 4.761866 的净预测

以上是对第 35 期的预测。请注意,您必须对预测进行四舍五入才能满足整数要求。因此预测将是“5”。我希望这有帮助。最后是对模型的总结。在此处输入图像描述