Ingredients

Once I have specified all these ingredients I know the HMM.

Emission matrix

  1. If finite: \(B\) is a matrix.
  2. If infinite: \(B\) è un vettore di distribuzioni normali.
library(HMM) # THIS PACKAGE IS USED ONLY IF THE OBSERVABLES ARE CATEGORICAL (DESCRETE),
             # CALLED SYMBOLS.

Inizialization

Firstly, I have to define a HMM (Hidden Markov Model). So I have to define all the possible states (Unobserved variables: X) and the symbols (Observable variables: Y)

initHMM(States, Symbols, startProbs=NULL, transProbs=NULL, emissionProbs=NULL)
hmm1 = initHMM(c("X","Y"),               # States: Vector with the names of the states
               c("a","b","c")            # Symbols: Vector with the names of the symbols.
               )
hmm1
## $States
## [1] "X" "Y"
## 
## $Symbols
## [1] "a" "b" "c"
## 
## $startProbs
##   X   Y 
## 0.5 0.5 
## 
## $transProbs
##     to
## from    X    Y
##    X 0.75 0.25
##    Y 0.25 0.75
## 
## $emissionProbs
##       symbols
## states         a         b         c
##      X 0.3333333 0.3333333 0.3333333
##      Y 0.3333333 0.3333333 0.3333333
# All other non specified parameters aree setted as default
# $transProbs (is the transition matrix)
# $emissionProbs (probability of emitting a certain symbol [a,b or c])
hmm2 = initHMM(c("X","Y"),               # States: Vector with the names of the states
               c("a","b"),               # Symbols: Vector with the names of the symbols.
               c(.3,.7),                 # startProbs: Vector with the starting probabilities of the states.
               matrix(c(.9,.1,.1,.9),2), # transProbs: Stochastic matrix containing the transition probabilities between the states.
               matrix(c(.3,.7,.7,.3),2)  # emissionProbs: Stochastic matrix containing the emission probabilities of the states.
               )
hmm2
## $States
## [1] "X" "Y"
## 
## $Symbols
## [1] "a" "b"
## 
## $startProbs
##   X   Y 
## 0.3 0.7 
## 
## $transProbs
##     to
## from   X   Y
##    X 0.9 0.1
##    Y 0.1 0.9
## 
## $emissionProbs
##       symbols
## states   a   b
##      X 0.3 0.7
##      Y 0.7 0.3
hmm3 = initHMM(c("A","B"),
               c("L","R"),
               transProbs = matrix(c(.9,.1,.1,.9),2),
               emissionProbs = matrix(c(.5,.51,.5,.49),2)
               )
print(hmm3)
## $States
## [1] "A" "B"
## 
## $Symbols
## [1] "L" "R"
## 
## $startProbs
##   A   B 
## 0.5 0.5 
## 
## $transProbs
##     to
## from   A   B
##    A 0.9 0.1
##    B 0.1 0.9
## 
## $emissionProbs
##       symbols
## states    L    R
##      A 0.50 0.50
##      B 0.51 0.49

Run the chain

Then I have to run the HMM for a certain number of steps.

simHMM(hmm3, 100)
## $states
##   [1] "A" "A" "A" "A" "A" "A" "B" "B" "B" "A" "A" "A" "A" "A" "A" "B" "A" "A"
##  [19] "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "B" "A" "B"
##  [37] "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B"
##  [55] "B" "B" "B" "B" "B" "B" "A" "A" "A" "A" "B" "B" "B" "B" "B" "B" "B" "B"
##  [73] "B" "B" "B" "B" "A" "A" "A" "A" "A" "A" "A" "A" "B" "B" "A" "A" "A" "A"
##  [91] "A" "A" "A" "A" "B" "B" "B" "B" "B" "B"
## 
## $observation
##   [1] "L" "R" "L" "R" "R" "R" "R" "R" "L" "R" "R" "L" "R" "R" "L" "L" "L" "R"
##  [19] "L" "R" "L" "L" "L" "R" "L" "L" "L" "R" "R" "L" "L" "L" "L" "L" "R" "R"
##  [37] "L" "R" "L" "R" "R" "L" "L" "L" "L" "R" "L" "L" "L" "L" "L" "L" "R" "R"
##  [55] "R" "R" "R" "R" "R" "L" "R" "R" "L" "R" "R" "R" "L" "L" "R" "R" "R" "L"
##  [73] "L" "L" "R" "L" "L" "R" "R" "L" "R" "R" "L" "R" "L" "L" "R" "L" "L" "R"
##  [91] "L" "R" "L" "L" "R" "L" "L" "L" "L" "R"

I define a sequence of 800 symbols (Observations), probably they are already given.

