A major improvement in this release is the possibility to include continuous data in mHMM()
. Currently, the user can model data composed of either categorical data OR continuous data (so a mix of different types of emission distributions is not possible within the stable CRAN version). As such, the following changes are implemented:
mHMM()
now includes the input parameter data_distr
, where the user can specify whether the input data contains categorical or continuous data. Defaults to data_distr = 'categorical'
.sim_mHMM()
allows the simulation of continuous data, which is facilitated again by the input parameter data_distr
, where the user can specify whether one wants to simulate categorical or continuous data. Defaults to data_distr = 'categorical'
.mHMM()
output objects as input such as obtain_emiss()
, vit_mHMM()
, and S3 methods as print()
, summary()
, and plot()
automatically detect whether the output object relates to a multilevel HMM fitted to categorical or continuous data, and adjusts it's processing methods accordingly. Also, a new function, prior_emiss_cont()
, is introduced which enables the specification of hyper prior parameters when using continuous input data.
New is also the accommodation of missing values (NA
) in the dependent input variable(s). Missingness is assumed Missing at Random (MAR), so that the missingness mechanism is independent of the missing data and the hidden states given the observed data and model parameters. This means that missing observations are assumed equally likely in each of the states. In our approach, hidden state probabilities are inferred for missing observations (thus only based on the transition probability matrix gamma), but missing observations themselves are not directly imputed.
To accommodate missing values, the forward algorithm implemented in C++ was slightly adjusted, and state dependent observations (on which the parameter estimates of the emission distribution(s) are based) are selected such that missing values are omitted.
mHMM()
The mHMM()
output component PD_subj
was modified to facilitate the inclusion of both categorical and continuous input data. Before, PD_subj
was a list containing one matrix per subject containing all subject level output parameters over the iterations of the MCMC sampler. Now, PD_subj
is a list containing one list per subject with the elements trans_prob
, cat_emiss
or cont_emiss
in case of categorical or continuous observations, respectively, and log_likl
, providing the subject parameter estimates over the iterations of the MCMC sampler. trans_prob
relates to the transition probabilities gamma, cat_emiss
to the categorical emission distribution (emission probabilities), cont_emiss
to the continuous emission distributions (subsequently the the emission means and the (fixed over subjects) emission standard deviation), and log_likl
to the log likelihood over the MCMC iterations.
A detailed error message is displayed when trying to post-process mHMM objects created with an earlier version of the package.
mHMM()
Several extra checks have been implemented in mHMM()
. Specifically, checking for:
starting_val
.A major improvement in this release is the increased speed of the mHMM()
algorithm.
Two new functions to manually specify hyper-prior distribution parameter values for the multilevel hidden Markov model are introduced:
Using manually specified hyper-prior distribution parameter values in the function mHMM() is as of now thus done by inputting an object of the class 'mHMM_prior_emiss' and/or 'mHMM_prior_gamma' for the input parameters emiss_hyp_prior and gamma_hyp_prior, respectively, created by the above functions. Note that manually specifying hyper-prior distribution parameter values is optional, default values are available for all parameters.
Manually specifying hyper-prior distribution parameter values is done on the logit domain. That is, the hyper-priors are on the intercepts (and, if subject level covariates are used, regression coefficients) of the Multinomial logit model used to accommodate the multilevel framework of the data, instead of on the probabilities directly. As logit domain might be more unfamiliar to the user compared to the probability domain, two functions are introduced to aid the user:
Two new functions to manually specify settings of the proposal distribution of the Random Walk (RW) Metropolis sampler for the multilevel hidden Markov model are introduced:
Using manually specified settings of the proposal distribution of the Random Walk (RW) Metropolis sampler in the function mHMM() is as of now thus done by inputting an object of the class 'mHMM_pdRW_emiss' and/or 'mHMM_pdRW_gamma' for the input parameters emiss_sampler and gamma_sampler, respectively, created by the above functions. Note that manually specifying setting of the RW proposal distribution is optional, default values are available for all parameters.
In the function sim_mHMM() used to simulate data for multiple subject - for which the observation follow a hidden Markov model (HMM) with an multilevel structure
Patch release to solve noLD issues (tests without long double on x86_64 Linux system) uncovered by CRAN Package Check Results.
First (official) version of the package!
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.