# st: Re: Combining Heckman and Tobit Models

 From "Martin Weiss" To Subject st: Re: Combining Heckman and Tobit Models Date Tue, 21 Apr 2009 23:57:30 +0200

```<>

"But when I insert the inverse mills ratio into a regular OLS model to
compare results to a regular Heckman model, I get very different results
across the 2 models."

My results are identical...

*****
webuse womenwk, clear

qui{
```
heckman wage educ age, select(married children educ age) mills(mymills) two first
```estimates store heck
reg wage educ age mymills
}
estimates table heck ., drop(select:) equations(1) style(oneline)
*****

HTH
Martin
_______________________
```
----- Original Message ----- From: "Liam C Downey" <Liam.Downey@colorado.edu>
```To: <statalist@hsphsun2.harvard.edu>
Sent: Tuesday, April 21, 2009 8:21 PM
Subject: st: Combining Heckman and Tobit Models

```
```I would like to run a Tobit model using the the Heckman correction. I
believe there are 2 options available to me. One is to do it using the
commands available in the cmp.ado file. However, I run into 2 problems
here. The first is that it takes a very long time to run a Tobit model
using the following cmp command syntax:

```
. cmp (fem_inc = kids male_educ), ind("cond(fem_inc, \$cmp_cont, \$cmp_left)")
```qui

```
So one thing I am wondering is if there is a better way to run a tobit model
```using cmp.

```
The other option, I believe, is to calculate the inverse mills ratio for the
```selection equation and then manually insert the ratio into a Tobit model.
But when I insert the inverse mills ratio into a regular OLS model to
compare results to a regular Heckman model, I get very different results
across the 2 models. However, the mills-inserted OLS results are very
similar to the results I get when I run a Heckman model using the cmp
commands (commands for the various models are listed below). So I am
wondering if anyone knows why the cmp and manually inserted mills ratio
results are similar to each other but different from the regular Heckman
results. Am I using the wrong equations to calculate the inverse mills
ratio? Is it due to differences in estimation procedures across the
different modeling contexts? Some other reason?

Liam

REGULAR HECKMAN MODEL
heckman onsrel_td onsrel_to nhblackr educo adjfinco countyear,
select(movetrct = onsrel_to nhblackr educo adjfinco age agesq female
couple_o tkidso ownero pperrmo samehs3o countyear ) cluster (id)

MANUALLY INSERTING INVERSE MILLS INTO OLS MODEL

```
I first run a probit model, then calculate the inverse mills, then insert it
```into an OLS equation.

```
probit movetrct onsrel_to nhblackr educo adjfinco age agesq female couple_o
```tkidso ownero pperrmo samehs3o countyear, cluster (id)

predict p1, xb
generate phi = (1/sqrt(2*_pi))*exp(-(p1^2/2))
generate capphi = normal(p1)
gen mills1 = phi/capphi

generate cap = normalden(p1)
gen mills2 = cap/capphi

regress onsrel_td onsrel_to nhblackr educo adjfinco countyear mills1,
cluster(id)

or

regress onsrel_td onsrel_to nhblackr educo adjfinco countyear mills2,
cluster(id)

CMP COMMANDS
. cmp setup

```
. cmp (onsrel_td = onsrel_to nhblackr educo adjfinco countyear) (movetrct =
```onsrel_to nhblackr educo adjfinco age agesq female
couple_o tkidso ownero pperrmo samehs3o countyear), ind(\$cmp_cont
\$cmp_probit) nolr qui cluster(id)

*
*   For searches and help try:
*   http://www.stata.com/help.cgi?search
*   http://www.stata.com/support/statalist/faq
*   http://www.ats.ucla.edu/stat/stata/

```
```
*
*   For searches and help try:
*   http://www.stata.com/help.cgi?search
*   http://www.stata.com/support/statalist/faq
*   http://www.ats.ucla.edu/stat/stata/
```