mbitobit -- Bivariate Tobit regression

Syntax

Bivariate Tobit regression

biprobit
equation1 equation2
[if] [in]
[weight]
[, options]

where equation1 and equation2 are specified as

( [eqname: ] depvar = [indepvars] )

Model
constraints(constraints) apply specified linear constraints

lns1(varlist) Allows to add explanatory variables for the Standard error of equation #1
Standard errors estimated using the transformation sd1=exp(lns1)

lns2(varlist) Allows to add explanatory variables for the Standard error of equation #2
Standard errors estimated using the transformation sd1=exp(lns1)

arho(varlist) Allows to add explanatory variables for the correlation
Rho estimated using the transformation rho=tanh(a)

SE/Robust
robust, cluster(clustvar) Defines type of Standard Errors

Maximization
maximize_options control the maximization process.
maximize_options: difficult,
technique(maximize##algorithm_spec:algorithm_spec),
iterate(#), trace, and init(init_specs).
These options are seldom used.

Weights are not allowed with the bootstrap prefix.

pweights, fweights, and iweights are allowed; see
weight.

Description

mbitobit fits a maximum-likelihood two-equation tobit models.

The command estimates a model of the following form:

h1=max(h1*,0)+e1_i

h2=max(h2*,0)+e2_i

where (e1_i,e2_i)~N(0,S), where S is the var-cov matrix with variance sd1^2 and sd2^2 and correlaton rho.

h1 and h2 are left censored variables at 0.

While there are other commands that allow users to estimate Bivariate tobits like
bitobit, mvtobit and cmp, the advantage of this command is that it
allows users to easily obtain predicted values and margins on the most common
moments of interest, using Stata's margins and predict.
See the next section for details.

PostEstimation

The following options are available when using predict and margins

equation(eqno[,eqno]) specify equation from which to calculate Linear prediction

xb1 xb2 Calculate Linear predictions for Eq1 and Eq2

rho Calculate the correlation between latent variables

sd1 sd2 Calculate residual standard errors for eq1 and eq2

pr1 pr2 Calculate Marginal probability for eq1 and eq2 P(y_i>0)

yc1 yc2 Calculate Expected value conditional on success E(y_i|y_i>0)

ys1 ys2 Calculate Expected unconditional value E(y_i|y_i>0)*P(y_i>0)

tt Calculate total expected value: ys1+ys2

uhs1 uhs2 Calculate the expected share defined as 100*ys1/(ys1+ys2)

yc1_1 yc2_1 Calculate expected value conditional on success and second equation success E(y_1|y_1>0,y_2> 0) & E(y_2|y_1> 0,y_2>0)

yc1_0 yc2_0 Calculate expected value conditional on success and second equation failure E(y_1|y_1>0,y_2<=0) & E(y_2|y_1<=0,y_2>0)

pr1_1 pr2_1 Calculate Probability of success conditional on second equation success P(y_1>0|y_2> 0) & P(y_2>0|y_1> 0)

pr1_0 pr2_0 Calculate Probability of success conditional on second equation feilure P(y_1>0|y_2<=0) & P(y_2>0|y_1<=0)

p00 Pr(y_1<=0, y_2<=0)

p10 Pr(y_1> 0, y_2<=0)

p01 Pr(y_1<=0, y_2> 0)

p11 Pr(y_1> 0, y_2> 0)

sim This options allows to simulate data based on the estimated model. It can only be used with predict.
It will create 2 variables with conditional means equal to xb1 & xb2, conditional variances equal to sd1 & sd2, and correlation rho.
For example, using the command predict new, sim will create two variables new_eq1 new_eq2

Examples

Setup: Requires you to install or download data_sample.dta

use data_sample

Bivariate Tobit regression: No controls

mbitobit (h_ttime =) (w_ttime=)

Bivariate Tobit regression: Controlling for age, #children and Urban-Rural

global indepvar h_age w_age nchild05 nchild617_f nchild617_m i.urban

mbitobit (h_ttime = $indepvar) (w_ttime = $indepvar), allbase

Replaying last results

mbitobit

Estimating marginal effects

margins, dydx(nchild05 nchild617_f nchild617_m) predict(ys1)

margins, dydx(nchild05 nchild617_f nchild617_m) predict(ys2)

Predicting expected values ys1 and ys2

predict h1_s, ys1

predict h2_s, ys2

Allowing for differences in Standard errors and correlations across Urban-Rural areas

mbitobit (h_ttime = $indepvar) (w_ttime = $indepvar), lns1(i.urban) lns2(i.urban) arho(i.urban) allbase

Allowing for differences in Standard errors: All variables

mbitobit (h_ttime = $indepvar) (w_ttime = $indepvar), lns1($indepvar) lns2($indepvar) arho($indepvar) allbase

Simulating data based on last model estimated

predict s, sim

Bivariate Tobit regression: Controlling for age, #children and Urban-Rural on simulated data

mbitobit (s_h_ttime = $indepvar) (s_w_ttime = $indepvar), allbase

Acknowledgments

This command was written as part of a project for the Levy Economic Institute,
aiming to analyze the allocation of time, between husband and wife,
on household production in selected African countries.

I thank the comments and suggestions of Luiza Nassif Pires and Thomas Masterson.

Program is estimated using Stata's ml, and has been tested to work under Stata 13.

Author

Fernando Rios-Avila

Levy Economics Institute of Bard College

Annandale-on-Hudson, NY

friosavi@levy.org