Marginal effect PreviousNext
Mplus Discussion > Categorical Data Modeling >
Message/Author
 Sanjoy posted on Monday, October 03, 2005 - 6:36 pm
Dear Professor/s ... using MPlus, can we calculate marginal effect of the explanantory variables, given our endogenous variables are categorical ... precisely, this is our model

r by R1-R3
b By B1 -B3
U on r b X1
r on b X2
b on r X3

U is binary and R and B's are 5 point ordinal, X's share some common element ...
I am particularly looking for the marginal effects of "r and b" on U


thanks and regards
 bmuthen posted on Saturday, October 08, 2005 - 2:18 pm
This would have to be done via numerical integration. We do have a little Excel program that we have sent to some users and that we will probably eventually integrate with the Mplus graphics part.
 Sanjoy posted on Saturday, October 08, 2005 - 5:57 pm
Thank you professor ...is there any way to get that Excel program, or for that matter how the relevant neumerical integration could be done in MPlus

thanks and regards
 bmuthen posted on Sunday, October 09, 2005 - 10:07 am
I just noticed that you have a reciprocal interaction model - let me first check if the Excel program covers that case.
 Sanjoy posted on Sunday, October 09, 2005 - 3:46 pm
OK Professor ... that would be great, if that particular program covers the reciprocal situation

thanks and regards
 Lisa M. Yarnell posted on Tuesday, January 15, 2013 - 4:17 pm
Linda and Bengt,

This relates to my other question on the XWITH command. Can the marginal effects of a latent variable interaction created with XWITH be determined in Mplus? Would you be able to make the Excel sheet (and possibly the graphics part mentioned above) available to me (and others)?

Thank you.
 Lisa M. Yarnell posted on Wednesday, January 16, 2013 - 7:50 am
I suppose what I am looking for is the elasticity.
 Bengt O. Muthen posted on Wednesday, January 16, 2013 - 7:52 am
The effect of a latent variables interaction is expressed as a variance contribution in equation (19) of the FAQ

http://www.statmodel.com/download/LV%20Interaction.pdf

We don't have an Excel program for this.
 Vaiva Gerasimaviciute posted on Thursday, September 21, 2017 - 9:26 pm
Dear Linda and Bengt,

I ran a three wave auto-regressive models in Mplus with reciprocal associations between binary variables. I used WLSMV estimator because of the large sample size and also residual correlations. In addition to probit regression estimates and their significance reviewers are asking me to calculate marginal probabilities. Does your excel sheet cover reciprocal effects? If so, would it be possible to get it from you? If the sheet does not exist, what are my options?

Thank you,
Vaiva
 Bengt O. Muthen posted on Friday, September 22, 2017 - 4:54 pm
The means and variances of the y*'s (the underlying continuous latent response variables behind the binary outcomes) are found in TECH4. The marginal probability of any outcome is then

Phi[(Mean - threshold)/SD],

where Phi is the standard normal distribution function, the mean and SD come from TECH4.
 Vaiva Gerasimaviciute posted on Friday, September 22, 2017 - 8:00 pm
I am sorry for my ignorance, but what I am looking for is how to calculate marginal effects, i.e., the change in probability of the underlying continuous latent variable change as predictor changes from 0 to 1.
F(-t + bx). The difference will be F(-t) as x changes from 0 to 1.

I have two binary outcomes (A and B) in a three wave autoregressive cross-lagged model. Let's say I want to calculate how much the probability of A* at wave two changes as B at wave one changes from 0 to 1. What I am concerned about is that A at wave 2 is regressed not only on B at wave 1 (cross-lagged) , but also on A at wave 1 (autoregressive). I assume I also need to account for autoregressive part? Do I calculated marginal effects based on different scenarios: 1)change in A* at Wave 2 as B at wave 1 changes from 0 to 1 and A at wave one is 0; 2)change in A* at Wave two as B at wave one changes from 0 to 1 and A at wave one is 1?
Thank you,
Vaiva
 Bengt O. Muthen posted on Saturday, September 23, 2017 - 3:58 pm
Two things are unclear to me

When you mention "x", I assume you refer to A or B at a previous time point.

You say "probability of A*". In my language Y* is a continuous latent variable and Y its measured, categorical counterpart. So I wonder if you mean "probability of A" or "change in A*".
 Vaiva Gerasimaviciute posted on Sunday, September 24, 2017 - 6:14 pm
Sorry for using different letters. But I meant change in the probability of the outcome (in my case A) when predictor (in my case B) changes from 0 to 1.
I am assuming that is how I could get closer to explaining the "effect size" . If so, how do I account for other variable in the model (autoregressive part)? Do I include it at it's mean? Can I calculate it manually? Does it make sense at all to make such calculations? Have you seen papers where authors provide marginal effects statistics ?
 Bengt O. Muthen posted on Monday, September 25, 2017 - 5:49 pm
A key issue is the 2 variables at time 2 of your 3 time points which predict the variables at time 3. With WLSMV uses A*, B* as predictors, ML uses A, B, and with Bayes you have a choice. The choice should be based on substantive thinking - is it the act of say B=1 that influences A or is it the value of B*?

