The QLIM Procedure

Example 27.6 Types of Tobit Models

(View the complete code for this example.)

The following five examples show how to estimate different types of Tobit models (see the section Types of Tobit Models). Output 27.6.1 through Output 27.6.5 show the results of the corresponding programs.

Type 1 Tobit

title1 'Estimating a Type 1 Tobit Model';

data a1;
   keep y x;
   do i = 1 to 500;
      x = rannor( 19283 );
      u = rannor( 19283 );
      yl = 1 + 2 * x + u;
      if ( yl > 0 ) then y = yl;
      else                y = 0;
      output;
   end;
run;
/*-- Type 1 Tobit --*/
proc qlim data=a1 method=qn;
   model y = x;
   endogenous y ~ censored(lb=0);
run;

Output 27.6.1: Type 1 Tobit

Estimating a Type 1 Tobit Model

The QLIM Procedure

Model Fit Summary
Number of Endogenous Variables1
Endogenous Variabley
Number of Observations500
Log Likelihood-554.17696
Maximum Absolute Gradient4.65556E-7
Number of Iterations9
Optimization MethodQuasi-Newton
AIC1114
Schwarz Criterion1127

Parameter Estimates
ParameterDFEstimateStandard
Error
t ValueApprox
Pr > |t|
Intercept10.9427340.05678416.60<.0001
x12.0495710.06697930.60<.0001
_Sigma11.0165710.03903526.04<.0001


Type 2 Tobit

title1 'Estimating a Type 2 Tobit Model';

data a2;
   keep y1 y2 x1 x2;
   do i = 1 to 500;
      x1 = rannor( 19283 );
      x2 = rannor( 19283 );
      u1 = rannor( 19283 );
      u2 = rannor( 19283 );
      y1l = 1 + 2 * x1 + 3 * x2 + u1;
      y2l = 3 + 4 * x1 - 2 * x2 + u1*.2 + u2;
      if ( y1l > 0 ) then y1 = 1;
      else                y1 = 0;
      if ( y1l > 0 ) then y2 = y2l;
      else                y2 = 0;
      output;
   end;
run;
/*-- Type 2 Tobit --*/
proc qlim data=a2 method=qn;
   model y1 = x1 x2 / discrete;
   model y2 = x1 x2 / select(y1=1);
run;

Output 27.6.2: Type 2 Tobit

Estimating a Type 2 Tobit Model

The QLIM Procedure

Model Fit Summary
Number of Endogenous Variables2
Endogenous Variabley1 y2
Number of Observations500
Log Likelihood-476.12328
Maximum Absolute Gradient8.67623E-7
Number of Iterations17
Optimization MethodQuasi-Newton
AIC968.24655
Schwarz Criterion1002

Parameter Estimates
ParameterDFEstimateStandard
Error
t ValueApprox
Pr > |t|
y2.Intercept13.0669920.10690328.69<.0001
y2.x114.0048740.07204355.59<.0001
y2.x21-2.0793520.087544-23.75<.0001
_Sigma.y210.9405590.03932123.92<.0001
y1.Intercept11.0171400.1549756.56<.0001
y1.x112.2530800.2560978.80<.0001
y1.x213.3051400.3436959.62<.0001
_Rho10.2929920.2100731.390.1631


Type 3 Tobit

title1 'Estimating a Type 3 Tobit Model';

data a3;
   keep y1 y2 x1 x2;
   do i = 1 to 500;
      x1 = rannor( 19283 );
      x2 = rannor( 19283 );
      u1 = rannor( 19283 );
      u2 = rannor( 19283 );
      y1l = 1 + 2 * x1 + 3 * x2 + u1;
      y2l = 3 + 4 * x1 - 2 * x2 + u1*.2 + u2;
      if ( y1l > 0 ) then y1 = y1l;
      else                y1 = 0;
      if ( y1l > 0 ) then y2 = y2l;
      else                y2 = 0;
      output;
   end;
run;
/*-- Type 3 Tobit --*/
proc qlim data=a3 method=qn;
   model y1 = x1 x2 / censored(lb=0);
   model y2 = x1 x2 / select(y1>0);
run;

Output 27.6.3: Type 3 Tobit

Estimating a Type 3 Tobit Model

The QLIM Procedure

Model Fit Summary
Number of Endogenous Variables2
Endogenous Variabley1 y2
Number of Observations500
Log Likelihood-838.94087
Maximum Absolute Gradient9.70554E-6
Number of Iterations16
Optimization MethodQuasi-Newton
AIC1696
Schwarz Criterion1734

Parameter Estimates
ParameterDFEstimateStandard
Error
t ValueApprox
Pr > |t|
y2.Intercept13.0812060.08012138.46<.0001
y2.x113.9983610.06373462.73<.0001
y2.x21-2.0882800.072876-28.66<.0001
_Sigma.y210.9397990.03904724.07<.0001
y1.Intercept10.9819750.06735114.58<.0001
y1.x112.0326750.05936334.24<.0001
y1.x212.9766090.06558445.39<.0001
_Sigma.y110.9699680.03979524.37<.0001
_Rho10.2262810.0576723.92<.0001


