public static HiddenMarkovModel CreateModel3()
{
// Tested against R's HMM package
// http://cran.r-project.org/web/packages/HMM/HMM.pdf
// hmm = initHMM(c("A","B"), c("L","R"),
// startProbs = c(.9,.1),
// transProbs = matrix(c(.8,.3,.2,.7),2),
// emissionProbs= matrix(c(.75,.11,.25,.88),2))
// A B
double[] initial = { 0.9, 0.1 };
double[,] transitions =
{
// to: A B
// from:
/* A */ { 0.8, 0.2 },
/* B */ { 0.3, 0.7 },
};
double[,] emissions =
{
// L R
/* A */ { 0.75, 0.25 },
/* B */ { 0.12, 0.88 },
};
return new HiddenMarkovModel(transitions, emissions, initial);
}