I am saying that because the probability statements you are after are more directly and simply answered when A, B are the predictors rather than A*, B*. So if you use ML, you simply have a probit/logit regression with 2 covariates at time 2 and time 3. So your expression would be

F(-tau+b1*A+b2*B)

where you hold A or B fixed at a certain 0/1 value and consider the F change as a function of B or A.

With WLSMV using A*,B* these probabilities are more complex to get at, perhaps involving 3-dimensional normal distribution function expressions (I may be wrong).
 Vaiva Gerasimaviciute posted on Monday, September 25, 2017 - 8:10 pm
This is an example of one of the cross-lagged models I am testing using WLSMV.

All variables are binary, except for age (continuous).

Model:
Anx11 on Age gender Psytr Depr;
Maj11 on instit Age gender PRA;
Anx12 on Anx11 Maj11;
Anx13 on Anx12 Maj12;
Maj12 on Maj11 Anx11;
Maj13 on Maj12 Anx12;
Anx11 with Maj11;! correlations
Anx12 with Maj12;
Anx13 with Maj13;
Anx13 with Anx12;
Anx13 with Anx11;
Anx11 with Anx12;
Maj11 with Maj13;
Maj13 with Maj12;
Maj11 with Maj12;
Analysis:
Estimator=WLSMV;
PARAMETERIZATION=THETA;
savedata: difftest=baseline.dat;

Using wlsmv models run fast and I am able to allow correlations. By knowing sign and significance of probit estimates I am able to see if association exist and the direction of association. I think it is important finding, especially if it is a first study to model bidirectional association, but journals most likely will not accept it.
I have tried ML estimator, but my sample is large (70,000), and it takes few hours just to run one model. Also, with ML I was not able to allow correlations. I did some reading about Bayes, but then I am not sure how to compare nested models.If Bayes is the best option here maybe you could guide me to some reading.
Thank you
 Bengt O. Muthen posted on Tuesday, September 26, 2017 - 8:53 am
Why do you say "journals most likely will not accept it"? Are you referring to WLSMV here?

Here are a couple of things to look at in order to decide how to handle your case.

FAQ on our website:

Estimator choices with categorical outcomes

This suggest using Monte Carlo integration with ML (say using MonteCarlo(5000)). But you are right that residual correlations will be tougher to add, requiring the addition of a factor for each correlation and thereby adding to the dimensions of integration.

You can check how long Bayes takes for your big sample. With Bayes, you can use the same model as for WLSMV, including the residual correlations. Just say in the Analysis command:

Estimator = Bayes;
Processors = 2;
Biterations = (1000);

See for instance the description of Bayes in Mplus shown in Part 4 of the new video and handout for "Topic 11" on our website:

http://www.statmodel.com/course_materials.shtml
 Vaiva Gerasimaviciute posted on Wednesday, September 27, 2017 - 7:56 pm
When I say "journals most likely will not accept it", I think that reviewers will want to see something related to effect sizes, which I cannot provide using WLSMV.

What if I find my final model with WLSMV (because it allows nested model testing), and then run that final model using Bayes to get posterior probabilities?

Thank you for the link to the video. It was a great addition to the readings and felt like being in the actual classroom.

I ran model using
Analysis:
Estimator=Bayes;
Processors=2;
Biterations = (10000);! and 2000
ALGORITHM = GIBBS (RW);

It took three hours to run, but the convergence criterion was not satisfied. THE CONVERGENCE CRITERION IS NOT SATISFIED.
INCREASE THE MAXIMUM NUMBER OF ITERATIONS OR INCREASE
THE CONVERGENCE CRITERION.

Should I increase biterations even more?
 Bengt O. Muthen posted on Thursday, September 28, 2017 - 10:30 am
The WLSMV model - or rather, the latent response variable model (since it can also be done in Bayes) - is a more complex model than models typically used for estimation of binary outcome effect sizes. What you are after can be computed but will (as far as I can see quickly) involve a bivariate normal distribution function calculation which you need special software for.

For the same model, Bayes can be a good alternative because (as far as I can tell quickly) all the ingredients of the effect estimation are produced during the iterations and can be saved to do the needed effect computation outside Mplus.

I think you should try to get Bayes to converge. I don't know why Gibbs(RW) is specified - does Mplus tell you that is needed for this model?

The best way forward is if you send your data, output and license number to Support so we can see what's going on in an efficient way.
 Shelley Brown posted on Monday, October 02, 2017 - 8:03 am
Does MPLUS do Receiver Operator Characteristic Analysis (ROC)? Is it done with logistic regression? Can you point me in the right direction re: getting started?

Also, can ML estimation be using with ROC to address missing data?

thanks
 Bengt O. Muthen posted on Monday, October 02, 2017 - 2:22 pm
Mplus has no automatic function for doing ROCs.
 Anne Black posted on Friday, November 03, 2017 - 6:36 am
Dear Drs. Muthen and Muthen,
I am using probit regression and want to report an effect size for the effect of each predictor on untransformed Y (rather than Z of Y). I believe I need to calculate marginal effects. Does Mplus have this option? Thank you for advising.
 Bengt O. Muthen posted on Friday, November 03, 2017 - 5:19 pm
