
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 29.3.1.
Output 29.3.1: Bivariate Probit Analysis Results
| 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 |