получить переходную матрицу в пакете R, depmixS4 - PullRequest
0 голосов
/ 14 мая 2018

Я сформулировал HMM с двумя состояниями, используя depmix () и fit () из пакета depmixS $, и получил объект depmix.fited, который показывает мне вероятность перехода матрица с использованием summary () . Есть ли возможность извлечь матрицу вероятностей перехода и сохранить ее как вектор? Сводка (модель, которая = "переход") не работает ...

Пожалуй, самое простое решение, которое я нашел, это следующее:

{a<-(depmix.fitted class)@transition[[1]]@parameters$coefficients
b<-(depmix.fitted class)@transition[[2]]@parameters$coefficients 

transmat<-matrix(data= c(a,b), ncol = 2, byrow = TRUE) #combine transition probabilities to the transition probabilities matrix }

Ответы [ 3 ]

0 голосов
/ 10 февраля 2019

На самом деле есть вызов, чтобы получить последующие вероятности. Например, это код, который я запустил

  hmm <- depmix(returns ~ 1, family = gaussian(), nstates = 2, data=data.frame(returns=returns))
  hmmfit <- fit(hmm)
  post_probs <- posterior(hmmfit)
0 голосов
/ 14 февраля 2019

Комбинируя ваше предложение с предложением Ирины Телиной и расширяя его для нескольких состояний, вы можете использовать следующее (игнорируйте первые строки для создания фрейма данных):

df_test<-setNames(data.frame(rnorm(100,mean=rnorm(1),sd=runif(1))),"returns")
numk<-5
for (i in 1:numk-1){
  df_test<-rbind(df_test,setNames(data.frame(rnorm(100,mean=rnorm(1),sd=runif(1))),
                                  "returns"))
}
hmm <- depmix(returns ~ 1, family = gaussian(), nstates = numk, data=df_test)
hmmfit <- fit(hmm)
trmat<-matrix(getpars(hmmfit)[(nstates(hmmfit)+1):(nstates(hmmfit)^2+nstates(hmmfit))],
              byrow=TRUE,nrow=nstates(hmmfit),ncol=nstates(hmmfit))
0 голосов
/ 24 октября 2018

Вы можете получить матрицу вероятности перехода и сохранить ее как вектор, используя функцию getpars():

getpars(depmix.fitted)[3:6]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...