##   [1] "R" "L" "R" "R" "L" "R" "R" "R" "R" "R" "R" "R" "R" "R" "L" "L" "R" "L"
##  [19] "R" "R" "L" "L" "R" "R" "R" "L" "R" "R" "R" "R" "L" "R" "R" "L" "R" "R"
##  [37] "R" "R" "R" "R" "L" "R" "L" "R" "R" "L" "R" "R" "R" "R" "R" "R" "R" "L"
##  [55] "R" "R" "R" "R" "R" "R" "R" "R" "R" "L" "L" "R" "R" "R" "R" "R" "L" "R"
##  [73] "L" "R" "R" "R" "R" "R" "R" "L" "R" "R" "R" "R" "R" "L" "R" "R" "R" "R"
##  [91] "R" "L" "R" "R" "R" "L" "R" "R" "R" "R" "R" "L" "R" "R" "R" "R" "L" "R"
## [109] "R" "L" "L" "L" "R" "L" "L" "R" "L" "R" "L" "R" "R" "R" "R" "R" "R" "R"
## [127] "R" "R" "R" "R" "R" "R" "L" "R" "R" "R" "L" "L" "R" "R" "L" "R" "R" "R"
## [145] "R" "R" "R" "L" "L" "R" "R" "R" "L" "R" "L" "R" "L" "R" "R" "R" "R" "R"
## [163] "R" "R" "L" "R" "R" "R" "R" "R" "L" "L" "R" "R" "R" "R" "R" "R" "R" "L"
## [181] "R" "R" "R" "R" "R" "R" "L" "R" "R" "R" "R" "L" "R" "R" "R" "L" "R" "R"
## [199] "R" "R" "R" "R" "L" "R" "R" "R" "R" "R" "L" "R" "R" "R" "R" "R" "R" "R"
## [217] "R" "R" "R" "R" "R" "L" "R" "L" "R" "L" "R" "R" "R" "R" "R" "R" "R" "L"
## [235] "L" "L" "R" "R" "R" "R" "R" "R" "R" "R" "R" "R" "R" "R" "R" "R" "R" "R"
## [253] "L" "R" "R" "R" "R" "L" "R" "R" "R" "R" "R" "L" "L" "R" "R" "R" "L" "R"
## [271] "R" "R" "R" "R" "L" "R" "L" "R" "R" "R" "R" "L" "R" "L" "R" "R" "R" "R"
## [289] "L" "R" "R" "R" "R" "R" "R" "L" "R" "R" "R" "R" "L" "R" "L" "R" "L" "L"
## [307] "R" "R" "R" "R" "R" "R" "L" "L" "L" "R" "L" "L" "R" "L" "R" "R" "R" "R"
## [325] "L" "R" "R" "L" "R" "L" "R" "R" "R" "R" "R" "R" "R" "R" "R" "R" "L" "R"
## [343] "R" "R" "R" "L" "R" "R" "L" "R" "R" "L" "R" "R" "L" "R" "R" "R" "R" "L"
## [361] "R" "L" "L" "R" "L" "R" "L" "R" "R" "R" "L" "L" "R" "R" "L" "R" "R" "R"
## [379] "L" "R" "L" "R" "L" "R" "L" "R" "R" "R" "R" "R" "R" "R" "L" "R" "R" "R"
## [397] "L" "L" "R" "L" "L" "L" "R" "L" "L" "L" "R" "R" "L" "L" "L" "L" "R" "L"
## [415] "L" "L" "L" "L" "L" "L" "L" "L" "R" "L" "L" "R" "R" "L" "L" "L" "R" "L"
## [433] "L" "L" "L" "R" "R" "L" "L" "L" "L" "L" "L" "R" "L" "R" "L" "L" "L" "L"
## [451] "R" "L" "L" "L" "R" "L" "R" "R" "L" "L" "L" "L" "L" "L" "R" "L" "L" "L"
## [469] "L" "L" "R" "L" "L" "L" "L" "L" "L" "L" "L" "R" "L" "L" "R" "L" "L" "L"
## [487] "L" "L" "L" "R" "R" "L" "L" "L" "L" "L" "R" "L" "R" "L" "R" "L" "R" "R"
## [505] "L" "L" "L" "R" "R" "L" "L" "L" "L" "L" "L" "L" "L" "L" "L" "L" "L" "L"
## [523] "L" "L" "R" "R" "R" "L" "L" "R" "R" "L" "R" "L" "L" "L" "L" "L" "L" "L"
## [541] "R" "L" "L" "L" "L" "L" "L" "L" "L" "L" "L" "R" "L" "L" "L" "L" "L" "R"
## [559] "L" "L" "L" "R" "L" "L" "L" "R" "L" "R" "L" "L" "L" "L" "L" "L" "L" "R"
## [577] "R" "R" "L" "L" "L" "L" "R" "L" "L" "L" "L" "R" "L" "L" "L" "R" "L" "R"
## [595] "R" "L" "L" "L" "L" "L" "L" "R" "L" "L" "R" "R" "L" "L" "L" "R" "L" "L"
## [613] "L" "L" "L" "L" "R" "L" "R" "R" "L" "L" "L" "L" "R" "L" "R" "R" "R" "L"
## [631] "R" "L" "R" "L" "L" "L" "L" "L" "R" "L" "L" "R" "R" "L" "L" "L" "L" "L"
## [649] "L" "L" "L" "L" "L" "L" "L" "L" "L" "L" "R" "L" "L" "L" "L" "L" "L" "L"
## [667] "L" "L" "L" "R" "R" "L" "L" "L" "L" "L" "L" "R" "L" "L" "R" "R" "L" "L"
## [685] "L" "R" "L" "R" "L" "L" "L" "R" "L" "L" "R" "L" "L" "L" "R" "L" "L" "L"
## [703] "L" "L" "L" "R" "L" "R" "R" "R" "L" "L" "L" "L" "L" "L" "L" "L" "R" "L"
## [721] "L" "L" "R" "L" "L" "R" "R" "L" "L" "L" "L" "R" "R" "R" "R" "L" "L" "L"
## [739] "L" "L" "L" "L" "L" "R" "L" "L" "L" "L" "L" "R" "L" "L" "R" "L" "L" "L"
## [757] "L" "R" "L" "L" "L" "L" "R" "L" "L" "L" "R" "L" "L" "L" "L" "L" "R" "R"
## [775] "L" "L" "L" "R" "L" "L" "L" "L" "L" "L" "L" "L" "L" "L" "R" "L" "R" "L"
## [793] "L" "L" "L" "L" "R" "L" "L" "L"

Problems

Smoothing problem (Viterbi)

We have to give a HMM model and the symbols we observed, and it reconstructs the most probable sequence of states (It reconstruts the hidden model).

It can answer to the question: “at a certain time what is the most probable state ?”

viterbi(hmm3, observation)
##   [1] "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A"
##  [19] "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A"
##  [37] "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A"
##  [55] "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A"
##  [73] "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A"
##  [91] "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A"
## [109] "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A"
## [127] "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A"
## [145] "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A"
## [163] "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A"
## [181] "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A"
## [199] "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A"
## [217] "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A"
## [235] "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A"
## [253] "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A"
## [271] "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A"
## [289] "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A"
## [307] "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A"
## [325] "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A"
## [343] "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A"
## [361] "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A"
## [379] "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A"
## [397] "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B"
## [415] "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B"
## [433] "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B"
## [451] "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B"
## [469] "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B"
## [487] "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B"
## [505] "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B"
## [523] "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B"
## [541] "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B"
## [559] "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B"
## [577] "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B"
## [595] "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B"
## [613] "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B"
## [631] "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B"
## [649] "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B"
## [667] "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B"
## [685] "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B"
## [703] "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B"
## [721] "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B"
## [739] "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B"
## [757] "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B"
## [775] "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B"
## [793] "B" "B" "B" "B" "B" "B" "B" "B"

