Sample Selection Model
/*--------------------------------------------------------------
SAS Sample Library
Name: qliex05.sas
Description: Example program from SAS/ETS User's Guide,
The QLIM Procedure
Title: Sample Selection Model
with Truncation and Censoring
Product: SAS/ETS Software
Keys: limited dependent variables
PROC: QLIM
Notes:
--------------------------------------------------------------*/
data trunc;
keep z y x1 x2;
do i = 1 to 500;
x1 = rannor( 19283 );
x2 = rannor( 19283 );
u1 = rannor( 19283 );
u2 = rannor( 19283 );
zl = 1 + 2 * x1 + 3 * x2 + u1;
y = 3 + 4 * x1 - 2 * x2 + u1*.2 + u2;
if ( zl > 0 ) then z = 1;
else z = 0;
if y>=0 then output;
end;
run;
/*-- Sample Selection with Truncation --*/
proc qlim data=trunc method=qn;
model z = x1 x2 / discrete;
model y = x1 x2 / select(z=1) truncated(lb=0);
run;
data cens;
keep z y x1 x2;
do i = 1 to 500;
x1 = rannor( 19283 );
x2 = rannor( 19283 );
u1 = rannor( 19283 );
u2 = rannor( 19283 );
zl = 1 + 2 * x1 + 3 * x2 + u1;
yl = 3 + 4 * x1 - 2 * x2 + u1*.2 + u2;
if ( zl > 0 ) then z = 1;
else z = 0;
if ( yl > 0 ) then y = yl;
else y = 0;
output;
end;
run;
/*-- Sample Selection with Censoring --*/
proc qlim data=cens method=qn;
model z = x1 x2 / discrete;
model y = x1 x2 / select(z=1) censored(lb=0);
run;