M. Bakker posted on Wednesday, October 14, 2009 - 3:13 am
I am wondering if it is possible with MPlus to include an interaction between an unordered categorical (nominal) dependent variable and an independent variable in a multinomial logistic regression model (with several indepent variables)?
And when it is possible... how can I perform this?
I assume you have two nominal DVs in your model - is that correct? It wouldn't make sense to have an interaction between a DV and a covariate for that DV.
M. Bakker posted on Wednesday, October 14, 2009 - 11:40 pm
In my model there is one dependent nominal variable and several independent variables. And there is one variable which isn't an independent variable , which is interrelated with the dependent variable, but not with the other independent variables.
So for this particular variable I would like to measure a relationship instead of causality. But I am not sure how to do this and if it is possible to do this in a multinomial logistic regression.
I think you are saying that you have 1 DV that is nominal and is regressed on a set of IVs, and you have a binary variable that you don't want to regress on the IVs but you want it to be related to the nominal DV.
If that is a correct understanding of your situation, then I my answer is that Mplus can handle it but it requires an advanced solution. For example, you would use 2 latent class variables, one set identical to your binary variable and the other set identical your DV, relating them to each other by WITH in parameterization=loglinear, and where only the nominal latent class variable is regressed on the IVs. If you are not an advanced user so that this sounds too complex for you to do on your own, I would not recommend trying it.
M. Bakker posted on Sunday, October 18, 2009 - 1:27 am
Ok, thank you for your answer. One last question; would it be different (easier) when the variable which I want to be related to the nominal DV is an ordered categorical or even an interval variable? Or does this requires the same advanced solution?
I have estimated a multinomial logistic regression which includes an interaction term. I would like to illustrate, using the loop function, when there is a significant effect of the interaction effect using relative risks as the value of my moderator changes one standard deviation below and above its mean. All variables are mean centered. I have tried doing the following in model constraint, where "b1" is the centered main effect and "b3" is the interaction term:
model constraint: PLOT(interaction) ; Loop(mod, -1,1,0.1) ; interaction=exp(b1)*exp(b3*mod); PLOT: TYPE = PLOT2 ;)
Although the loop plot seems to estimate the correct estimate of the interaction effect the significance levels are not estimated correctly. I guess this is because Mplus estimates them as interaction=exp(b1)*exp(b3*mod)+/-1.96*standard error instead of interaction=exp(b1+/-1.96*standard error)*exp(b3*mod+/-1.96*standard error). Is there a simple way to get Mplus to calculate the correct standard errors?
The standard errors Mplus computes are based on asymptotic theory and generally are good as long as the sample size is sufficient.
To compute the standard error of
Mplus will use the delta method for the expression exp(b1+b3*mod) and so the confidence interval will be
interaction +- 1.96*SE(interaction)
It is a symmetric confidence interval around the point estimate.
Mplus currently doesn't support asymmetric confidence intervals (unless you use bootstrap of Bayes estimators). With the ML all SE are based on asymptotic theory and are symmetric around the point estimate.
An alternative way as you suggest is to construct the confidence interval from the confidence interval of the
Here again the delta method is applied to obtain the SE of the log_interaction and a confidence limit can be constructed
log_interaction +- 1.96*SE(log_interaction)
That confidence limit can then be used to construct a different 95% confidence limit for the interaction term:
Exp(log_interaction-1.96*SE(log_interaction)) to Exp(log_interaction+1.96*SE(log_interaction))
These two methods while different are asymptotically equivalent. Saying that one of the two methods is better than the other in small sample size would imply that one parametrization is more symptomatically normal than another and while in a particular case this may be correct it is certainly not correct in all cases.
I would suggest that you use the log_interaction term in model constraints and exponentiate the limits by hand.
Alternatively use Bayes or bootstrap - the two methods I described above are equivalent even in finite sample size with those two methods.
Just to clarify. The reason why i say the "the significance levels are not estimated correctly" is because i obtain a negative estimate of the lower bound for the estimate, which seems fairly counterintuitive given the fact the function's range is only positive numbers.
I tried out the solution you mention, i.e. exponentiating the limits by hand, which works out quite nicely so i think i will stick with that when presenting the results.
This all sounds correct. The method you suggested (method 2) always avoids negative values. The confidence limits are asymptotic, i.e., if the sample size is larger you would not be getting negative values even with method 1. I would also say that, the fact that you are getting negatives values when using method 1, implies that method 2 is more appropriate for this model / sample size and particular interaction effects you are looking at.