Chapter 17 Limited Dependent Variable - Examples
-------------------------------------------------------------------------------------
name: SN
log: ~Wooldridge\intro-econx\iexample18.smcl
log type: smcl
opened on: 18 Jan 2019, 20:45:49
. **********************************************
. * Solomon Negash - Replicating Examples
. * Wooldridge (2016). Introductory Econometrics: A Modern Approach. 6th ed.
. * STATA Program, version 15.1.
. * CHAPTER 17 Limited Dependent Variable Models and Sample Selection Corrections
. * Computer Exercises (Examples)
. ******************** SETUP *********************
. *Example 17.1. Married Women’s Labor Force Participation
. u mroz, clear
. eststo LPM_OLS: reg inlf nwifeinc educ exper* age kidslt6 kidsge6
Source | SS df MS Number of obs = 753
-------------+---------------------------------- F(7, 745) = 38.22
Model | 48.8080578 7 6.97257969 Prob > F = 0.0000
Residual | 135.919698 745 .182442547 R-squared = 0.2642
-------------+---------------------------------- Adj R-squared = 0.2573
Total | 184.727756 752 .245648611 Root MSE = .42713
------------------------------------------------------------------------------
inlf | Coef. Std. Err. t P>|t| [95% Conf. Interval]
-------------+----------------------------------------------------------------
nwifeinc | -.0034052 .0014485 -2.35 0.019 -.0062488 -.0005616
educ | .0379953 .007376 5.15 0.000 .023515 .0524756
exper | .0394924 .0056727 6.96 0.000 .0283561 .0506287
expersq | -.0005963 .0001848 -3.23 0.001 -.0009591 -.0002335
age | -.0160908 .0024847 -6.48 0.000 -.0209686 -.011213
kidslt6 | -.2618105 .0335058 -7.81 0.000 -.3275875 -.1960335
kidsge6 | .0130122 .013196 0.99 0.324 -.0128935 .0389179
_cons | .5855192 .154178 3.80 0.000 .2828442 .8881943
------------------------------------------------------------------------------
. eststo Logit_MLE: logit inlf nwifeinc educ exper* age kidslt6 kidsge6
Iteration 0: log likelihood = -514.8732
Iteration 1: log likelihood = -402.38502
Iteration 2: log likelihood = -401.76569
Iteration 3: log likelihood = -401.76515
Iteration 4: log likelihood = -401.76515
Logistic regression Number of obs = 753
LR chi2(7) = 226.22
Prob > chi2 = 0.0000
Log likelihood = -401.76515 Pseudo R2 = 0.2197
------------------------------------------------------------------------------
inlf | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
nwifeinc | -.0213452 .0084214 -2.53 0.011 -.0378509 -.0048394
educ | .2211704 .0434396 5.09 0.000 .1360303 .3063105
exper | .2058695 .0320569 6.42 0.000 .1430391 .2686999
expersq | -.0031541 .0010161 -3.10 0.002 -.0051456 -.0011626
age | -.0880244 .014573 -6.04 0.000 -.116587 -.0594618
kidslt6 | -1.443354 .2035849 -7.09 0.000 -1.842373 -1.044335
kidsge6 | .0601122 .0747897 0.80 0.422 -.086473 .2066974
_cons | .4254524 .8603697 0.49 0.621 -1.260841 2.111746
------------------------------------------------------------------------------
. margins, dydx( educ)
Average marginal effects Number of obs = 753
Model VCE : OIM
Expression : Pr(inlf), predict()
dy/dx w.r.t. : educ
------------------------------------------------------------------------------
| Delta-method
| dy/dx Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
educ | .0394965 .0072947 5.41 0.000 .0251992 .0537939
------------------------------------------------------------------------------
. eststo Probit_MLE: probit inlf nwifeinc educ exper* age kidslt6 kidsge6
Iteration 0: log likelihood = -514.8732
Iteration 1: log likelihood = -402.06651
Iteration 2: log likelihood = -401.30273
Iteration 3: log likelihood = -401.30219
Iteration 4: log likelihood = -401.30219
Probit regression Number of obs = 753
LR chi2(7) = 227.14
Prob > chi2 = 0.0000
Log likelihood = -401.30219 Pseudo R2 = 0.2206
------------------------------------------------------------------------------
inlf | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
nwifeinc | -.0120237 .0048398 -2.48 0.013 -.0215096 -.0025378
educ | .1309047 .0252542 5.18 0.000 .0814074 .180402
exper | .1233476 .0187164 6.59 0.000 .0866641 .1600311
expersq | -.0018871 .0006 -3.15 0.002 -.003063 -.0007111
age | -.0528527 .0084772 -6.23 0.000 -.0694678 -.0362376
kidslt6 | -.8683285 .1185223 -7.33 0.000 -1.100628 -.636029
kidsge6 | .036005 .0434768 0.83 0.408 -.049208 .1212179
_cons | .2700768 .508593 0.53 0.595 -.7267473 1.266901
------------------------------------------------------------------------------
. margins, dydx( educ)
Average marginal effects Number of obs = 753
Model VCE : OIM
Expression : Pr(inlf), predict()
dy/dx w.r.t. : educ
------------------------------------------------------------------------------
| Delta-method
| dy/dx Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
educ | .0393703 .0072216 5.45 0.000 .0252161 .0535244
------------------------------------------------------------------------------
. estout, cells(b(nostar fmt(4)) se(par fmt(4))) stats(N, fmt(%9.0g) labels(Observatiions ///
varlabels(_cons constant) varwidth(10) ti("Table 17.1 LPM, Logit, and Probit ///
Estimates of Labor Force Participation: (inlf)")
Table 17.1 LPM, Logit, and Probit Estimates of Labor Force Participation: (inlf)
-------------------------------------------------
LPM_OLS Logit_MLE Probit_MLE
b/se b/se b/se
-------------------------------------------------
main
nwifeinc -0.0034 -0.0213 -0.0120
(0.0014) (0.0084) (0.0048)
educ 0.0380 0.2212 0.1309
(0.0074) (0.0434) (0.0253)
exper 0.0395 0.2059 0.1233
(0.0057) (0.0321) (0.0187)
expersq -0.0006 -0.0032 -0.0019
(0.0002) (0.0010) (0.0006)
age -0.0161 -0.0880 -0.0529
(0.0025) (0.0146) (0.0085)
kidslt6 -0.2618 -1.4434 -0.8683
(0.0335) (0.2036) (0.1185)
kidsge6 0.0130 0.0601 0.0360
(0.0132) (0.0748) (0.0435)
constant 0.5855 0.4255 0.2701
(0.1542) (0.8604) (0.5086)
-------------------------------------------------
Observat~s 753 753 753
-------------------------------------------------
. est clear
. eststo LPM: qui reg inlf nwifeinc educ exper* age kidslt6 kidsge6
. qui logit inlf nwifeinc educ exper* age kidslt6 kidsge6
. eststo Logit: qui margins, dydx( nwifeinc educ exper* age kidslt6 kidsge6) post
. qui probit inlf nwifeinc educ exper* age kidslt6 kidsge6
. eststo Probit: qui margins, dydx( nwifeinc educ exper* age kidslt6 kidsge6) post
. estout, cells(b(nostar fmt(4)) se(par fmt(4))) drop(_cons expersq) varwidth(10) ///
ti("Table 17.2 Average Partial Effects for the Labor Force Participation Models: (inlf)")
Table 17.2 Average Partial Effects for the Labor Force Participation Models: (inlf)
-------------------------------------------------
LPM Logit Probit
b/se b/se b/se
-------------------------------------------------
nwifeinc -0.0034 -0.0038 -0.0036
(0.0014) (0.0015) (0.0014)
educ 0.0380 0.0395 0.0394
(0.0074) (0.0073) (0.0072)
exper 0.0395 0.0368 0.0371
(0.0057) (0.0052) (0.0052)
age -0.0161 -0.0157 -0.0159
(0.0025) (0.0024) (0.0024)
kidslt6 -0.2618 -0.2578 -0.2612
(0.0335) (0.0319) (0.0319)
kidsge6 0.0130 0.0107 0.0108
(0.0132) (0.0133) (0.0131)
-------------------------------------------------
. est clear
. *Example 17.2. Married Women’s Annual Labor Supply
. u mroz, clear
. eststo Linear_OLS: reg hours nwifeinc educ exper* age kidslt6 kidsge6
Source | SS df MS Number of obs = 753
-------------+---------------------------------- F(7, 745) = 38.50
Model | 151647606 7 21663943.7 Prob > F = 0.0000
Residual | 419262118 745 562767.944 R-squared = 0.2656
-------------+---------------------------------- Adj R-squared = 0.2587
Total | 570909724 752 759188.463 Root MSE = 750.18
------------------------------------------------------------------------------
hours | Coef. Std. Err. t P>|t| [95% Conf. Interval]
-------------+----------------------------------------------------------------
nwifeinc | -3.446636 2.544 -1.35 0.176 -8.440898 1.547626
educ | 28.76112 12.95459 2.22 0.027 3.329283 54.19297
exper | 65.67251 9.962983 6.59 0.000 46.11365 85.23138
expersq | -.7004939 .3245501 -2.16 0.031 -1.337635 -.0633524
age | -30.51163 4.363868 -6.99 0.000 -39.07858 -21.94469
kidslt6 | -442.0899 58.8466 -7.51 0.000 -557.6148 -326.565
kidsge6 | -32.77923 23.17622 -1.41 0.158 -78.2777 12.71924
_cons | 1330.482 270.7846 4.91 0.000 798.8906 1862.074
------------------------------------------------------------------------------
. eststo Linear: qui margins, dydx( nwifeinc educ exper* age kidslt6 kidsge6) post
. eststo Tobit_MLE: tobit hours nwifeinc educ exper* age kidslt6 kidsge6, ll(0)
Refining starting values:
Grid node 0: log likelihood = -3961.1577
Fitting full model:
Iteration 0: log likelihood = -3961.1577
Iteration 1: log likelihood = -3836.8928
Iteration 2: log likelihood = -3819.2637
Iteration 3: log likelihood = -3819.0948
Iteration 4: log likelihood = -3819.0946
Tobit regression Number of obs = 753
Uncensored = 428
Limits: lower = 0 Left-censored = 325
upper = +inf Right-censored = 0
LR chi2(7) = 271.59
Prob > chi2 = 0.0000
Log likelihood = -3819.0946 Pseudo R2 = 0.0343
------------------------------------------------------------------------------
hours | Coef. Std. Err. t P>|t| [95% Conf. Interval]
-------------+----------------------------------------------------------------
nwifeinc | -8.814226 4.459089 -1.98 0.048 -17.56808 -.0603706
educ | 80.64541 21.58318 3.74 0.000 38.27441 123.0164
exper | 131.564 17.27935 7.61 0.000 97.64211 165.486
expersq | -1.864153 .5376606 -3.47 0.001 -2.919661 -.8086455
age | -54.40491 7.418483 -7.33 0.000 -68.9685 -39.84133
kidslt6 | -894.0202 111.8777 -7.99 0.000 -1113.653 -674.3875
kidsge6 | -16.21805 38.6413 -0.42 0.675 -92.07668 59.64057
_cons | 965.3068 446.4351 2.16 0.031 88.88827 1841.725
-------------+----------------------------------------------------------------
var(e.hours)| 1258927 93304.48 1088458 1456093
------------------------------------------------------------------------------
. eststo Tobit: qui margins, dydx( nwifeinc educ exper* age kidslt6 kidsge6) post pre
> d(ystar(0,.))
. estout Linear_OLS Tobit_MLE, cells(b(nostar fmt(4)) se(par fmt(4))) stats(N, fmt(%9.0g) ///
labels(Observations)) varlabels(_cons constant) varwidth(10) ti("Table 17.3 OLS ///
and Tobit Estimation of Annual Hours Worked: (hours)")
Table 17.3 OLS and Tobit Estimation of Annual Hours Worked: (hours)
------------------------------------
Linear_OLS Tobit_MLE
b/se b/se
------------------------------------
main
nwifeinc -3.4466 -8.8142
(2.5440) (4.4591)
educ 28.7611 80.6454
(12.9546) (21.5832)
exper 65.6725 131.5640
(9.9630) (17.2793)
expersq -0.7005 -1.8642
(0.3246) (0.5377)
age -30.5116 -54.4049
(4.3639) (7.4185)
kidslt6 -442.0899 -894.0202
(58.8466) (111.8777)
kidsge6 -32.7792 -16.2181
(23.1762) (38.6413)
constant 1330.4824 965.3068
(270.7846) (446.4351)
------------------------------------
Observat~s 753 753
------------------------------------
. estout Linear Tobit, cells(b(nostar fmt(4)) se(par fmt(4))) varwidth(10) ti("Table ///
17.4 Average Partial Effects for the Hours Worked Models: (hours)")
Table 17.4 Average Partial Effects for the Hours Worked Models: (hours)
------------------------------------
Linear Tobit
b/se b/se
------------------------------------
nwifeinc -3.4466 -5.1886
(2.5440) (2.6214)
educ 28.7611 47.4731
(12.9546) (12.6214)
exper 65.6725 77.4470
(9.9630) (9.9976)
expersq -0.7005 -1.0974
(0.3246) (0.3156)
age -30.5116 -32.0262
(4.3639) (4.2921)
kidslt6 -442.0899 -526.2776
(58.8466) (64.7062)
kidsge6 -32.7792 -9.5470
(23.1762) (22.7522)
------------------------------------
. est clear
. *Example 17.3. Poisson Regression for Number of Arrests
. u crime1, clear
. eststo Linear: qui reg narr86 pcnv avgsen tottime ptime86 qemp86 inc86 black hispan
> born60
. eststo Poisson: qui poisson narr86 pcnv avgsen tottime ptime86 qemp86 inc86 black h
> ispan born60
. estout, cells(b(nostar fmt(4)) se(par fmt(4))) stats(r2 rmse ll, fmt(%9.0g %9.0g %9.0g) ///
labels(R-Squared rmse Log-Likelihood)) varlabels(_cons constant) varwidth(10) ///
ti("Table 17.5 Determinants of Number of Arrests for Young Men: (narr86)")
Table 17.5 Determinants of Number of Arrests for Young Men: (narr86)
------------------------------------
Linear Poisson
b/se b/se
------------------------------------
main
pcnv -0.1319 -0.4016
(0.0404) (0.0850)
avgsen -0.0113 -0.0238
(0.0122) (0.0199)
tottime 0.0121 0.0245
(0.0094) (0.0148)
ptime86 -0.0409 -0.0986
(0.0088) (0.0207)
qemp86 -0.0513 -0.0380
(0.0145) (0.0290)
inc86 -0.0015 -0.0081
(0.0003) (0.0010)
black 0.3270 0.6608
(0.0454) (0.0738)
hispan 0.1938 0.4998
(0.0397) (0.0739)
born60 -0.0225 -0.0510
(0.0333) (0.0641)
constant 0.5766 -0.5996
(0.0379) (0.0673)
------------------------------------
R-Squared .0724764
rmse .8287301
Log-Like~d -3349.678 -2248.761
------------------------------------
. est clear
. *Example 17.4. Duration of Recidivism
. u recid, clear
. cnreg ldurat workprg priors tserved felon alcohol drugs black married educ age, ce
> nsor(cens)
Censored-normal regression Number of obs = 1,445
LR chi2(10) = 166.74
Prob > chi2 = 0.0000
Log likelihood = -1597.059 Pseudo R2 = 0.0496
------------------------------------------------------------------------------
ldurat | Coef. Std. Err. t P>|t| [95% Conf. Interval]
-------------+----------------------------------------------------------------
workprg | -.0625715 .1200369 -0.52 0.602 -.2980382 .1728951
priors | -.1372529 .0214587 -6.40 0.000 -.1793466 -.0951592
tserved | -.0193305 .0029779 -6.49 0.000 -.0251721 -.013489
felon | .4439947 .1450865 3.06 0.002 .1593903 .7285991
alcohol | -.6349092 .1442166 -4.40 0.000 -.9178072 -.3520113
drugs | -.2981602 .1327355 -2.25 0.025 -.5585367 -.0377837
black | -.5427179 .1174428 -4.62 0.000 -.7730958 -.31234
married | .3406837 .1398431 2.44 0.015 .066365 .6150024
educ | .0229196 .0253974 0.90 0.367 -.0269004 .0727395
age | .0039103 .0006062 6.45 0.000 .0027211 .0050994
_cons | 4.099386 .347535 11.80 0.000 3.417655 4.781117
-------------+----------------------------------------------------------------
/sigma | 1.81047 .0623022 1.688257 1.932683
------------------------------------------------------------------------------
0 left-censored observations
552 uncensored observations
893 right-censored observations
. *Example 17.5. Wage Offer Equation for Married Women
. u mroz, clear
. eststo OLS: reg lwage educ exper*
Source | SS df MS Number of obs = 428
-------------+---------------------------------- F(3, 424) = 26.29
Model | 35.0222967 3 11.6740989 Prob > F = 0.0000
Residual | 188.305144 424 .444115906 R-squared = 0.1568
-------------+---------------------------------- Adj R-squared = 0.1509
Total | 223.327441 427 .523015084 Root MSE = .66642
------------------------------------------------------------------------------
lwage | Coef. Std. Err. t P>|t| [95% Conf. Interval]
-------------+----------------------------------------------------------------
educ | .1074896 .0141465 7.60 0.000 .0796837 .1352956
exper | .0415665 .0131752 3.15 0.002 .0156697 .0674633
expersq | -.0008112 .0003932 -2.06 0.040 -.0015841 -.0000382
_cons | -.5220406 .1986321 -2.63 0.009 -.9124667 -.1316144
------------------------------------------------------------------------------
. eststo Heckit: heckman lwage educ exper*, twostep select(inlf = educ exper* nwifein
> c age kidslt6 kidsge6)
Heckman selection model -- two-step estimates Number of obs = 753
(regression model with sample selection) Selected = 428
Nonselected = 325
Wald chi2(3) = 51.53
Prob > chi2 = 0.0000
------------------------------------------------------------------------------
| Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
lwage |
educ | .1090655 .015523 7.03 0.000 .0786411 .13949
exper | .0438873 .0162611 2.70 0.007 .0120163 .0757584
expersq | -.0008591 .0004389 -1.96 0.050 -.0017194 1.15e-06
_cons | -.5781032 .3050062 -1.90 0.058 -1.175904 .019698
-------------+----------------------------------------------------------------
inlf |
educ | .1309047 .0252542 5.18 0.000 .0814074 .180402
exper | .1233476 .0187164 6.59 0.000 .0866641 .1600311
expersq | -.0018871 .0006 -3.15 0.002 -.003063 -.0007111
nwifeinc | -.0120237 .0048398 -2.48 0.013 -.0215096 -.0025378
age | -.0528527 .0084772 -6.23 0.000 -.0694678 -.0362376
kidslt6 | -.8683285 .1185223 -7.33 0.000 -1.100628 -.636029
kidsge6 | .036005 .0434768 0.83 0.408 -.049208 .1212179
_cons | .2700768 .508593 0.53 0.595 -.7267473 1.266901
-------------+----------------------------------------------------------------
/mills |
lambda | .0322619 .1336246 0.24 0.809 -.2296376 .2941613
-------------+----------------------------------------------------------------
rho | 0.04861
sigma | .66362875
------------------------------------------------------------------------------
. estout, cells(b(nostar fmt(4)) se(par fmt(4))) varlabels(_cons constant) varwidth(
> 10) ti("Table 17.7 Wage Offer Equation for Married Women: (lwage)")
Table 17.7 Wage Offer Equation for Married Women: (lwage)
------------------------------------
OLS Heckit
b/se b/se
------------------------------------
main
educ 0.1075 0.1091
(0.0141) (0.0155)
exper 0.0416 0.0439
(0.0132) (0.0163)
expersq -0.0008 -0.0009
(0.0004) (0.0004)
constant -0.5220 -0.5781
(0.1986) (0.3050)
------------------------------------
inlf
educ 0.1309
(0.0253)
exper 0.1233
(0.0187)
expersq -0.0019
(0.0006)
nwifeinc -0.0120
(0.0048)
age -0.0529
(0.0085)
kidslt6 -0.8683
(0.1185)
kidsge6 0.0360
(0.0435)
constant 0.2701
(0.5086)
------------------------------------
. est clear
. log close
name: SN
log: ~Wooldridge\intro-econx\iexample16.smcl
log type: smcl
closed on: 18 Jan 2019, 20:45:51
-------------------------------------------------------------------------------------