2012-08-28 9 views
1

Je suis nouveau pour les modèles Hidden Markov (HMM) et je l'expérimente maintenant pour la prédiction de données. Considérons une onde sinusoïdale qui a été échantillonnée à des intervalles non uniformes et je voudrais utiliser ces données pour prédire la sortie à un instant futur. J'essaie d'utiliser la boîte à outils statistique avec matlab.Prédiction des données du modèle de Markov caché de Matlab

Le problème semble être que dans les exemples donnés, j'aurais besoin d'une matrice d'émission et d'une matrice de transition pour générer même un modèle hmm. Mais à partir des données que j'ai, comment puis-je évaluer ces matrices? et Comment puis-je former le modèle en fonction des données que j'ai?

Répondre

0

Les matlab docs décrivent comment utiliser les fonctions de la boîte à outils statistique pour les HMM. La section «Estimation des matrices de transition et d'émission» vous orientera probablement dans la bonne direction.

2

Je réponds en second à slayton.

La matrice de transition est simplement la liste des probabilités qu'un état passe à un autre.

Un modèle de Markov caché suppose que vous ne pouvez pas voir réellement ce que l'état du système est (il est caché). Par exemple, supposons que votre voisin a un chien. Le chien peut avoir faim ou plein, c'est l'état du chien. Vous ne pouvez pas demander au chien s'il a faim, et vous ne pouvez pas regarder dans son estomac, donc l'état vous est caché (puisque vous ne regardez que dehors, chez le chien, brièvement chaque jour où vous ne pouvez pas savoir quand il coule à l'intérieur pour manger et combien il a mangé si c'est le cas). Vous savez, cependant, qu'après avoir mangé et être devenu plein, il aura de nouveau faim après un certain temps (en fonction de combien il a mangé en dernier, mais vous ne le savez pas, donc il pourrait aussi bien être aléatoire) et quand il a faim, il finira par courir à l'intérieur et manger (parfois il sera assis dehors par paresse en dépit d'avoir faim). Compte tenu de ce système, vous ne pouvez pas voir quand le chien a faim et quand il ne l'est pas. Cependant, vous pouvez déduire de si le chien se plaint. Si c'est pleurnicher, c'est probablement faim. Si c'est aboyer joyeusement, c'est probablement plein. Mais ce n'est pas parce qu'il gémit qu'il a faim (peut-être que sa jambe lui fait mal) et que l'aboiement ne veut pas dire plein (peut-être avait-il faim mais était excité par quelque chose). Cependant, habituellement une écorce vient quand elle est pleine, et un gémissement vient quand il a faim. Il peut également ne faire aucun bruit, ne vous disant rien sur son état.

Donc c'est la matrice d'émission. L'état «affamé» est plus susceptible «d'émettre un sifflement», idem pour le plein et aboie. La matrice d'émission indique ce que vous allez observer dans chaque état donné.

Si vous utilisez une matrice d'identité carrée pour votre matrice d'émission, alors chaque état émettra lui-même, et vous obtiendrez un modèle de Markov non caché.

+0

Vous obtenez un upvote pour un exemple d'utilisation supérieur à l'activité standard "balles et urnes". – johnwbyrd

Questions connexes