From: Guibo Xing on
Hi all,

I have a problem with Proc QLIM (ETS) while doing bivariate probit
estimation with some interactions. The estimation results were not as I
expected!
The following are the test codes I used:


data a;
do i = 1 to 500;
x1 = rannor( 19283 );
x2 = rannor( 98721 );
x3 = rannor( 85959 );
x4 = rannor(24536 );
u1 = rannor( 76527 );
u2 = rannor( 65721 );
x5=x3*x3;
if ( x2 >0.1 ) then x6 = 1;
else x6 = 0;
y1l = 1 + 2 * x1 -0.5*x3+2*x5-x3*x6+3*x5*x6 + 2*x4+u1;
if ( y1l > 0 ) then y1 = 1;
else y1 = 0;
y2l = 3 - 2 * x2 +0.5*y1+u2;
if ( y2l > 0 ) then y2 = 1;
else y2 = 0;
output;
end;
run;

proc qlim data=a method=qn;
class y1 y2 x6;
model y1 = x1 x3 x4 x5 x3*x6 x5*x6 ;
model y2 = x2 y1 ;
endogenous y1 y2 ~ discrete;
output out=jk2 proball PREDICTED;
run;

The relults i got are:


Parameter Estimates

Standard Approx
Parameter Estimate Error t Value Pr > |t|

y1.Intercept 1.010668 0.190081 5.32 <.0001
y1.x1 2.323127 0.299092 7.77 <.0001
y1.x3 -0.388802 0.254169 -1.53 0.1261
y1.x4 2.123482 0.275461 7.71 <.0001
y1.x5 0 . . .
y1.x3*x6 0 0 . . .
y1.x3*x6 1 -2.319090 0.659384 -3.52 0.0004
y1.x5*x6 0 2.535860 0.410282 6.18 <.0001
y1.x5*x6 1 5.488503 0.929007 5.91 <.0001
y2.Intercept 4.263638 0.550834 7.74 <.0001
y2.x2 -2.486333 0.354964 -7.00 <.0001
y2.y1 0 -1.382411 0.421852 -3.28 0.0010
y2.y1 1 0 . . .
_Rho -0.712230 0.269718 -2.64 0.0083


I was expecting to get parameter estimate for y1.x5 and 0 for y1.x5*x6(0),
but instead I got 0 for y1.x5. However,I do get estimate for y1.x3, 0 for
x3*x6. Any idea how this happened? It seems the default 0 estimation was set
randomly. How to reset the default 0? Thanks in advance for any suggestions!