データの 2 つの可能な状態を表す 2 つのトレーニング セット (既知のクラスの観測) があります。hmmlearn に、これら 2 つのトレーニング セットから開始、遷移、および放出の確率を推定してもらいたいと考えています。
私のデータは 0 ~ 1 の値のリストです。控えめなしきい値を使用して、データを粗いグループ「A」と「B」にすでに分割しました。HMM を使用して、データの状態が変化するポイントを絞り込みたいと考えています。
単一のトレーニング/テスト シーケンスの場合、XI は次のようにします。
X = [0, 1, 1, 1, 0.1, 0.015, 0.01, 0.001, 0.005, 0.001, 0.2, 1, 0.8, 1, 1, 0.3]
states = ["A", "B"]
#Fit model, auto set probabilities
model = hmm.MultinomialHMM(n_components=2, covariance_type="full")
model.fit([X])
#Predict states
Z = model.predict(X)
#Predict a sequence of hidden states based on visible states
logprob, state = model.decode(X, algorithm="viterbi")
print "States:", ", ".join(map(lambda x: states[x], state))
>>> States: A, B, B, B, B, A, A, A, A, A, B, B, B, B, B, B
状態 A と状態 B を別々にトレーニングする方法を知りたいです。