I assume you mean effects on the probability. This is not automatically provided by Mplus by you can compute it by expressing it using Model Constraint.
 Anne Black posted on Monday, November 13, 2017 - 1:56 pm
Would you please provide an example of the constraint that would be applied for the effect of X on probability of Y? Thank you!
 Bengt O. Muthen posted on Monday, November 13, 2017 - 3:45 pm
It is not a constraint but an expression in the Model Constraint command that uses parameter labels given in the Model command. I don't have an example, but the formulas for the effects are given in books such as Long (1997), Regression Models for Categorical and Limited Dependent Variables.
 Anne Black posted on Tuesday, January 23, 2018 - 6:12 am
Dear Drs. Muthen and Muthen,
I am still having difficulty figuring out how to define the model constraint to derive marginal effects for probit regression coefficients. Would you please provide an example of how this is done?

Thank you.
 Bengt O. Muthen posted on Wednesday, January 24, 2018 - 11:54 am
Scott Long's book gives a good account of this in section 3.7.4. For the probit, the marginal effect is

phi(a + b*x)*b

where phi is the standard normal distribution

phi = exp(-0.5(y-a-b*x)^2))/sqrt(2*pi).

The expression phi(a + b*x)*b can therefore easily be computed in Model Constraint by writing it out as shown here.
 Anne Black posted on Wednesday, January 24, 2018 - 1:22 pm
Many thanks for your help!
 Michael posted on Monday, February 19, 2018 - 12:03 pm
Dear Profs Muthen,

I read the thread and also chapter 3.7.4 in the book by Scott Long.

The formula given by Scott Long is
phi(xb)bk

I was wondering what "a" is in the formula given above. Furthermore, according to Long, the "b" are two different parameters.

Highly appreciated if you could provide further information on what "a" and "b" is in your formula above.

Many thanks,
Michael
 Bengt O. Muthen posted on Monday, February 19, 2018 - 4:33 pm
The "xb" expression in Long's book refers to a vector of x's multiplied by a vector of b slopes (regression coefficients), that is, he writes the regression with multiple x's in matrix algebra terms. His expression includes the intercept term. So with a single x, his xb is the same as my expression a+b*x. The intercept a is the negative of the Mplus threshold and b is the slope. His b_k = b.
 Tor Neilands posted on Saturday, September 12, 2020 - 9:04 am
Hi Bengt,

I have what is probably a basic question about using Model Constraint to obtain a relative risk (RR) based on predicted marginal probabilities from a logistic regression model. I am using the following syntax:

Model:
SUPRESSE ON index (b1)
blvl2002 (b2) ;
[SUPRESSE$1] (b0) ;

Model Constraint:
New eta_Indx0 eta_Indx1 inv_Indx0
inv_Indx1 RR_indx ;
eta_Indx0 = exp(-b0+b1*0+b2*blvl2002);
eta_Indx1 = exp(-b0+b1*1+b2*blvl2002);
inv_Indx0 = eta_Indx0 / (1 + eta_Indx0) ;
inv_Indx1 = eta_Indx1 / (1 + eta_Indx1) ;
RR_indx = inv_Indx1 / inv_Indx0 ;

My goal is to generate the RR for Index level 1 vs. level 0 over values of blvl2002 (in my actual application I have 13 covariates, but am trying to start simple). Model Constraint won't recognize the covariate blvl2002. I tried listing it in the Constraint option of the Variable statement but that didn't work either. Suggestions very much appreciated.

Tor Neilands
 Bengt O. Muthen posted on Sunday, September 13, 2020 - 5:37 pm
The marginal probabilities from a logistic regression are not easily expressed; there is no closed form (not even if the predictor is normal). I think the Mplus output gives them but they are computed based on each person i's conditional probability given x_i and then averaged over persons.
 Tor Neilands posted on Sunday, September 13, 2020 - 7:25 pm
Thank you, Bengt.

Perhaps I used the wrong terminology in my previous post when I referred to marginal probabilities. We are interested in obtaining the adjusted RRs for each predictor in a multivariable logistic regression model like the adjusted RRs produced by the user-written Stata command -adjrr-, which appears to compute the predicted probability for the whole sample of the response, first at level 0 of the outcome and then at level 1, using the -margins- command and then computes the adjusted RR as the ratio of the two predicted probabilities. The approach is described on page 494 (page 3 of the 18-page PDF) of https://journals.sagepub.com/doi/pdf/10.1177/1536867X1301300304, equations 1 and 2 and the preceding paragraph.

I think a key part of the method is that the probabilities are computed with "all other covariates X (including the constant term) equal to their original values." I wanted to confirm whether such adjusted RRs are not easily expressed in Mplus? If not, we could switch to using multiple imputation in Stata (we have been using Mplus for this application to address x-side missingness), but thought I would double check first before giving up on Mplus for this application.

Best wishes and thanks again,

Tor
 Bengt O. Muthen posted on Tuesday, September 15, 2020 - 9:28 am
Not available in Mplus yet but would be a good addition.
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: