假设有一系列观测值,例如 [1,2,3,5,5,5,2,3,2,3, ..., 3, 4]
。我试图使用Scikit-learn中当前的HMM实现来预测这个观测序列的下一个值。我有两个关于此的问题。
-
给定一系列观测值,如何预测下一个观测值(如上所述)?
-
给定许多包含n个观测值和n+1个观测值的序列,HMM能否用于预测一个新序列中第n个观测值之后的第(n+1)个观测值?如果可以,如何操作?
我从文档中没有理解太多关于这方面的内容。
我发现了一个可能的重复的问题,但它没有具体说明如何使用Scikit-learn中的HMM来预测序列中的下一个值。
回答:
HMM并不适合解决这个问题。它们擅长预测一个完全观测序列的标签(隐藏状态),而不是用于补全序列。尝试在观测值的窗口上训练一个分类器或回归模型,然后用它来进行预测。即在训练时,将观测值 (i, ..., i + k)
作为特征,将观测值 i + k + 1
作为目标,对于每个给定序列中的所有位置 i
。在测试时,将最后的 k
个观测值作为特征输入。