BookmarkSubscribeRSS Feed
burtsm
Calcite | Level 5

I am running a probit regression and want to report marginal effects and the standard errors of the marginal effects. Here is my code for the regression and marginal effects:

 

proc qlim data=sa.Ipumsi_sa_reg;
    model CHDIED=SADC ROA AGE / DISCRETE(d=probit);
    where OSEAS=0 and 20 le AGE le 35;
    weight WTPER;
    output out=outme marginal;
run;
quit;

proc means data=outme n mean;
      var Meff_P2_SADC Meff_P2_ROA Meff_P2_AGE;
      title 'Average of the Individual Marginal Effects';
   run;
   quit;

 

How can I calculate the standard errors of the marginal effects?

 

Thank you.

3 REPLIES 3
StatDave
SAS Super FREQ

You can get the estimated marginal effects and their standard errors by fitting the model in PROC NLMIXED and using the PREDICT statement as shown in this note on marginal effects.  For example, these statements use QLIM and NLMIXED to fit the same probit model to the cancer remission data shown in the first example in the LOGISTIC documentation.  The OUTNL output data set from PROC NLMIXED contains the estimated marginal effects (Pred) and the standard errors (StdErrPred).

 

proc qlim data=remiss;
model remiss=blast smear / discrete;
output out=outqlim marginal;
run;


proc nlmixed data=remiss;
lp=int+bblast*blast+bsmear*smear;
p=probnorm(lp);
model remiss ~ binary(p);
predict pdf('NORMAL',lp)*bblast out=outnl;
run;

SlutskyFan
Obsidian | Level 7

This example seems to give SE and CI for each value at which a ME is calculated. If we are interested in average marginal effects, other examples use PROC MEANS in combination with PROC QLIM to average all of the MEs to get the desired result. (https://support.sas.com/rnd/app/ets/examples/margeff/index.html) Would we get the correct standard errors and confidence intervals simiply using proc means as such:

 

PROC MEANS DATA=OUTNL MEAN STDERR CLM;

VAR PRED;

RUN;

 

Or is there another way to leverage NLMIXED in a such a way to produce average marginal effects and their standard errors? I'm thinking to get standard errors for marginal effects calculated  this way some sort of loop/bootstrap approach might be necessary?

 

I know this is an old discussion but looking for a solution today and I ran across this string.

 

Thanks.

StatDave
SAS Super FREQ

The average marginal effect and its standard error can be computed with the Margins macro. The standard error if determined using the delta method. 

sas-innovate-2024.png

Don't miss out on SAS Innovate - Register now for the FREE Livestream!

Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.

 

Register now!

What is ANOVA?

ANOVA, or Analysis Of Variance, is used to compare the averages or means of two or more populations to better understand how they differ. Watch this tutorial for more.

Find more tutorials on the SAS Users YouTube channel.

Discussion stats
  • 3 replies
  • 3428 views
  • 1 like
  • 3 in conversation