/* ** Lesson 8.3: Tobit Analysis of Extramarital Affairs ** Greene [1999], Example 20.12 ** See also R. Fair, JPE, 86, 1978, 45-61 */ use gpe2; output file=gpe\output8.3 reset; n=602; load data[n,15]=gpe\fair.txt; y=data[2:n,13]; z=data[2:n,5 6 8 11 12]; @ use z2, z3, z5, z7, z8 @ call reset; @ Uncensored OLS estimation @ call estimate(y,z); @ Tobit model estimation @ z=z~ones(rows(z),1); @ RHS variables inc. constant @ _nlopt=2; @ using component likelihood function @ _method=5; _iter=100; _b=__b|5.0; call estimate(&tobitf,y~z); @ Tobit model interpretation based on E(y) @ b=__b[1:6]; s=__b[7]; ey=cdfn(z*b/s).*(z*b)+s.*pdfn(z*b/s); em=cdfn(z*b/s).*b'; print "Expected Value Marginal Effects";; print ey~em[.,1:5]; end; /* Log-likelihood function: tobit model */ proc tobitf(x,b); local y,z,k; k=rows(b); y=x[.,1]; z=(y-x[.,2:k]*b[1:k-1])/b[k]; retp((y.==0).*ln(cdfn(z))+(y.>0).*ln(pdfn(z)/b[k])); endp;