BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
SJONES_SASUSER
Calcite | Level 5

I am trying to determine if there is possibility unmeasured bias in my model.  I have a continuous dep variable and binary ind variable which is TREATED (0/1).  I want to determine if I have unmeasured bias.  I don't have proc qlim so I need to create an inverse Mills ratio and run it through a GLM.

I first create a PROBIT model and output the estimated probabilities (prob) of being treated.

Next, I calculate the Inverse Mills Ratio:

IMR =  pdf('NORMAL', prob ) / cdf('NORMAL', prob ); /*inverse mills ratio*/

Then run my GLM:

proc glm data = weighted_PS;

  class RHS;

  model LHS  = RHS IMR/ ss3 solution;

  weight weights;

run;

Is this correct?

1 ACCEPTED SOLUTION

Accepted Solutions
ets_kps
SAS Employee

You are correct that PROC QLIM is the most efficient, accurate and simplest way to accomplish Heckman's 2-step estimator.

You will need to correct your standard errors in your second stage.  See the QLIM documentation. SAS/ETS(R) 13.2 User's Guide

You might just want to use PROC REG with some HCCME= options to correct your standard errors. SAS/STAT(R) 9.2 User's Guide, Second Edition

But you are close as is. 

View solution in original post

1 REPLY 1
ets_kps
SAS Employee

You are correct that PROC QLIM is the most efficient, accurate and simplest way to accomplish Heckman's 2-step estimator.

You will need to correct your standard errors in your second stage.  See the QLIM documentation. SAS/ETS(R) 13.2 User's Guide

You might just want to use PROC REG with some HCCME= options to correct your standard errors. SAS/STAT(R) 9.2 User's Guide, Second Edition

But you are close as is.