Multinomial logistic regression & int... PreviousNext
Mplus Discussion > Categorical Data Modeling >
Message/Author
 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?
 Bengt O. Muthen posted on Wednesday, October 14, 2009 - 10:17 am
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.
 Bengt O. Muthen posted on Thursday, October 15, 2009 - 10:22 am
This should be possible, but first tell me what the scale type is of the variable you call "one variable which isn't an independent variable".
 M. Bakker posted on Friday, October 16, 2009 - 12:17 am
it is an ordinal (binary) variable, as are all my other independent variables
 Bengt O. Muthen posted on Friday, October 16, 2009 - 8:09 am
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?
 Bengt O. Muthen posted on Sunday, October 18, 2009 - 12:53 pm
Ordered categorical would be the same. Continuous would be different but not easier. The complicating factor is the nominal DV you have.
 Stig Hebbelstrup Rye Rasmussen posted on Monday, November 25, 2013 - 3:37 am
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?
 Tihomir Asparouhov posted on Tuesday, November 26, 2013 - 4:05 pm
Stig

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

interaction=exp(b1+b3*mod)

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

log_interaction=b1+b3*mod

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.
 Stig Hebbelstrup Rye Rasmussen posted on Tuesday, November 26, 2013 - 10:42 pm
Thank you for your very detailed answer! I will try out the suggestion you mention.
 Stig Hebbelstrup Rye Rasmussen posted on Tuesday, November 26, 2013 - 11:13 pm
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.

Thanks again for your help.
 Tihomir Asparouhov posted on Wednesday, November 27, 2013 - 1:27 pm
Stig

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.
Back to top
Add Your Message Here
Post:
Username: Posting Information:
This is a private posting area. Only registered users and moderators may post messages here.
Password:
Options: Enable HTML code in message
Automatically activate URLs in message
Action: