HMMGraphicDiag             package:RHmm             R Documentation

_G_r_a_p_h_i_c _d_i_a_g_n_o_s_t_i_c _o_f _t_h_e _H_M_M _e_s_t_i_m_a_t_i_o_n

_D_e_s_c_r_i_p_t_i_o_n:

     This function plots the kernel density of the observations and the
     normal (mixture of normal, discrete) density with estimated
     parameters for each hidden states. The hidden states

_U_s_a_g_e:

     HMMGraphicDiag(vit, HMM, obs, color="green")

_A_r_g_u_m_e_n_t_s:

     vit: a ViterbiClass object which gives the hidden states

     HMM: a HMMClass or a HMMFitClass object which describes the model

     obs: the vector, list of vectors of observations

   color: color for the kernel density plot

_V_a_l_u_e:

     none

_N_o_t_e:

     HMMGraphicDiag is not implemented for multivariate distributions.

     The kernel densities of observations for each hidden states of the
     model are plotting using:
      plot(density(obs[vit$states=i])) and i in 1..HMM$nStates (or
     HMM$HMM$nStates)

_S_e_e _A_l_s_o:

     HMMFit, viterbi

_E_x_a_m_p_l_e_s:

     data(geyser)
     obs <- as.matrix(geyser)
     #Fits an 3 states gaussian model for geyser duration
     ResFitGeyser <- HMMFit(obs, dis='MIXTURE', nStates=3, nMixt=2)
     VitGeyser <- viterbi(ResFitGeyser, obs)
     m1Duration <- c(ResFitGeyser$HMM$distribution$mean[[1]][[1]][1], ResFitGeyser$HMM$distribution$mean[[1]][[2]][1])
     m2Duration <- c(ResFitGeyser$HMM$distribution$mean[[2]][[1]][1], ResFitGeyser$HMM$distribution$mean[[2]][[2]][1])
     m3Duration <- c(ResFitGeyser$HMM$distribution$mean[[3]][[1]][1], ResFitGeyser$HMM$distribution$mean[[3]][[2]][1])
     v1Duration <- c(ResFitGeyser$HMM$distribution$cov[[1]][[1]][1,1], ResFitGeyser$HMM$distribution$cov[[1]][[2]][1,1])
     v2Duration <- c(ResFitGeyser$HMM$distribution$cov[[2]][[1]][1,1], ResFitGeyser$HMM$distribution$cov[[2]][[2]][1,1])
     v3Duration <- c(ResFitGeyser$HMM$distribution$cov[[3]][[1]][1,1], ResFitGeyser$HMM$distribution$cov[[3]][[2]][1,1])
     prop <- list(ResFitGeyser$HMM$distribution$proportion[[1]], ResFitGeyser$HMM$distribution$proportion[[2]], 
         ResFitGeyser$HMM$distribution$proportion[[3]])
     prop[[1]] <- prop[[1]] / sum(prop[[1]])
     prop[[2]] <- prop[[2]] / sum(prop[[2]])

     HMMDuration <- HMMSet(dis='MIXTURE', transMat=ResFitGeyser$HMM$transMat, initProb=ResFitGeyser$HMM$initProb, 
         mean=list(m1Duration, m2Duration, m3Duration), var=list(v1Duration, v2Duration, v3Duration), proportion=prop) 
     # Graphic diagnostic
     HMMGraphicDiag(VitGeyser, HMMDuration, obs[,1])

