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.
Jin Qu posted on Saturday, August 13, 2016 - 5:47 pm
I am using A,B and AxB(interaction term) to predict nominal variables Y (1,2,3,4), I obtained model results that the p-value for AxB to predict class 1 vs. class 4 is not significant. Also, the 95% confidence interval includes 0.
However, when I look at the loop plots, when A (the moderator) is 1.4 SD or more smaller than the mean, or 0.4 SD or more larger than the mean, the adjusted effect of B on Y seems to be significant, because in these two regions, the 95% confidence interval does not include 0. Should I consider this interaction significant despite the significance test in the model result suggests otherwise?
I am not sure if I got the answer to my question from above so I am going to illustrate my case:
I want to analyze a moderation model only with observed variables. My independent as well as the dependent variables are categorical. They are not binary. I want to look at several moderating effects, these variables have different scales.: one is binary, one is categorical and one interval.
Am I right using the multinominal logistic regression? And how is it possible to take the moderation into account?
Okay, thank you. Am I right that I can find the syntax for this model in the Mplus User Guide in Example 7.15?
Is it possible to use this model in a hierarchical data set? I have dependent data, using multilevel terms my IV and DV are Level 1 variables and the moderator is a Level 2 variable. Will this work out with the model you suggested? Thanks again.
The multilevel angle makes it not loglinear modeling because on level 2 the IV and DV are continuous latent variables (the random intercepts).
Perhaps the easiest approach is to use Type=Complex where you could do the (single-level) modeling by splitting the IV as well as the moderator into a set of binary dummy variables and their interactions that influence the nominal DV using multinomial logistic regression.
If the DV is ordinal, I would use formulas for Y*, the continuous latent response variable. That is, the regular formulas for an observed continuous outcome but applied to Y*. You get that in the Model Indirect output.
By adding the "nominal is.." command the analysis is not working. Error says "a nominal variable may not appear on the right-hand side of an ON statement". How can I fix that when I have nominal (dummy coded) dependent variables?
Second question I have is, when I am using a nominal Moderator instead of a continuous Moderator (as in the Code above), did I got you right, that I should split all these variables (X, M and Y) into a set of dummy coded variables to include them simultaneous into the model?
You have to ask yourself what you want to meaning of these relationships to be. For instance, if X is nominal, the statement
Y ON X (b1);
does not make sense because the relationship is not summarized in a single b1 parameter even if Y is continuous (your Y is not). With a nominal predictor X with C categories, you typically break it up into C-1 binary 0/1 variables. With Y nominal, the multinomial regression has several coefficients. You need to study such regression to understand that analysis. Our RMA book covers it.