turn on suggestions

Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.

Showing results for

Find a Community

- Home
- /
- Analytics
- /
- Stat Procs
- /
- How to calculate standard errors of marginal effec...

Topic Options

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

09-23-2015 07:50 PM

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.

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

Posted in reply to burtsm

09-24-2015 11:07 AM - edited 09-24-2015 11:24 AM

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;

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

Posted in reply to StatDave_sas

03-07-2017 10:26 AM

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.