Я использую пакет depmixS4 для размещения HMM на данных временных рядов. Вот пример с некоторыми данными высокого и низкого объема.
В функции getpars мы можем видеть оценки значений параметров.
То, что происходит, - то, что иногда первые два значения в плотности являются состоянием низкого напряжения, а иногда вторые два значения являются состоянием низкого напряжения. Есть ли способ исправить (возможно, установив начальные приоры?)
set.seed(1)
a <- data.frame(v1 = c(rnorm(n = 100, sd = 10), rnorm(n=100, sd = 1)))
a <- sample(a)
my_model <- depmixS4::depmix(response = v1 ~ 1 , nstates = 2 , data = a)
fitted_model <- depmixS4::fit(my_model)
getpars(fitted_model)
for (i in 100:200) {
my_model2 <- depmixS4::depmix(response = v1 ~ 1 , nstates = 2 , data = a[1:i, , drop = FALSE])
fitted_model2 <- depmixS4::fit(my_model2)
pars <- getpars(fitted_model2)
if (pars[8] > 8) {
print(i)
}
}