R语言中的HMM算法相关的包
(2013-05-28 10:29:48)
标签:
rhmm杂谈 |
分类: 统计 |
Example 1:
library(HMM)
library(HMM)
# Initialise HMM
hmm = initHMM(c("A","B"), c("L","R"),
transProbs=matrix(c(.8,.2,.2,.8),2),
emissionProbs=matrix(c(.6,.4,.4,.6),2))
print(hmm)
# Sequence of observations
observations = c("L","L","R","R")
# Calculate backward probablities
logBackwardProbabilities =
backward(hmm,observations)
print(exp(logBackwardProbabilities))
Example 2:
library(HMM)
Example 2:
library(HMM)
# Initial HMM
hmm = initHMM(c("A","B"),c("L","R"),
transProbs=matrix(c(.9,.1,.1,.9),2),
emissionProbs=matrix(c(.5,.51,.5,.49),2))
print(hmm)
# Sequence of observation
a = sample(c(rep("L",100),rep("R",300)))
b = sample(c(rep("L",300),rep("R",100)))
observation = c(a,b)
# Baum-Welch
bw = baumWelch(hmm,observation,10)
print(bw$hmm)
Example 3:
library(HMM)
Example 3:
library(HMM)
# Initialise HMM
hmm = initHMM(c("A","B"), c("L","R"),
transProbs=matrix(c(.8,.2,.2,.8),2),
emissionProbs=matrix(c(.6,.4,.4,.6),2))
print(hmm)
# Sequence of observations
observations = c("L","L","R","R")
# Calculate forward probablities
logForwardProbabilities =
forward(hmm,observations)
print(exp(logForwardProbabilities))
Example 4:
library(HMM)
Example 4:
library(HMM)
# Initialise HMM
hmm = initHMM(c("A","B"), c("L","R"),
transProbs=matrix(c(.8,.2,.2,.8),2),
emissionProbs=matrix(c(.6,.4,.4,.6),2))
print(hmm)
# Sequence of observations
observations = c("L","L","R","R")
# Calculate posterior probablities of the
states
posterior = posterior(hmm,observations)
print(posterior)
Example 5:
library(HMM)
Example 5:
library(HMM)
# Initialise HMM
hmm = initHMM(c("A","B"), c("L","R"),
transProbs=matrix(c(.6,.4,.4,.6),2),
emissionProbs=matrix(c(.6,.4,.4,.6),2))
print(hmm)
# Sequence of observations
observations = c("L","L","R","R")
# Calculate Viterbi path
viterbi = viterbi(hmm,observations)
print(viterbi)
Example 6:
library(HMM)
Example 6:
library(HMM)
# Initial HMM
hmm = initHMM(c("A","B"),c("L","R"),
transProbs=matrix(c(.9,.1,.1,.9),2),
emissionProbs=matrix(c(.5,.51,.5,.49),2))
print(hmm)
# Sequence of observation
a = sample(c(rep("L",100),rep("R",300)))
b = sample(c(rep("L",300),rep("R",100)))
observation = c(a,b)
# Viterbi-training
vt = viterbiTraining(hmm,observation,10)
print(vt$hmm)
前一篇:[zz]R中的非线性拟合
后一篇:perl 的map函数