This example shows how to estimate a bivariate probit model. Note the INIT statement in the following program, which sets the initial values for some parameters in the optimization:
data a; 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 ( y2l > 0 ) then y2 = 1; else y2 = 0; output; end; run;
/*-- Bivariate Probit --*/ proc qlim data=a method=qn; init y1.x1 2.8, y1.x2 2.1, _rho .1; model y1 = x1 x2; model y2 = x1 x2; endogenous y1 y2 ~ discrete; run;
The output of the QLIM procedure is shown in Output 22.3.1.
Estimating a Tobit model |
Model Fit Summary | |
---|---|
Number of Endogenous Variables | 2 |
Endogenous Variable | y1 y2 |
Number of Observations | 500 |
Log Likelihood | -134.90796 |
Maximum Absolute Gradient | 3.23363E-7 |
Number of Iterations | 17 |
Optimization Method | Quasi-Newton |
AIC | 283.81592 |
Schwarz Criterion | 313.31817 |
Parameter Estimates | |||||
---|---|---|---|---|---|
Parameter | DF | Estimate | Standard Error | t Value | Approx Pr > |t| |
y1.Intercept | 1 | 1.003639 | 0.153678 | 6.53 | <.0001 |
y1.x1 | 1 | 2.244374 | 0.256062 | 8.76 | <.0001 |
y1.x2 | 1 | 3.273441 | 0.341581 | 9.58 | <.0001 |
y2.Intercept | 1 | 3.621164 | 0.457173 | 7.92 | <.0001 |
y2.x1 | 1 | 4.551525 | 0.576547 | 7.89 | <.0001 |
y2.x2 | 1 | -2.442769 | 0.332295 | -7.35 | <.0001 |
_Rho | 1 | 0.144097 | 0.336459 | 0.43 | 0.6685 |