Parece que posso aprender bem os parâmetros e encontrar as probabilidades posteriores para os dados de treinamento, mas não tenho idéia de como fazer novas previsões sobre novos dados. O problema, em particular, vem das probabilidades de transição alteradas nas covariáveis, por isso não é trivial escrever código para prever novos dados.
A abordagem padrão é definir a mistura (dependente) e ajustar o modelo:
mod <- depmix(EventTime ~ 1, data = data[1:40320,], nstates = 2, family
=multinomial("identity"), transition = ~ Count, instart = runif(2))
fm <- fit(mod, emcontrol=em.control(classification="soft", maxit = 60))
O que temos acima deve funcionar de maneira semelhante a um HMM binário, pois está tentando classificar se um evento ocorreu como uma variável dependente de 1/0 que se move pela sequência. A covariável de transição é uma variável de contagem de frequências que deve afetar diretamente as probabilidades de transição dos estados que devem posteriormente controlar as probabilidades de emissão da variável dependente 1/0.
É possível obter os parâmetros do modelo e configurá-los para outro novo modelo. No entanto, não existe um método claro de previsão, mesmo que deva haver algum lugar nas entranhas da biblioteca.
modNew <- depmix(EventTime~1,data=data2,transition=~Count,nstates=2,
family=multinomial("identity"))
modNew <- setpars(modNew,getpars(fm))
Observe que, na documentação, é possível executar o algoritmo viterbi para gerar estados para novos dados. No entanto, isso não é particularmente útil para mim e parece se encaixar perfeitamente nos dados, sugerindo que ele ainda aprende a se encaixar nos novos dados.
probs2 <- viterbi(modNew)
Note, eu sou novo neste tópico. Esse estágio de implementação é difícil para mim, mas de alguma forma parece ser uma parte básica de uma análise.