# Define the state and observation space
states = c("1","2","3","H")
observations <- c("fever", "ok")
# Define the start probabilities
startProbs <- c(1,0,0,0)
# Define the transition probabilities
transProbs <- matrix(data = c(0.6,0.3 ,0 ,0.1,
0 ,0.75,0.15,0.1,
0 ,0 ,0.9 ,0.1,
0 ,0 ,0 ,1),
byrow = T,nrow = 4)
# Define the emission probabilities
emitProbs <- matrix(c(0.1, 0.9, 0.5, 0.5, 0.8, 0.2, 0, 1), byrow=T, nrow=4)
# Create the HMM
hmm <- initHMM(States=states, Symbols=observations, startProbs=startProbs, transProbs=transProbs, emissionProbs=emitProbs)
#simHMM(hmm,15)
# Print the HMM
print(hmm)
## $States
## [1] "1" "2" "3" "H"
##
## $Symbols
## [1] "fever" "ok"
##
## $startProbs
## 1 2 3 H
## 1 0 0 0
##
## $transProbs
## to
## from 1 2 3 H
## 1 0.6 0.30 0.00 0.1
## 2 0.0 0.75 0.15 0.1
## 3 0.0 0.00 0.90 0.1
## H 0.0 0.00 0.00 1.0
##
## $emissionProbs
## symbols
## states fever ok
## 1 0.1 0.9
## 2 0.5 0.5
## 3 0.8 0.2
## H 0.0 1.0
What is the most likely sequence of test results in the first three
days in the hospital?
which.max(c(
sum(exp(forward(hmm,c("fever","fever","fever")))[,3]),
sum(exp(forward(hmm,c("fever","fever","ok")))[,3]),
sum(exp(forward(hmm,c("fever","ok","fever")))[,3]),
sum(exp(forward(hmm,c("ok","fever","fever")))[,3]),
sum(exp(forward(hmm,c("fever","ok","ok")))[,3]),
sum(exp(forward(hmm,c("ok","fever","ok")))[,3]),
sum(exp(forward(hmm,c("ok","ok","fever")))[,3]),
sum(exp(forward(hmm,c("ok","ok","ok")))[,3])))
#print(sum(exp(forward(hmm,c("ok","ok","ok")))[,3]))
#print(" -ok,ok,ok- most likely ")
- most likely sequence: “-ok,ok,ok-” with Prob = 54.2115 %
What is the probability of three days with fever in a row (trace:
fever, fever, fever) in the first three days in the hospital?
sum(exp(forward(hmm,c("fever","fever","fever")))[,3])
What is the probability of that trace (fever, fever, fever) after 5
days in the hospital?
sum(
sum(exp(forward(hmm,c("fever","fever","fever","fever","fever")))[,5]),
sum(exp(forward(hmm,c("fever","ok","fever","fever","fever")))[,5]),
sum(exp(forward(hmm,c("ok","fever","fever","fever","fever")))[,5]),
sum(exp(forward(hmm,c("ok","ok","fever","fever","fever")))[,5])
)
What is the most likely path that led to observing three days
without fever in a row (trace: OK, OK, OK) in the first three days in
the hospital?
viterbi(hmm,c("ok","ok","ok"))
- most likely path: 1, 1, 1
What is the most likely path of that trace (OK, OK, OK) after 5 days
in the hospital?
viterbi(hmm,c("fever","fever","ok","ok","ok"))
viterbi(hmm,c("fever","ok","ok","ok","ok"))
viterbi(hmm,c("ok","fever","ok","ok","ok"))
viterbi(hmm,c("ok","ok","ok","ok","ok"))
print(" most likely path is -H,H,H- ")
- most likely path: (X,X,)H, H, H
LS0tDQp0aXRsZTogIkFETSBBc3NpZ25tZW50IDUiDQphdXRob3I6ICJEb21pbmlrIERpZWRyaWNoIg0KZGF0ZTogImByIFN5cy5EYXRlKClgIg0Kb3V0cHV0Og0KICBodG1sX2RvY3VtZW50Og0KICAgIGNvZGVfZG93bmxvYWQ6IHllcw0KICAgIGNvZGVfZm9sZGluZzogaGlkZSANCiAgcGRmX2RvY3VtZW50OiBkZWZhdWx0DQotLS0NCg0KYGBge3IgaW5jbHVkZT1GQUxTRX0NCmxpYnJhcnkoSE1NKQ0KYGBgDQoNCmBgYHtyfQ0KDQojIERlZmluZSB0aGUgc3RhdGUgYW5kIG9ic2VydmF0aW9uIHNwYWNlDQpzdGF0ZXMgPSBjKCIxIiwiMiIsIjMiLCJIIikNCm9ic2VydmF0aW9ucyA8LSBjKCJmZXZlciIsICJvayIpDQoNCiMgRGVmaW5lIHRoZSBzdGFydCBwcm9iYWJpbGl0aWVzDQpzdGFydFByb2JzIDwtIGMoMSwwLDAsMCkNCg0KIyBEZWZpbmUgdGhlIHRyYW5zaXRpb24gcHJvYmFiaWxpdGllcw0KdHJhbnNQcm9icyA8LSBtYXRyaXgoZGF0YSA9IGMoMC42LDAuMyAsMCAgICwwLjEsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwICAsMC43NSwwLjE1LDAuMSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAgICwwICAgLDAuOSAsMC4xLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCAgLDAgICAsMCAgICwxKSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBieXJvdyA9IFQsbnJvdyA9IDQpDQoNCiMgRGVmaW5lIHRoZSBlbWlzc2lvbiBwcm9iYWJpbGl0aWVzDQplbWl0UHJvYnMgPC0gbWF0cml4KGMoMC4xLCAwLjksIDAuNSwgMC41LCAwLjgsIDAuMiwgMCwgMSksIGJ5cm93PVQsIG5yb3c9NCkNCg0KIyBDcmVhdGUgdGhlIEhNTQ0KaG1tIDwtIGluaXRITU0oU3RhdGVzPXN0YXRlcywgU3ltYm9scz1vYnNlcnZhdGlvbnMsIHN0YXJ0UHJvYnM9c3RhcnRQcm9icywgdHJhbnNQcm9icz10cmFuc1Byb2JzLCBlbWlzc2lvblByb2JzPWVtaXRQcm9icykNCg0KI3NpbUhNTShobW0sMTUpDQoNCiMgUHJpbnQgdGhlIEhNTQ0KcHJpbnQoaG1tKQ0KYGBgDQoNCg0KIyMgV2hhdCBpcyB0aGUgbW9zdCBsaWtlbHkgc2VxdWVuY2Ugb2YgdGVzdCByZXN1bHRzIGluIHRoZSBmaXJzdCB0aHJlZSBkYXlzIGluIHRoZSBob3NwaXRhbD8NCg0KYGBge3IgZXZhbD1GQUxTRX0NCndoaWNoLm1heChjKA0Kc3VtKGV4cChmb3J3YXJkKGhtbSxjKCJmZXZlciIsImZldmVyIiwiZmV2ZXIiKSkpWywzXSksDQpzdW0oZXhwKGZvcndhcmQoaG1tLGMoImZldmVyIiwiZmV2ZXIiLCJvayIpKSlbLDNdKSwNCnN1bShleHAoZm9yd2FyZChobW0sYygiZmV2ZXIiLCJvayIsImZldmVyIikpKVssM10pLA0Kc3VtKGV4cChmb3J3YXJkKGhtbSxjKCJvayIsImZldmVyIiwiZmV2ZXIiKSkpWywzXSksDQpzdW0oZXhwKGZvcndhcmQoaG1tLGMoImZldmVyIiwib2siLCJvayIpKSlbLDNdKSwNCnN1bShleHAoZm9yd2FyZChobW0sYygib2siLCJmZXZlciIsIm9rIikpKVssM10pLA0Kc3VtKGV4cChmb3J3YXJkKGhtbSxjKCJvayIsIm9rIiwiZmV2ZXIiKSkpWywzXSksDQpzdW0oZXhwKGZvcndhcmQoaG1tLGMoIm9rIiwib2siLCJvayIpKSlbLDNdKSkpDQoNCiNwcmludChzdW0oZXhwKGZvcndhcmQoaG1tLGMoIm9rIiwib2siLCJvayIpKSlbLDNdKSkNCiNwcmludCgiIC1vayxvayxvay0gbW9zdCBsaWtlbHkgIikNCmBgYA0KDQoqIG1vc3QgbGlrZWx5IHNlcXVlbmNlOiAiLW9rLG9rLG9rLSIgd2l0aCBQcm9iID0gYHIgc3VtKGV4cChmb3J3YXJkKGhtbSxjKCJvayIsIm9rIiwib2siKSkpWywzXSkgKiAxMDBgICUNCg0KIyMgV2hhdCBpcyB0aGUgcHJvYmFiaWxpdHkgb2YgdGhyZWUgZGF5cyB3aXRoIGZldmVyIGluIGEgcm93ICh0cmFjZTogZmV2ZXIsIGZldmVyLCBmZXZlcikgaW4gdGhlIGZpcnN0IHRocmVlIGRheXMgaW4gdGhlIGhvc3BpdGFsPyANCg0KYGBge3IgZXZhbD1GQUxTRX0NCnN1bShleHAoZm9yd2FyZChobW0sYygiZmV2ZXIiLCJmZXZlciIsImZldmVyIikpKVssM10pDQoNCmBgYA0KKiBQcm9iID0gYHIgc3VtKGV4cChmb3J3YXJkKGhtbSxjKCJmZXZlciIsImZldmVyIiwiZmV2ZXIiKSkpWywzXSkgKiAxMDBgICUNCg0KDQoNCiMjIFdoYXQgaXMgdGhlIHByb2JhYmlsaXR5IG9mIHRoYXQgdHJhY2UgKGZldmVyLCBmZXZlciwgZmV2ZXIpIGFmdGVyIDUgZGF5cyBpbiB0aGUgaG9zcGl0YWw/IA0KDQpgYGB7ciBldmFsPUZBTFNFfQ0Kc3VtKA0Kc3VtKGV4cChmb3J3YXJkKGhtbSxjKCJmZXZlciIsImZldmVyIiwiZmV2ZXIiLCJmZXZlciIsImZldmVyIikpKVssNV0pLA0Kc3VtKGV4cChmb3J3YXJkKGhtbSxjKCJmZXZlciIsIm9rIiwiZmV2ZXIiLCJmZXZlciIsImZldmVyIikpKVssNV0pLA0Kc3VtKGV4cChmb3J3YXJkKGhtbSxjKCJvayIsImZldmVyIiwiZmV2ZXIiLCJmZXZlciIsImZldmVyIikpKVssNV0pLA0Kc3VtKGV4cChmb3J3YXJkKGhtbSxjKCJvayIsIm9rIiwiZmV2ZXIiLCJmZXZlciIsImZldmVyIikpKVssNV0pDQopDQpgYGANCiogUHJvYiA9IGByIHN1bShzdW0oZXhwKGZvcndhcmQoaG1tLGMoImZldmVyIiwiZmV2ZXIiLCJmZXZlciIsImZldmVyIiwiZmV2ZXIiKSkpWyw1XSksc3VtKGV4cChmb3J3YXJkKGhtbSxjKCJmZXZlciIsIm9rIiwiZmV2ZXIiLCJmZXZlciIsImZldmVyIikpKVssNV0pLHN1bShleHAoZm9yd2FyZChobW0sYygib2siLCJmZXZlciIsImZldmVyIiwiZmV2ZXIiLCJmZXZlciIpKSlbLDVdKSxzdW0oZXhwKGZvcndhcmQoaG1tLGMoIm9rIiwib2siLCJmZXZlciIsImZldmVyIiwiZmV2ZXIiKSkpWyw1XSkpICoxMDBgICUNCg0KDQoNCiMjIFdoYXQgaXMgdGhlIG1vc3QgbGlrZWx5IHBhdGggdGhhdCBsZWQgdG8gb2JzZXJ2aW5nIHRocmVlIGRheXMgd2l0aG91dCBmZXZlciBpbiBhIHJvdyAodHJhY2U6IE9LLCBPSywgT0spIGluIHRoZSBmaXJzdCB0aHJlZSBkYXlzIGluIHRoZSBob3NwaXRhbD8gDQoNCmBgYHtyIGV2YWw9RkFMU0V9DQp2aXRlcmJpKGhtbSxjKCJvayIsIm9rIiwib2siKSkNCmBgYA0KDQoqIG1vc3QgbGlrZWx5IHBhdGg6IGByIHZpdGVyYmkoaG1tLGMoIm9rIiwib2siLCJvayIpKWANCg0KDQojIyBXaGF0IGlzIHRoZSBtb3N0IGxpa2VseSBwYXRoIG9mIHRoYXQgdHJhY2UgKE9LLCBPSywgT0spIGFmdGVyIDUgZGF5cyBpbiB0aGUgaG9zcGl0YWw/IA0KDQpgYGB7ciBldmFsPUZBTFNFfQ0Kdml0ZXJiaShobW0sYygiZmV2ZXIiLCJmZXZlciIsIm9rIiwib2siLCJvayIpKQ0Kdml0ZXJiaShobW0sYygiZmV2ZXIiLCJvayIsIm9rIiwib2siLCJvayIpKQ0Kdml0ZXJiaShobW0sYygib2siLCJmZXZlciIsIm9rIiwib2siLCJvayIpKQ0Kdml0ZXJiaShobW0sYygib2siLCJvayIsIm9rIiwib2siLCJvayIpKQ0KDQpwcmludCgiIG1vc3QgbGlrZWx5IHBhdGggaXMgLUgsSCxILSAiKQ0KDQpgYGANCg0KKiBtb3N0IGxpa2VseSBwYXRoOiAoWCxYLClgciB2aXRlcmJpKGhtbSxjKCJmZXZlciIsImZldmVyIiwib2siLCJvayIsIm9rIikpWzM6NV1g