hmmlearn之MultinomialHMM 离散隐马尔科夫模型
1. 安装:pip3 install hmmlearn
2. 模型参数:
hmmlearn.hmm.MultinomialHMM(
n_components=1,
n_trials=None,
startprob_prior=1.0,
transmat_prior=1.0,
algorithm='viterbi',
n_iter=10,
tol=0.01,
verbose=False,
params='ste',
init_params='ste',
implementation='log')
s: 初始概率分布
t: 状态转移概率
e: 发射概率
3. 建模
(1)初始化全部的模型参数
(2)初始化部分的模型参数
import numpy as np
from hmmlearn import hmm
states = ["box1", "box2", "box3"]
n_states = len(states)
observations = ["red", "white"]
n_observations = len(observations)
start_probability = np.array([0.2, 0.4, 0.4])
transition_probability = np.array([
[0.5, 0.2, 0.3],
[0.3, 0.5, 0.2],
[0.2, 0.3, 0.5]
])
emission_probability = np.array([
[0.5, 0.5],
[0.4, 0.6],
[0.7