After we have started MTK, our first step will be to check which plugins are
available, and if we have one that allows us to work with a hidden Markov model.
This can be done with the list command:
Example:
MTK:1> list plugins ----------------- Available Plugins ----------------- example - Example plugin floatvalue - Float Value Samples ghmm - Hierarchical Gilbert Hidden Markov Model hmm - Hidden Markov Model hmm_batch - Hierarchical General Hidden Markov Model - Fixed Batch hmm_batch_variable - Hierarchical General Hidden Markov Model - Variable Batch intvalue - Integer Value SamplesTo obtain information about any plugin, or even about some plugin method, use the help command:
MTK:2> help hmm This plugin defines a discrete-time, discrete-space hidden Markov model. Both observations and hidden states are non-negative 32-bit integers. Constructors: hmm( ) hmm( <N>, <M> ) Where: <N> - number of hidden states. <M> - number of observation symbols. -------------------- Available attributes -------------------- N - number of hidden states M - number of observation symbols pi[i] - initial probability for the i-th state A[i][j] - transition probability from state i to state j B[i][j] - probability of symbol j at state i result[i] - result array of last executed command ------------------ Available displays ------------------ all - model parameters pi - initial state distribution A - state transition matrix B - observation probability matrix ----------------- Available methods ----------------- load save normalize training simulate viterbi likelihood forecast import_from_tangram set_full set_coxian set_qbd set_gilbert fix_full fix_coxian fix_qbd fix_gilbert set_epsilon symb_sum_dist symb_tavg state_prob
So far so good! MTK has a plugin that allows us to work with a hidden Markov model - the hmm plugin. Now let's get to work!