Type 4 Tobit

title1 'Estimating a Type 4 Tobit Model';

data a4;
   keep y1 y2 y3 x1 x2;
   do i = 1 to 500;
      x1 = rannor( 19283 );
      x2 = rannor( 19283 );
      u1 = rannor( 19283 );
      u2 = rannor( 19283 );
      u3 = rannor( 19283 );
      y1l = 1 + 2 * x1 + 3 * x2 + u1;
      y2l = 3 + 4 * x1 - 2 * x2 + u1*.2 + u2;
      y3l = 0 - 1 * x1 + 1 * x2 + u1*.1 - u2*.5 + u3*.5;
      if ( y1l > 0 ) then y1 = y1l;
      else                y1 = 0;
      if ( y1l > 0 ) then y2 = y2l;
      else                y2 = 0;
      if ( y1l <= 0 ) then y3 = y3l;
      else                y3 = 0;
      output;
   end;
run;
/*-- Type 4 Tobit --*/
proc qlim data=a4 method=qn;
   model y1 = x1 x2 / censored(lb=0);
   model y2 = x1 x2 / select(y1>0);
   model y3 = x1 x2 / select(y1<=0);
run;

Output 27.6.4: Type 4 Tobit

Estimating a Type 4 Tobit Model

The QLIM Procedure

Model Fit Summary
Number of Endogenous Variables3
Endogenous Variabley1 y2 y3
Number of Observations500
Log Likelihood-1128
Maximum Absolute Gradient0.0000161
Number of Iterations21
Optimization MethodQuasi-Newton
AIC2285
Schwarz Criterion2344

Parameter Estimates
ParameterDFEstimateStandard
Error
t ValueApprox
Pr > |t|
y2.Intercept12.8946560.07607938.05<.0001
y2.x114.0727040.06267564.98<.0001
y2.x21-1.9011630.076874-24.73<.0001
_Sigma.y210.9816550.03956424.81<.0001
y3.Intercept10.0645940.1794410.360.7189
y3.x11-0.9383840.096570-9.72<.0001
y3.x211.0357980.1231048.41<.0001
_Sigma.y310.7431240.03824019.43<.0001
y1.Intercept10.9873700.06786114.55<.0001
y1.x112.0504080.06081933.71<.0001
y1.x212.9821900.07255241.10<.0001
_Sigma.y111.0324730.04097125.20<.0001
_Rho.y1.y210.2915870.0534365.46<.0001
_Rho.y1.y31-0.0316650.260057-0.120.9031


Type 5 Tobit

title1 'Estimating a Type 5 Tobit Model';

data a5;
   keep y1 y2 y3 x1 x2;
   do i = 1 to 500;
      x1 = rannor( 19283 );
      x2 = rannor( 19283 );
      u1 = rannor( 19283 );
      u2 = rannor( 19283 );
      u3 = rannor( 19283 );
      y1l = 1 + 2 * x1 + 3 * x2 + u1;
      y2l = 3 + 4 * x1 - 2 * x2 + u1*.2 + u2;
      y3l = 0 - 1 * x1 + 1 * x2 + u1*.1 - u2*.5 + u3*.5;
      if ( y1l > 0 ) then y1 = 1;
      else                y1 = 0;
      if ( y1l > 0 ) then y2 = y2l;
      else                y2 = 0;
      if ( y1l <= 0 ) then y3 = y3l;
      else                y3 = 0;
      output;
   end;
run;
/*-- Type 5 Tobit --*/
proc qlim data=a5 method=qn;
   model y1 = x1 x2 / discrete;
   model y2 = x1 x2 / select(y1>0);
   model y3 = x1 x2 / select(y1<=0);
run;

Output 27.6.5: Type 5 Tobit

Estimating a Type 5 Tobit Model

The QLIM Procedure

Model Fit Summary
Number of Endogenous Variables3
Endogenous Variabley1 y2 y3
Number of Observations500
Log Likelihood-734.50612
Maximum Absolute Gradient3.32148E-7
Number of Iterations20
Optimization MethodQuasi-Newton
AIC1495
Schwarz Criterion1550

Parameter Estimates
ParameterDFEstimateStandard
Error
t ValueApprox
Pr > |t|
y2.Intercept12.8875230.09519330.33<.0001
y2.x114.0789260.06962358.59<.0001
y2.x21-1.8988980.086578-21.93<.0001
_Sigma.y210.9830590.03998724.58<.0001
y3.Intercept10.0717640.1715220.420.6757
y3.x11-0.9352990.092843-10.07<.0001
y3.x211.0399540.1206978.62<.0001
_Sigma.y310.7430830.03822519.44<.0001
y1.Intercept11.0675780.1427897.48<.0001
y1.x112.0683760.2260209.15<.0001
y1.x213.1573850.31474310.03<.0001
_Rho.y1.y210.3123690.1770101.760.0776
_Rho.y1.y31-0.0182250.234886-0.080.9382


Last updated: November 05, 2018