首页 文章

在hmmlearn Python库的帮助下预测HMM中的下一个状态

提问于
浏览
0

我是统计分析的新手 . 我将详细描述我的问题如下:我有一个数据集如下:

ObjectID         Timestamp         State

1                 t1               1

1                 t2               3

1                 t3               5

1                 t4               2

2                 t11               2

2                 t22               5

2                 t33               3

2                 t44               1

同样地 .

状态总数固定为 20 . 每个对象都相似,可以分为一个类 . 最后,我有每个对象的状态的可变长度序列属于相似的类及其各自的时间戳 .

因此,我想为这种类型的数据集训练HMM模型,并在相应的输入是先前状态序列时预测下一个状态作为输出 .

那么,我该如何处理这类问题以及使用 hmmlearn Python库需要实现的参数是什么 . 任何代码帮助也会更好 .

1 回答

  • 0

    我想阅读 hmmlearn 库的文档会帮助你至少开始 . 所以基本上,在更简单的情况下,其中:

    from hmmlearn import hmm
    # Setting the HMM structure. n_component is the number of hidden states
    mode = hmm.MultinomialHMM(n_components=2)
    # Training the model with your data
    model.fit(your_data) 
    # Predicting the states for the observation sequence X (with Viterbi)
    Z = model.predict(your_data)
    

    为了预测下一个输出的状态,您可以使用从维特比序列推断的最后一个状态(HMM是无记忆过程)以及转换矩阵 . 从表示从系统最后状态到其他状态的转换的概率质量函数,您可以绘制模型的下一个状态 .

    在我对这个问题的回答中,详细阐述了最后一点 .

相关问题