Bivariate HMM? PreviousNext
Mplus Discussion > Latent Variable Mixture Modeling >
 Jim Prisciandaro posted on Sunday, March 06, 2011 - 4:47 pm
Hello Drs. Muthen,

I was wondering if it were possible to estimate a bivariate HMM model in Mplus, similar to an auto-regressive cross-lag panel model but with latent categorical variables instead of observed continuous variables (i.e., two univariate hidden markov processes with across-construct cross-lags)? I tried to estimate such a model, and the output suggested that the order of some of my regressions (i.e., the cross lags) were not allowable. Construct one was represented by c1-c3 and construct two was represented by c4-c6; the error was specifically in regards to C3 ON C5, but I'm guessing it wasn't the only problematic ON statement.

If such a bivariate model is indeed not possible, is there another latent variable model that you can think of that would be appropriate for looking at occasion by occasion, cross-construct associations between two repeatedly measured variables?

 Jim Prisciandaro posted on Monday, March 07, 2011 - 8:44 am
Just wanted to clarify, the model I am referring to is known as a "coupled hidden markov model" or "CHMM" in the HMM literature (I realized "bivariate" could refer to a lot of different scenarios). I believe the model was originally developed by Matthew Brand:
 Tihomir Asparouhov posted on Tuesday, March 08, 2011 - 10:01 am
I think you should be able to do that simply by relabeling the class variables. Construct one should be represented by c1 c3 and c5. Construct two should be represented by c2 c4 and c6. The way you currently have it C3 ON C5 is not allowed because C3 would be assumed to have been determined earlier in time than C5.
 Jim Prisciandaro posted on Tuesday, March 08, 2011 - 2:27 pm
Thank you Tihomir for this amazingly simple solution!

However, I have a question regarding the timing of the latent
categories. The coupled HMM model I described consists of two
univariate HMM processes that are related to one another through
cross-lags (construct 1 to construct 2 and vice versa). If construct 1
= c1, c3, and c5, and construct 2 = c2, c4, and c6, does this imply in
the model that c1 occurred in time before c2 (and c3 before c4, etc)?
In reality, c1 and c2 were measured at the same time, c3 and c4 at the
same time, etc (i.e., 3 waves of data).

Relatedly, I am confused by my output which gives me transition
probabilities for c1 by c2, c2 by c3 and so on, even though some of
these pairs/associations are not specified in my model (e.g., c1 and
c2, which represents "time 1" for both constructs). So, I have two
questions: 1) Is it problematic that relations among latent categories
appear to have been estimated that I didn't specify, and 2) How would
I obtain the transition probabilities I am interested in (e.g., c1 and
c3, c3 and c5).

In general, is my model representing two univariate HMMs interacting
via cross-lags (i.e., what I want); or something else I am not aware
of (e.g., a single HMM chain that criss-crosses between construct 1
and 2)?

Thanks - Jim
 Tihomir Asparouhov posted on Tuesday, March 08, 2011 - 4:13 pm
The setup does not imply that C1 occurs before C2. It implies that C1 can be used as a predictor for C2, however it doesn't have to be.

The transition probabilities that Mplus computes are designed for a single HMM, so I think you should ignore those. Instead you should compute them from the model, see Chapter 14 in the users guide "LOGISTIC REGRESSION PARAMETERIZATION".
 Jim Prisciandaro posted on Sunday, March 13, 2011 - 12:22 pm
Thank you Tihomir,

I tried calculating the transition probabilities from the model parameters, but the formulas provided in Chapter 14 in the users guide are not working for me; whereas the formulas are for single HMMs, each latent categorical variable in my HMM is predicted by the previous latent variable of the same construct (AR) and the previous latent variable of the second construct (cross-lag). I tried modifying the formulas to incorporate the cross-lags, but I am coming up with incorrect probabilities (using the one or two printed transition matrices in mplus that are relevant to my model as a reference). I calculated the transition probabilities correctly for a separate, single HMM model, so I know I am generally using the formulas correctly, I am just not extending them properly. Would you please provide me with the formulas mplus uses to compute transition probabilities for an HMM model when more than one latent categorical variable (i.e., AR and cross-lag) is specified as predicting a subsequent latent categorical variable?

 Bengt O. Muthen posted on Monday, March 14, 2011 - 11:14 am
We would have to see your run to efficiently guide you with this. So this is a support question. Please send your input, output, data, and valid license number to
 Jim Prisciandaro posted on Monday, March 14, 2011 - 11:39 am
Hi Bengt,

I don't have an up to date support contract, which is what I'm guessing you mean by "valid" license number.

Given, then, that you can't help me with my particular model, I'm hoping you can provide me with a general formula that MPlus uses to construct transition matrices in cases where a latent categorical variable is predicted by two other latent categorical variables (as opposed to one)? My situation is a "coupled HMM" or HMM cross-lag panel model, but I believe this question would equally apply to an HMM with first and second order markov relationships allowed. I can't find mention of how transition matrices are generally calculated in MPlus in these situations in the manual or technical appendices. I've been able to find formulas for calculating transition matrices in the face of covariates elsewhere on the forum, but not in the face of multiple preceding latent categorical variables.

Thanks for your help,
 Bengt O. Muthen posted on Monday, March 14, 2011 - 4:01 pm
The formula is a direct generalization of the one Tihomir pointed to in the UG - the top of page 447 table for a single predictor variable c1. For your case of c3 regressed on c1 and c2, c3 on c1 adds one b parameter and c3 on c2 adds another b parameter; when either c1 or c2 are at their last category, they don't contribute.
 Jim Prisciandaro posted on Monday, March 14, 2011 - 4:50 pm
Thank you, Bengt!
Back to top
Add Your Message Here
Username: Posting Information:
This is a private posting area. Only registered users and moderators may post messages here.
Options: Enable HTML code in message
Automatically activate URLs in message