【发布时间】:2015-05-19 14:55:48
【问题描述】:
我想通过泊松观察来训练一个新的 hmm 模型,这是我唯一知道的。 我正在为 R 使用 mhsmm 包。
首先困扰我的是模型的初始化,在示例中是:
J<-3
initial <- rep(1/J,J)
P <- matrix(1/J, nrow = J, ncol = J)
b <- list(lambda=c(1,3,6))
model = hmmspec(init=initial, trans=P, parms.emission=b,dens.emission=dpois.hsmm)
在我的情况下,我没有排放分布参数的初始值,这就是我想要估计的。怎么样?
其次:如果我只有观察,我如何将它们传递给
h1 = hmmfit(list_of_observations, model ,mstep=mstep.pois)
为了得到训练好的模型?
list_of_observations,在示例中,包含一个状态向量、一个观察值和一个观察序列长度,通常通过模型的模拟获得:
list_of_observations = simulate(model, N, rand.emis = rpois.hsmm)
编辑:发现这个老问题的答案部分解决了我的问题: MHSMM package in R-Input Format? 这两行就成功了:
train <- list(x = data.df$sequences, N = N)
class(train) <- "hsmm.data"
其中 data.df$sequences 是包含所有观察序列的数组,N 是包含每个序列的观察计数的数组。 尽管如此,初始模型是完全随机的,但我想这就是它的本意,因为它将被重新估计,对吗?
【问题讨论】:
标签: r machine-learning hidden-markov-models