OPEN ; OUTPUT = MW_SELE.OUT $ NAMELIST; X1=ONE,ED,MINOR,URB,REGS,AGE,EXP,KIDS5,OFINC,UNEMPR ; X2=ONE,ED,MINOR,URB,REGS, EXP,KIDS5,OFINC,UNEMPR $ REJECT ; LF # 1 $ PROBIT ; LHS = EMP ; RHS = X2 $ MATRIX ; BP = B $ SAMPLE ; ALL $ PROBIT ; LHS = LF ; RHS = X1 $ MATRIX ; BT = B $ BIVARIATE PROBIT; LHS = EMP,LF ; RH1 = X2; RH2 = X1 ; START = BP,BT,0 ; TLF = 0.1E-15 ; SELECTION ; PAR ; MAXIT = 1000 $ MATRIX ; BIVCOV = VARB ; BIVB = B ; B1 = PART(B,10,19) ; B2 = PART(B,1,9) $ CALC ; RHOU = RHO $ ? CHOOSE THE GROUP WITH OBSERVED Y3. ? YOU HAVE TO GIVE SELECTION VARIABLE. REJECT; EMP # 1 $ ? GENERATE SELECTIVITY REGRESSORS ? B1,B2 COME FROM BIVARIATE PROBIT. ? X1 IS FOR FIRST SELECTION RULE, AND X2 FOR SECOND. CREATE; Z1 = B1'X1 ; Z2 = B2'X2 $ NAMELIST; Z = Z1,Z2 $ CALC ; PII = PI $ CREATE; H1 = (Z2-RHOU*Z1)/SQR(1-RHOU^2) ; H2 = (Z1-RHOU*Z2)/SQR(1-RHOU^2) ; S1 = N01(Z1)*PHI(H1)/BVN(Z,RHOU) ; S2 = N01(Z2)*PHI(H2)/BVN(Z,RHOU) ; S3 = 1/(2*PII*SQR(1-RHOU^2)) *EXP( -0.5*(Z1^2-2*RHOU*Z1*Z2+Z2^2)/(1-RHOU^2) ) /BVN(Z,RHOU) $ ? DEFINE REGRESSORS IN Y3 NAMELIST; X = ONE, ED, MINOR, URB, REGS, AGE, EXP, UNEMPR $ ? DEFINE # OF REGRESSORS IN X CALC ; KX = COL(X) $ ? DEFINE SELECTIVITY REGRESSORS NAMELIST; SELX = X, S1, S2 $ ? OLS REGRESSION WITH SELECTIVITY REGRESSORS REGRESS; LHS = LRATE; RHS= SELX; RES = E $ MATRIX; NOLIST ; SELB = B $ ? CALCULATING CORRECTED VARIANCE OF ERRORS IN EQ. 3 ? DEFINE SIG13 AND SIG23. THEY ARE THE LAST TWO ? ENTRIES OF SELB. CALC ; C1 = SELB(KX+1) ; C2 = SELB(KX+2) $ CREATE; SSSIG33 = C1*C1*(Z1*S1+S1^2+RHOU*S3) + C2*C2*(Z2*S2+S2^2+RHOU*S3) - 2*C1*C2*(S3-S1*S2) ; EE = E^2$ TYPE; CORRECTED VARIANCE OF ERROR IN THIRD EQUATION$ CALC ; LIST ; SIG33 = XBR(SSSIG33) + XBR(EE)$ CREATE; KK = SIG33-SSSIG33 $ MATRIX; SELMAT1 = SELX'[KK]SELX $ DELETE; SSSIG33,KK,EE,E$ ? GENERATE THE CORRECT COVARIANCE MATRIX OF ERRORS CALC ; FO = 1/SQR(1-RHOU^2)$ CREATE; WT1 = C1*(-Z1*S1-S1^2-RHOU*S3) + C2*(S3-S1*S2) ; WT2 = C1*(S3-S1*S2) + C2*(-Z2*S2-S2^2-RHOU*S3) ; WT3 = C1*(-FO*H2*S3-S1*S3) + C2*(-FO*H1*S3-S2*S3)$ MATRIX; SMAT21 = X1'[WT1]SELX ; SMAT22 = X2'[WT2]SELX ; SSMAT23 = SELX'[WT3]ONE ; SMAT23 = SSMAT23' ; SELMAT2 = [SMAT22 / SMAT21 / SMAT23] $ TYPE ; CORRECTED TWO-STAGE ESTIMATION RESULT FOT DOUBLE SELECTIVITY$ MATRIX; SELMAT = SELMAT1 + SELMAT2'*BIVCOV*SELMAT2 ; CORCOV = *SELMAT* $ MATRIX; LIST ; STAT(SELB,CORCOV)$ SAMPLE;ALL$ CLOSE