hmm baum welch算法hmm $ emissionProbs中的错误[状态,观察[1]]:下标超出范围

时间:2018-04-09 18:09:38

标签: r machine-learning classification hidden-markov-models

我正试图在脑电信号上运行Baum-Welch。我对值进行了舍入,因此我可以假装它是一个离散信号,只是为了简化。所以我有一个圆形eeg柱和一个医生评分睡眠阶段。 像这样:

医生eeg

1 Wake 10

2 Wake 13

3 Wake 16

4 Wake 18

我的代码在这里:

y = data$eeg
states = c("NonREM1", "NonREM2", "NonREM3", "REM", "Wake")
start_p = c(NonREM1 = 0,NonREM2 = 0,NonREM3 = 0, REM = 0, Wake = 1)
library(markovchain)
trans_p <- markovchainFit(data$doctor)$estimate
sleep.values <- unique(data[2])
hmm = initHMM(states, Symbols = sleep.values, startProbs=start_p, 
transProbs=trans_p)

baumWelch(hmm, observation = y, maxIterations=100, delta=1E-9, 
pseudoCount=0)

我似乎也未能输入排放概率矩阵,因此我将其留空。当我填写它时,我得到

E [,]&lt; - emissionProbs [,]中的错误:   要替换的项目数量不是替换长度的倍数

有人可以向我解释有什么问题吗?整个下午我都被困在这里。 :\

0 个答案:

没有答案