Posterior probabilities for the states

Given a model what is the probability that I observe this signal (sequence of observations) ?

I have to compute the posterior probabilities of being in the state X at time k given that you have observed a certain sequence of observations up to time k.

posterior(hmm3, observation)
##       index
## states         1        2         3         4         5         6         7
##      A 0.5118627 0.512556 0.5161046 0.5181861 0.5189053 0.5227965 0.5255561
##      B 0.4881373 0.487444 0.4838954 0.4818139 0.4810947 0.4772035 0.4744439
##       index
## states         8         9        10        11        12        13        14
##      A 0.5273231 0.5281867 0.5281904 0.5273343 0.5255754 0.5228249 0.5189442
##      B 0.4726769 0.4718133 0.4718096 0.4726657 0.4744246 0.4771751 0.4810558
##       index
## states        15        16        17        18        19        20        21
##      A 0.5137376 0.5114462 0.5119544 0.5107881 0.5123885 0.5123361 0.5106283
##      B 0.4862624 0.4885538 0.4880456 0.4892119 0.4876115 0.4876639 0.4893717
##       index
## states        22       23        24        25       26        27       28
##      A 0.5116793 0.515542 0.5179092 0.5189002 0.518565 0.5213845 0.523002
##      B 0.4883207 0.484458 0.4820908 0.4810998 0.481435 0.4786155 0.476998
##       index
## states       29        30        31        32        33        34        35
##      A 0.523499 0.5229007 0.5211768 0.5227376 0.5231647 0.5224796 0.5251442
##      B 0.476501 0.4770993 0.4788232 0.4772624 0.4768353 0.4775204 0.4748558
##       index
## states        36        37       38        39      40        41        42
##      A 0.5267956 0.5275171 0.527345 0.5262707 0.52424 0.5211506 0.5213447
##      B 0.4732044 0.4724829 0.472655 0.4737293 0.47576 0.4788494 0.4786553
##       index
## states        43        44        45        46        47        48        49
##      A 0.5203352 0.5225686 0.5236595 0.5236632 0.5270756 0.5295715 0.5312766
##      B 0.4796648 0.4774314 0.4763405 0.4763368 0.4729244 0.4704285 0.4687234
##       index
## states        50        51        52        53        54        55        56
##      A 0.5322771 0.5326233 0.5323326 0.5313905 0.5297493 0.5318195 0.5332122
##      B 0.4677229 0.4673767 0.4676674 0.4686095 0.4702507 0.4681805 0.4667878
##       index
## states        57        58        59        60        61        62        63
##      A 0.5339976 0.5342153 0.5338761 0.5329632 0.5314304 0.5292004 0.5261608
##      B 0.4660024 0.4657847 0.4661239 0.4670368 0.4685696 0.4707996 0.4738392
##       index
## states        64        65        66        67       68       69       70
##      A 0.5221585 0.5214902 0.5241222 0.5256898 0.526272 0.525898 0.524549
##      B 0.4778415 0.4785098 0.4758778 0.4743102 0.473728 0.474102 0.475451
##       index
## states        71        72        73       74        75        76        77
##      A 0.5221571 0.5230988 0.5229249 0.526123 0.5283569 0.5297391 0.5303394
##      B 0.4778429 0.4769012 0.4770751 0.473877 0.4716431 0.4702609 0.4696606
##       index
## states        78        79        80        81        82        83        84
##      A 0.5301879 0.5292772 0.5275612 0.5294477 0.5305374 0.5308855 0.5305092
##      B 0.4698121 0.4707228 0.4724388 0.4705523 0.4694626 0.4691145 0.4694908
##       index
## states        85        86        87        88        89       90        91
##      A 0.5293898 0.5274708 0.5291497 0.5300171 0.5301165 0.529453 0.5279931
##      B 0.4706102 0.4725292 0.4708503 0.4699829 0.4698835 0.470547 0.4720069
##       index
## states        92        93        94        95        96        97        98
##      A 0.5256634 0.5268417 0.5270925 0.5264284 0.5248159 0.5266693 0.5275864
##      B 0.4743366 0.4731583 0.4729075 0.4735716 0.4751841 0.4733307 0.4724136
##       index
## states        99       100       101       102       103       104       105
##      A 0.5276134 0.5267517 0.5249579 0.5221414 0.5226578 0.5220366 0.5202464
##      B 0.4723866 0.4732483 0.4750421 0.4778586 0.4773422 0.4779634 0.4797536
##       index
## states       106       107       108       109       110       111       112
##      A 0.5171971 0.5127348 0.5111372 0.5078236 0.5026271 0.4997911 0.4991727
##      B 0.4828029 0.4872652 0.4888628 0.4921764 0.4973729 0.5002089 0.5008273
##       index
## states       113       114      115       116       117       118       119
##      A 0.5007408 0.5000731 0.501637 0.5055111 0.5073873 0.5118614 0.5146552
##      B 0.4992592 0.4999269 0.498363 0.4944889 0.4926127 0.4881386 0.4853448
##       index
## states       120       121       122       123       124       125       126
##      A 0.5204102 0.5249124 0.5283888 0.5310146 0.5329222 0.5342078 0.5349362
##      B 0.4795898 0.4750876 0.4716112 0.4689854 0.4670778 0.4657922 0.4650638
##       index
## states       127       128       129       130       131       132       133
##      A 0.5351441 0.5348419 0.5340145 0.5326201 0.5305885 0.5278172 0.5241665
##      B 0.4648559 0.4651581 0.4659855 0.4673799 0.4694115 0.4721828 0.4758335
##       index
## states       134       135       136       137       138       139       140
##      A 0.5239497 0.5226601 0.5202327 0.5165451 0.5159118 0.5183008 0.5193333
##      B 0.4760503 0.4773399 0.4797673 0.4834549 0.4840882 0.4816992 0.4806667
##       index
## states       141       142       143      144     145       146       147
##      A 0.5190613 0.5219687 0.5237035 0.524353 0.52395 0.5224742 0.5198511
##      B 0.4809387 0.4780313 0.4762965 0.475647 0.47605 0.4775258 0.4801489
##       index
## states       148       149       150       151       152       153       154
##      A 0.5159486 0.5150708 0.5171733 0.5178629 0.5171741 0.5150724 0.5159512
##      B 0.4840514 0.4849292 0.4828267 0.4821371 0.4828259 0.4849276 0.4840488
##       index
## states       155       156       157       158       159       160       161
##      A 0.5153559 0.5177552 0.5187706 0.5229514 0.5260081 0.5280948 0.5293168
##      B 0.4846441 0.4822448 0.4812294 0.4770486 0.4739919 0.4719052 0.4706832
##       index
## states       162       163      164       165      166       167       168
##      A 0.5297357 0.5293725 0.528209 0.5261865 0.527698 0.5283251 0.5280992
##      B 0.4702643 0.4706275 0.471791 0.4738135 0.472302 0.4716749 0.4719008
##       index
## states       169       170       171       172       173       174       175
##      A 0.5270089 0.5249994 0.5219692 0.5222634 0.5258966 0.5285541 0.5303696
##      B 0.4729911 0.4750006 0.4780308 0.4777366 0.4741034 0.4714459 0.4696304
##       index
## states       176       177       178       179       180       181      182
##      A 0.5314348 0.5318034 0.5314939 0.5304907 0.5287432 0.5306571 0.531835
##      B 0.4685652 0.4681966 0.4685061 0.4695093 0.4712568 0.4693429 0.468165
##       index
## states       183       184       185       186       187       188       189
##      A 0.5323364 0.5321865 0.5313778 0.5298695 0.5275856 0.5289054 0.5294013
##      B 0.4676636 0.4678135 0.4686222 0.4701305 0.4724144 0.4710946 0.4705987
##       index
## states       190       191      192       193       194      195       196
##      A 0.5290985 0.5279815 0.525994 0.5275311 0.5281753 0.527959 0.5268713
##      B 0.4709015 0.4720185 0.474006 0.4724689 0.4718247 0.472041 0.4731287
##       index
## states       197       198       199       200       201       202       203
##      A 0.5293518 0.5310306 0.5319924 0.5322855 0.5319248 0.5308921 0.5291353
##      B 0.4706482 0.4689694 0.4680076 0.4677145 0.4680752 0.4691079 0.4708647
##       index
## states       204       205       206       207       208       209       210
##      A 0.5310593 0.5322677 0.5328212 0.5327478 0.5320439 0.5306739 0.5330612
##      B 0.4689407 0.4677323 0.4671788 0.4672522 0.4679561 0.4693261 0.4669388
##       index
## states       211       212       213       214       215       216       217
##      A 0.5348333 0.5360796 0.5368628 0.5372225 0.5371768 0.5367234 0.5358394
##      B 0.4651667 0.4639204 0.4631372 0.4627775 0.4628232 0.4632766 0.4641606
##       index
## states       218       219      220       221       222       223       224
##      A 0.5344802 0.5325774 0.530035 0.5267249 0.5224801 0.5215855 0.5194992
##      B 0.4655198 0.4674226 0.469965 0.4732751 0.4775199 0.4784145 0.4805008
##       index
## states       225       226      227      228       229      230       231
##      A 0.5206141 0.5204887 0.523614 0.525649 0.5266964 0.526809 0.5259924
##      B 0.4793859 0.4795113 0.476386 0.474351 0.4733036 0.473191 0.4740076
##       index
## states       232       233       234       235       236       237       238
##      A 0.5242056 0.5213584 0.5173072 0.5163485 0.5184338 0.5236684 0.5278141
##      B 0.4757944 0.4786416 0.4826928 0.4836515 0.4815662 0.4763316 0.4721859
##       index
## states       239       240       241      242       243       244       245
##      A 0.5310799 0.5336306 0.5355946 0.537071 0.5381342 0.5388378 0.5392173
##      B 0.4689201 0.4663694 0.4644054 0.462929 0.4618658 0.4611622 0.4607827
##       index
## states       246       247       248       249       250      251       252
##      A 0.5392918 0.5390651 0.5385258 0.5376466 0.5363832 0.534672 0.5324267
##      B 0.4607082 0.4609349 0.4614742 0.4623534 0.4636168 0.465328 0.4675733
##       index
## states      253       254       255       256       257       258       259
##      A 0.529534 0.5303421 0.5303986 0.5297064 0.5282306 0.5258968 0.5270826
##      B 0.470466 0.4696579 0.4696014 0.4702936 0.4717694 0.4741032 0.4729174
##       index
## states       260       261       262       263       264       265       266
##      A 0.5273531 0.5267217 0.5251568 0.5225793 0.5188594 0.5183091 0.5209007
##      B 0.4726469 0.4732783 0.4748432 0.4774207 0.4811406 0.4816909 0.4790993
##       index
## states       267       268       269       270       271       272       273
##      A 0.5222662 0.5224742 0.5215355 0.5238993 0.5251876 0.5254652 0.5247461
##      B 0.4777338 0.4775258 0.4784645 0.4761007 0.4748124 0.4745348 0.4752539
##       index
## states       274       275       276       277       278       279       280
##      A 0.5229942 0.5201211 0.5204802 0.5195924 0.5219103 0.5230528 0.5230775
##      B 0.4770058 0.4798789 0.4795198 0.4804076 0.4780897 0.4769472 0.4769225
##       index
## states       281       282      283       284       285       286       287
##      A 0.5219857 0.5197222 0.520671 0.5203824 0.5233391 0.5251919 0.5260341
##      B 0.4780143 0.4802778 0.479329 0.4796176 0.4766609 0.4748081 0.4739659
##       index
## states       288      289       290       291       292       293       294
##      A 0.5259083 0.524808 0.5271733 0.5286274 0.5292437 0.5290532 0.5280464
##      B 0.4740917 0.475192 0.4728267 0.4713726 0.4707563 0.4709468 0.4719536
##       index
## states       295       296       297       298       299       300       301
##      A 0.5261724 0.5233368 0.5238936 0.5233747 0.5217542 0.5189503 0.5148215
##      B 0.4738276 0.4766632 0.4761064 0.4766253 0.4782458 0.4810497 0.4851785
##       index
## states       302       303       304       305       306       307       308
##      A 0.5136614 0.5109119 0.5109355 0.5092336 0.5102207 0.5139468 0.5160974
##      B 0.4863386 0.4890881 0.4890645 0.4907664 0.4897793 0.4860532 0.4839026
##       index
## states       309       310       311      312       313       314       315
##      A 0.5167811 0.5160323 0.5138132 0.510012 0.5044371 0.5013134 0.5004835
##      B 0.4832189 0.4839677 0.4861868 0.489988 0.4955629 0.4986866 0.4995165
##       index
## states       316       317       318       319       320       321       322
##      A 0.5019056 0.5011502 0.5026802 0.5065726 0.5085202 0.5131223 0.5161071
##      B 0.4980944 0.4988498 0.4973198 0.4934274 0.4914798 0.4868777 0.4838929
##       index
## states       323       324       325       326       327       328       329
##      A 0.5176252 0.5177531 0.5164971 0.5182927 0.5187314 0.5178355 0.5200578
##      B 0.4823748 0.4822469 0.4835029 0.4817073 0.4812686 0.4821645 0.4799422
##       index
## states       330       331       332     333       334      335       336
##      A 0.5210117 0.5252427 0.5284647 0.53084 0.5324884 0.533493 0.5339045
##      B 0.4789883 0.4747573 0.4715353 0.46916 0.4675116 0.466507 0.4660955
##       index
## states       337       338       339       340       341       342       343
##      A 0.5337437 0.5330023 0.5316431 0.5295974 0.5267623 0.5274899 0.5273227
##      B 0.4662563 0.4669977 0.4683569 0.4704026 0.4732377 0.4725101 0.4726773
##       index
## states       344       345       346       347       348       349       350
##      A 0.5262521 0.5242243 0.5211368 0.5213323 0.5203235 0.5180597 0.5189254
##      B 0.4737479 0.4757757 0.4788632 0.4786677 0.4796765 0.4819403 0.4810746
##       index
## states      351       352       353       354      355       356     357
##      A 0.518466 0.5166586 0.5179107 0.5177869 0.516281 0.5178159 0.51797
##      B 0.481534 0.4833414 0.4820893 0.4822131 0.483719 0.4821841 0.48203
##       index
## states       358       359       360       361       362       363       364
##      A 0.5167512 0.5140981 0.5098769 0.5083777 0.5050243 0.5041503 0.5057115
##      B 0.4832488 0.4859019 0.4901231 0.4916223 0.4949757 0.4958497 0.4942885
##       index
## states       365       366       367      368       369       370       371
##      A 0.5052855 0.5073516 0.5075126 0.510277 0.5112825 0.5105799 0.5081338
##      B 0.4947145 0.4926484 0.4924874 0.489723 0.4887175 0.4894201 0.4918662
##       index
## states       372       373      374       375       376       377       378
##      A 0.5083219 0.5111539 0.512271 0.5117295 0.5140017 0.5147018 0.5138652
##      B 0.4916781 0.4888461 0.487729 0.4882705 0.4859983 0.4852982 0.4861348
##       index
## states       379       380       381       382      383       384       385
##      A 0.5114496 0.5118339 0.5105376 0.5119955 0.511781 0.5143828 0.5154316
##      B 0.4885504 0.4881661 0.4894624 0.4880045 0.488219 0.4856172 0.4845684
##       index
## states       386       387       388       389       390       391      392
##      A 0.5194794 0.5222289 0.5238189 0.5243295 0.5237863 0.5221622 0.519375
##      B 0.4805206 0.4777711 0.4761811 0.4756705 0.4762137 0.4778378 0.480625
##       index
## states       393       394       395       396       397      398       399
##      A 0.5152845 0.5141855 0.5115236 0.5071645 0.5008885 0.496887 0.4949585
##      B 0.4847155 0.4858145 0.4884764 0.4928355 0.4991115 0.503113 0.5050415
##       index
## states       400       401       402       403       404      405       406
##      A 0.4905042 0.4878037 0.4867209 0.4872012 0.4847694 0.483803 0.4842535
##      B 0.5094958 0.5121963 0.5132791 0.5127988 0.5152306 0.516197 0.5157465
##       index
## states       407       408      409       410       411      412       413
##      A 0.4861436 0.4850688 0.480975 0.4781573 0.4764735 0.475839 0.4762216
##      B 0.5138564 0.5149312 0.519025 0.5218427 0.5235265 0.524161 0.5237784
##       index
## states       414       415       416       417       418       419       420
##      A 0.4731448 0.4709505 0.4695281 0.4688059 0.4687475 0.4693499 0.4706436
##      B 0.5268552 0.5290495 0.5304719 0.5311941 0.5312525 0.5306501 0.5293564
##       index
## states       421       422       423       424       425       426       427
##      A 0.4726937 0.4756035 0.4795197 0.4801405 0.4819945 0.4851752 0.4853426
##      B 0.5273063 0.5243965 0.5204803 0.5198595 0.5180055 0.5148248 0.5146574
##       index
## states       428       429       430       431      432       433       434
##      A 0.4825051 0.4810196 0.4808115 0.4818702 0.479751 0.4788455 0.4791081
##      B 0.5174949 0.5189804 0.5191885 0.5181298 0.520249 0.5211545 0.5208919
##       index
## states       435       436       437       438       439      440       441
##      A 0.4805522 0.4832503 0.4828393 0.4792984 0.4769491 0.475673 0.4754058
##      B 0.5194478 0.5167497 0.5171607 0.5207016 0.5230509 0.524327 0.5245942
##       index
## states      442       443       444       445       446       447       448
##      A 0.476134 0.4778943 0.4807755 0.4804242 0.4813202 0.4790109 0.4778783
##      B 0.523866 0.5221057 0.5192245 0.5195758 0.5186798 0.5209891 0.5221217
##       index
## states       449       450       451       452       453       454       455
##      A 0.4778653 0.4789712 0.4812518 0.4803236 0.4806378 0.4822101 0.4851198
##      B 0.5221347 0.5210288 0.5187482 0.5196764 0.5193622 0.5177899 0.5148802
##       index
## states       456       457       458       459      460       461       462
##      A 0.4850135 0.4863847 0.4848031 0.4801891 0.476812 0.4745016 0.4731415
##      B 0.5149865 0.5136153 0.5151969 0.5198109 0.523188 0.5254984 0.5268585
##       index
## states       463       464       465   466       467       468       469
##      A 0.4726632 0.4730426 0.4742987 0.472 0.4705258 0.4698021 0.4697922
##      B 0.5273368 0.5269574 0.5257013 0.528 0.5294742 0.5301979 0.5302078
##       index
## states       470      471       472       473       474       475      476
##      A 0.4704956 0.471948 0.4697284 0.4682193 0.4673446 0.4670603 0.467352
##      B 0.5295044 0.528052 0.5302716 0.5317807 0.5326554 0.5329397 0.532648
##       index
## states       477       478       479       480       481       482       483
##      A 0.4682344 0.4697519 0.4719812 0.4750344 0.4745692 0.4750573 0.4765235
##      B 0.5317656 0.5302481 0.5280188 0.5249656 0.5254308 0.5249427 0.5234765
##       index
## states       484     485       486       487       488       489       490
##      A 0.4745456 0.47352 0.4733952 0.4741649 0.4758677 0.4785897 0.4824678
##      B 0.5254544 0.52648 0.5266048 0.5258351 0.5241323 0.5214103 0.5175322
##       index
## states       491       492       493       494       495       496       497
##      A 0.4831974 0.4808153 0.4797004 0.4797965 0.4811086 0.4837026 0.4877093
##      B 0.5168026 0.5191847 0.5202996 0.5202035 0.5188914 0.5162974 0.5122907
##       index
## states       498       499      500      501       502       503       504
##      A 0.4888288 0.4916173 0.491714 0.493624 0.4929426 0.4941358 0.4927632
##      B 0.5111712 0.5083827 0.508286 0.506376 0.5070574 0.5058642 0.5072368
##       index
## states       505       506       507       508       509       510       511
##      A 0.4887554 0.4864136 0.4856197 0.4863337 0.4840923 0.4787826 0.4746398
##      B 0.5112446 0.5135864 0.5143803 0.5136663 0.5159077 0.5212174 0.5253602
##       index
## states       512       513       514     515       516      517       518
##      A 0.4714552 0.4690681 0.4673585 0.46624 0.4656563 0.465578 0.4660011
##      B 0.5285448 0.5309319 0.5326415 0.53376 0.5343437 0.534422 0.5339989
##       index
## states       519       520       521       522       523       524       525
##      A 0.4669471 0.4684634 0.4706267 0.4735458 0.4773679 0.4822857 0.4885469
##      B 0.5330529 0.5315366 0.5293733 0.5264542 0.5226321 0.5177143 0.5114531
##       index
## states       526       527       528       529      530      531       532
##      A 0.4919611 0.4927004 0.4908022 0.4906716 0.492302 0.491275 0.4875387
##      B 0.5080389 0.5072996 0.5091978 0.5093284 0.507698 0.508725 0.5124613
##       index
## states       533       534       535       536       537       538       539
##      A 0.4854072 0.4802731 0.4763805 0.4735333 0.4715879 0.4704464 0.4700512
##      B 0.5145928 0.5197269 0.5236195 0.5264667 0.5284121 0.5295536 0.5299488
##       index
## states       540       541       542       543       544       545       546
##      A 0.4703823 0.4714566 0.4688345 0.4668781 0.4654888 0.4645965 0.4641563
##      B 0.5296177 0.5285434 0.5311655 0.5331219 0.5345112 0.5354035 0.5358437
##       index
## states       547       548      549       550       551       552       553
##      A 0.4641461 0.4645653 0.465435 0.4667991 0.4687263 0.4713137 0.4701976
##      B 0.5358539 0.5354347 0.534565 0.5332009 0.5312737 0.5286863 0.5298024
##       index
## states       554       555       556       557       558       559       560
##      A 0.4698154 0.4701477 0.4712112 0.4730597 0.4757862 0.4750317 0.4752539
##      B 0.5301846 0.5298523 0.5287888 0.5269403 0.5242138 0.5249683 0.5247461
##       index
## states       561       562      563       564       565       566       567
##      A 0.4764639 0.4787228 0.477647 0.4776791 0.4788209 0.4811298 0.4802239
##      B 0.5235361 0.5212772 0.522353 0.5223209 0.5211791 0.5188702 0.5197761
##       index
## states       568       569       570       571       572       573       574
##      A 0.4805553 0.4776432 0.4758394 0.4750529 0.4752441 0.4764226 0.4786479
##      B 0.5194447 0.5223568 0.5241606 0.5249471 0.5247559 0.5235774 0.5213521
##       index
## states       575       576       577       578       579       580       581
##      A 0.4820321 0.4867457 0.4885236 0.4874555 0.4834874 0.4809212 0.4796276
##      B 0.5179679 0.5132543 0.5114764 0.5125445 0.5165126 0.5190788 0.5203724
##       index
## states       582       583       584       585       586       587       588
##      A 0.4795415 0.4806584 0.4785371 0.4775686 0.4777041 0.4789505 0.4813706
##      B 0.5204585 0.5193416 0.5214629 0.5224314 0.5222959 0.5210495 0.5186294
##       index
## states       589       590       591       592       593       594       595
##      A 0.4805879 0.4810607 0.4828129 0.4859328 0.4860772 0.4877524 0.4865431
##      B 0.5194121 0.5189393 0.5171871 0.5140672 0.5139228 0.5122476 0.5134569
##       index
## states       596       597      598       599      600       601      602
##      A 0.4823883 0.4795804 0.477978 0.4775002 0.478123 0.4798778 0.482853
##      B 0.5176117 0.5204196 0.522022 0.5224998 0.521877 0.5201222 0.517147
##       index
## states       603       604       605       606       607       608       609
##      A 0.4826991 0.4839067 0.4865367 0.4862213 0.4829448 0.4810426 0.4804189
##      B 0.5173009 0.5160933 0.5134633 0.5137787 0.5170552 0.5189574 0.5195811
##       index
## states       610       611       612       613       614       615       616
##      A 0.4810423 0.4784465 0.4769991 0.4766273 0.4773122 0.4790884 0.4820454
##      B 0.5189577 0.5215535 0.5230009 0.5233727 0.5226878 0.5209116 0.5179546
##       index
## states       617       618       619       620       621       622       623
##      A 0.4863322 0.4876629 0.4906043 0.4908033 0.4882699 0.4873774 0.4880809
##      B 0.5136678 0.5123371 0.5093957 0.5091967 0.5117301 0.5126226 0.5119191
##       index
## states       624       625       626       627       628       629       630
##      A 0.4904159 0.4944999 0.4960356 0.4996014 0.5008739 0.4999172 0.4966832
##      B 0.5095841 0.5055001 0.5039644 0.5003986 0.4991261 0.5000828 0.5033168
##       index
## states       631       632       633       634       635       636       637
##      A 0.4955115 0.4918422 0.4899931 0.4853704 0.4822444 0.4804575 0.4799198
##      B 0.5044885 0.5081578 0.5100069 0.5146296 0.5177556 0.5195425 0.5200802
##       index
## states       638       639       640       641       642       643       644
##      A 0.4806041 0.4825449 0.4813415 0.4814315 0.4828194 0.4810768 0.4761158
##      B 0.5193959 0.5174551 0.5186585 0.5185685 0.5171806 0.5189232 0.5238842
##       index
## states       645       646       647       648       649       650       651
##      A 0.4721876 0.4690943 0.4666799 0.4648227 0.4634293 0.4624293 0.4617724
##      B 0.5278124 0.5309057 0.5333201 0.5351773 0.5365707 0.5375707 0.5382276
##       index
## states       652      653       654      655       656       657       658
##      A 0.4614255 0.461371 0.4616062 0.462143 0.4630084 0.4642461 0.4659184
##      B 0.5385745 0.538629 0.5383938 0.537857 0.5369916 0.5357539 0.5340816
##       index
## states       659       660       661       662       663       664       665
##      A 0.4681097 0.4664381 0.4653115 0.4646729 0.4644903 0.4647545 0.4654786
##      B 0.5318903 0.5335619 0.5346885 0.5353271 0.5355097 0.5352455 0.5345214
##       index
## states       666      667       668       669       670       671       672
##      A 0.4666993 0.468478 0.4709044 0.4741008 0.4782283 0.4789959 0.4764424
##      B 0.5333007 0.531522 0.5290956 0.5258992 0.5217717 0.5210041 0.5235576
##       index
## states       673       674       675       676       677       678       679
##      A 0.4749368 0.4744031 0.4748145 0.4761917 0.4786042 0.4821734 0.4825795
##      B 0.5250632 0.5255969 0.5251855 0.5238083 0.5213958 0.5178266 0.5174205
##       index
## states       680       681       682       683       684       685       686
##      A 0.4843411 0.4875471 0.4878581 0.4852897 0.4842129 0.4845735 0.4863896
##      B 0.5156589 0.5124529 0.5121419 0.5147103 0.5157871 0.5154265 0.5136104
##       index
## states       687       688       689       690       691       692       693
##      A 0.4852532 0.4856063 0.4829678 0.4817045 0.4817527 0.4831151 0.4813616
##      B 0.5147468 0.5143937 0.5170322 0.5182955 0.5182473 0.5168849 0.5186384
##       index
## states       694       695       696       697       698       699       700
##      A 0.4809026 0.4817149 0.4793416 0.4781616 0.4781154 0.4792007 0.4769751
##      B 0.5190974 0.5182851 0.5206584 0.5218384 0.5218846 0.5207993 0.5230249
##       index
## states      701       702       703       704       705       706       707
##      A 0.475824 0.4756894 0.4765645 0.4784933 0.4815731 0.4859591 0.4873704
##      B 0.524176 0.5243106 0.5234355 0.5215067 0.5184269 0.5140409 0.5126296
##       index
## states       708       709       710       711       712       713       714
##      A 0.4903777 0.4906313 0.4881439 0.4827901 0.4788042 0.4759854 0.4741916
##      B 0.5096223 0.5093687 0.5118561 0.5172099 0.5211958 0.5240146 0.5258084
##       index
## states       715       716       717       718       719       720       721
##      A 0.4733323 0.4733644 0.4742894 0.4761539 0.4790519 0.4786315 0.4793684
##      B 0.5266677 0.5266356 0.5257106 0.5238461 0.5209481 0.5213685 0.5206316
##       index
## states       722       723       724       725      726       727       728
##      A 0.4812999 0.4845233 0.4847007 0.4863401 0.489524 0.4899115 0.4875221
##      B 0.5187001 0.5154767 0.5152993 0.5136599 0.510476 0.5100885 0.5124779
##       index
## states       729      730      731      732       733       734       735
##      A 0.4867361 0.487514 0.489895 0.493999 0.4955296 0.4945639 0.4910532
##      B 0.5132639 0.512486 0.510105 0.506001 0.5044704 0.5054361 0.5089468
##       index
## states       736       737       738       739       740      741       742
##      A 0.4848206 0.4800585 0.4765268 0.4740477 0.4724962 0.471794 0.4719058
##      B 0.5151794 0.5199415 0.5234732 0.5259523 0.5275038 0.528206 0.5280942
##       index
## states       743       744       745       746       747       748       749
##      A 0.4728373 0.4746353 0.4728952 0.4720245 0.4719794 0.4727577 0.4743984
##      B 0.5271627 0.5253647 0.5271048 0.5279755 0.5280206 0.5272423 0.5256016
##       index
## states       750       751       752       753       754       755      756
##      A 0.4769844 0.4761491 0.4763466 0.4775868 0.4754357 0.4742819 0.474067
##      B 0.5230156 0.5238509 0.5236534 0.5224132 0.5245643 0.5257181 0.525933
##       index
## states       757       758       759       760       761       762       763
##      A 0.4747803 0.4764578 0.4746878 0.4738774 0.4739856 0.4750179 0.4770264
##      B 0.5252197 0.5235422 0.5253122 0.5261226 0.5260144 0.5249821 0.5229736
##       index
## states       764       765       766       767       768       769       770
##      A 0.4756158 0.4752112 0.4757922 0.4773882 0.4755831 0.4747824 0.4749459
##      B 0.5243842 0.5247888 0.5242078 0.5226118 0.5244169 0.5252176 0.5250541
##       index
## states       771       772       773       774       775       776       777
##      A 0.4760817 0.4782472 0.4815513 0.4816615 0.4785833 0.4766605 0.4757964
##      B 0.5239183 0.5217528 0.5184487 0.5183385 0.5214167 0.5233395 0.5242036
##       index
## states       778       779       780      781       782       783       784
##      A 0.4759473 0.4726252 0.4701595 0.468426 0.4673374 0.4668389 0.4669051
##      B 0.5240527 0.5273748 0.5298405 0.531574 0.5326626 0.5331611 0.5330949
##       index
## states       785       786       787       788       789       790       791
##      A 0.4675396 0.4687743 0.4706714 0.4733266 0.4768735 0.4769935 0.4781886
##      B 0.5324604 0.5312257 0.5293286 0.5266734 0.5231265 0.5230065 0.5218114
##       index
## states       792       793       794       795       796       797       798
##      A 0.4760224 0.4748829 0.4747126 0.4755029 0.4772936 0.4801751 0.4797941
##      B 0.5239776 0.5251171 0.5252874 0.5244971 0.5227064 0.5198249 0.5202059
##       index
## states       799       800
##      A 0.4806288 0.4827213
##      B 0.5193712 0.5172787

