0

Je suis novice en analyse statistique. Je vais donner une description détaillée de mon problème comme suit: je un ensemble de données comme suit:Prédire l'état suivant dans un HMM à l'aide de la bibliothèque Python hmmlearn

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 

et de même.

Le nombre total d'états est fixé à 20. Chaque objet est similaire et peut être regroupé en une classe. Donc, finalement, j'ai les séquences de longueur variable d'états de chaque objet appartenant à la classe similaire avec leurs horodateurs respectifs. Donc, je veux former un modèle HMM pour ce type d'ensemble de données et prédire l'état suivant comme une sortie lorsque l'entrée correspondante est une séquence d'états précédents. Alors, comment aborder ce genre de problème et quels sont les paramètres que j'ai besoin d'implémenter en utilisant la bibliothèque Python hmmlearn. Toute aide de code sera également meilleure.

Répondre

0

Je suppose que la lecture de la documentation de la bibliothèque hmmlearn vous aurait aidé à démarrer au moins. Donc, fondamentalement, dans le cas le plus simple dans lequel:

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) 

Pour prédire l'état de la sortie suivante, vous pouvez utiliser le dernier état déduit de la séquence Viterbi (un HMM est un processus sans mémoire) ainsi que la matrice de transition . De la fonction de masse de probabilité représentant la transition du dernier état de votre système aux autres états, vous pouvez dessiner l'état suivant dans lequel le modèle sera.

Dans ma réponse à ce question est plus élaborée sur ce dernier point.