7.0 TOBIT Command The TOBIT command allows estimation of TOBIT (bounded left hand variable problems) with up to 97 variables on the right hand side. An excellent reference is: - McDonald, John & Robert Moffitt, "The Uses of Tobit Analysis,", Review of Economics and Statistics, Vol. LXII, # 2, May 1980, pp. 318 - 321. Form of the TOBIT command: B34SEXEC TOBIT options parameters$ MODEL Yvar = Xvar1 Xvar2 $ B34SEEND$ The MODEL sentence is required. TOBIT options: NOINT - Set if no constant is desired. LOWER - Sets the limit of Y as lower. This is the default. UPPER - Sets the limit of Y as upper. Default = LOWER. ISUMM - Gives a summary table for each observation. ROUTPUT - Reduce output to save paper. Variable means, second moments about means, first and second derivatives not printed. TOBIT parameters: NIT=n1 - Sets number of iterations. Default =25. LIMIT=value - Sets limit value. Default = 0.0 . A maximum of 10 digits can be supplied. NEQU=n2 - Sets equation number. Default = 1. Max = 99. WEIGHT=Vname - Sets the variable to use as a weight. If WEIGHT is not set, the weight used is 1.00 . Sample use of TOBIT command: B34SEXEC TOBIT LOWER LIMIT=1.50 NIT=50$ MODEL Y = X1 X2 X3 X4 $ B34SEEND$ Note: The TOBIT command calculates the following values: B(i) = Estimated Coefficient. F(Z) = Probability for given Z value. f(Z) = Density of cumulative normal distribution for that Z. SIGMA = standard error of regression. B(i)/SIGMA = Normalized coefficient. PARTIAL1 = f(Z) * (B(i) / SIGMA ) PARTIAL2 = B(i) * (1.0 - (Z*f(Z) / F(Z) ) - (f(Z) ** 2 / F(Z) **2)) B(i)*F(Z) = The total effect [ d(Ey) / d(X(i)) ] E(y) = XB * F(Z) + (SIGMA * f(Z) ) Z = XB / SIGMA Note: Z and XB are calculated for mean X(i) in the output. Often other X(i) values are of interest. If we assume a model of the form Y = 10 + 1.2 * X1 + 2.2 * X2, where SIGMA = .9, the below listed SAS program will calculate the desired values. The SAS program makes use of the fact that f(Z) = EXP( -(Z*Z)/2.0) / SQRT( 2 * pi). TTi = B(i) * F(Z) PARTIAL1i = f(Z) * (B(i) / SIGMA) PARTIAL2i = B(i) * (1.0 - (Z*f(Z) / F(Z)) -(f(Z)**2 / F(Z)**2)) DATA TEST; INPUT X1 X2; B1 = 10.0 ; B2 = 1.2 ; B3 = 2.2 ; SIGMA = .9 ; XB = B1 + (B2 * X1) + (B3 * X2) ; Z=XB / SIGMA; FZ = PROBNORM(Z) ; DENSITY = EXP(-1.0 * (Z*Z)/2.0) * .3989423 ; TT1 = B1 * FZ ; TT2 = B2 * FZ ; TT3 = B3 * FZ ; PART11 = DENSITY * (B1 / SIGMA); PART12 = DENSITY * (B2 / SIGMA); PART13 = DENSITY * (B3 / SIGMA); PART21 = B1 * (1.0 - (Z * DENSITY / FZ) - ((DENSITY *DENSITY) / (FZ * FZ))) ; PART22 = (B2 / B1) * PART21 ; PART23 = (B3 / B1) * PART21 ; CARDS; X1 X2 values here ; PROC PRINT DATA=TEST; The above program can be modified to run under B34S as follows: B34SEXEC DATA TEST FILEF=@@$ INPUT X1 X2$ BUILD B1 B2 B3 SIGMA XB FZ DENSITY TT1 TT2 TT3 PART11 PART12 PART13 PART21 PART22 PART23$ GEN B1 = 10.0 $ GEN B2 = 1.2 $ GEN B3 = 2.2 $ GEN SIGMA = .9 $ GEN XB = B1 + (B2 * X1) + (B3 * X2) $ GEN Z=XB / SIGMA$ GEN FZ = PROBNORM(Z) $ GEN DENSITY = EXP(-1.0 * (Z*Z)/2.0) /(DSQRT(TIMESPI(2.0)) $ GEN TT1 = B1 * FZ $ GEN TT2 = B2 * FZ $ GEN TT3 = B3 * FZ $ GEN PART11 = DENSITY * (B1 / SIGMA)$ GEN PART12 = DENSITY * (B2 / SIGMA)$ GEN PART13 = DENSITY * (B3 / SIGMA)$ GEN PART21 = B1 * (1.0 - (Z * DENSITY / FZ) - ((DENSITY *DENSITY) / (FZ * FZ))) $ GEN PART22 = (B2 / B1) * PART21 $ GEN PART23 = (B3 / B1) * PART21 $ DATACARDS$ X1 X2 values here B34SRETURN$ B34SEEND$ B34SEXEC LIST$ B34SEEND$