Baum-Welch (estimate of parameters)

The HMM is unknown, and I want to estimate the parameters of the model.

The inputs are the obsrevations and the output are the model’s parameters estimation through Maximum Likelihood.

Even though I give as input a model with some parameters (ex: transition matrix, emission matrix,…), it will estimate other parameters [different from the ones I gave as input] only based on the sequences of observations and hidden states.

bw = baumWelch(hmm3, observation, maxIterations = 100) 
print(bw$hmm) # optimal parameters to the HMM
## $States
## [1] "A" "B"
## 
## $Symbols
## [1] "L" "R"
## 
## $startProbs
##   A   B 
## 0.5 0.5 
## 
## $transProbs
##     to
## from            A           B
##    A 9.974780e-01 0.002521982
##    B 4.076426e-12 1.000000000
## 
## $emissionProbs
##       symbols
## states         L         R
##      A 0.2465230 0.7534770
##      B 0.7490964 0.2509036
# So these are not the inizialized paraemters but the estimated ones by the 
# observations. So the transitin matrix and the emission matrix are estimated
# from the data (observations/symbols)

Observation

Note that the given transition matrix and the emission matrix given as input are different relatively to the estiamated ones.

print(hmm3)
## $States
## [1] "A" "B"
## 
## $Symbols
## [1] "L" "R"
## 
## $startProbs
##   A   B 
## 0.5 0.5 
## 
## $transProbs
##     to
## from   A   B
##    A 0.9 0.1
##    B 0.1 0.9
## 
## $emissionProbs
##       symbols
## states    L    R
##      A 0.50 0.50
##      B 0.51 0.49
print(bw$hmm)
## $States
## [1] "A" "B"
## 
## $Symbols
## [1] "L" "R"
## 
## $startProbs
##   A   B 
## 0.5 0.5 
## 
## $transProbs
##     to
## from            A           B
##    A 9.974780e-01 0.002521982
##    B 4.076426e-12 1.000000000
## 
## $emissionProbs
##       symbols
## states         L         R
##      A 0.2465230 0.7534770
##      B 0.7490964 0.2509036

Examples

1. Dishonest casino example (from Durbin et. al. 1999)

A dishonest Casino uses a fair dice most of the time, but switches to the loaded dice once in a while. The probabilities of the fair die are (1/6, …, 1/6) for throwing (“1”,…,“6”). The probabilities of the loaded die are (1/10, …, 1/10, 1/2) for throwing (“1”,…,“5”,“6”). The observer doesn’t know which die is actually taken (the state is hidden), but the sequence of throws (observations) can be used to infer which die (state) was used.

Can we detect which die is in use at any given time, just by observing the sequence of rolls?

# P(Fair --> Fair) = 0.95
# P(Fair --> Loaded) = 0.05
# P(Loaded --> Fair) = 0.1
# P(Loaded --> Loaded) = 0.9

States= c('Fair','Loaded')
Symbols = c(1,2,3,4,5,6)

transProbs = matrix(c(0.95, 0.05,  # between states
                      0.1, 0.9),2)  # '2' stands for 2 cols


emissProbs = matrix(c(1/6, 1/10, # from states to symbols
                      1/6, 1/10,
                      1/6, 1/10,
                      1/6, 1/10,
                      1/6, 1/10,
                      1/6, 1/2) ,2) # '2' stands for 2 cols

startProbs = c(0.5,0.5)  # I start randomly with one of the two.

hmm = initHMM(States, Symbols,startProbs, transProbs, emissProbs)

Suppose I have this sequence of observations.

observations = c(3, 2, 2, 1, 2, 3, 6, 6, 6, 6)

We can identify which die has been used ?

This is a smoothing problem, so:

viterbi(hmm, observations)
##  [1] "Fair"   "Fair"   "Fair"   "Fair"   "Fair"   "Fair"   "Loaded" "Loaded"
##  [9] "Loaded" "Loaded"