原程序如下:
/*
** Probit MLE Estimation
*/
new ;
@ LOADING DATA @
load dat[1962,25] = mwpsid82.db ; @ Data on married women from PSID 82 @
@ OPEN OUTPUT FILE @
output file = probit.out reset ;
@ DEFINE VARIABLES @
nlf
= dat[.,1]
; @ dummy variable for non-labor-force
@
emp
= dat[.,2]
; @ dummy variable for employed workers @
wrate
= dat[.,3]
; @ hourly wage rate @
lrate
= dat[.,4]
; @ log of (hourly wage rate ($)+1) @
edu
= dat[.,5]
; @ years of schooling @
urb
= dat[.,6]
; @ dummy variable for urban resident @
minor
= dat[.,7]
; @ dummy variable for minority race @
age
= dat[.,8]
; @ age @
tenure
= dat[.,9]
; @ # of months under current employer @
expp
= dat[.,10] ; @ years of experience since age 18 @
regs
= dat[.,11] ; @ dummy variable for South @
occw
= dat[.,12] ; @ dummy variable for white collar @
occb
= dat[.,13] ; @ dummy variable for blue collar @
indumg
= dat[.,14] ; @ dummy variable for manufacturing industry @
indumn
= dat[.,15] ; @ dummy variable for non-manufacturing industry @
unionn
= dat[.,16] ; @ dummy variable for union membership @
unempr
= dat[.,17] ; @ local unemployment rate @
ofinc
= dat[.,18] ; @ other family income in 1980 ($) @
lofinc
= dat[.,19] ; @ log of (other family income + 1) @
kids
= dat[.,20] ; @ # of children of age <= 17 @
wune80
= dat[.,21] ; @ UNKNOWN @
hwork
= dat[.,22] ; @ hours of house work per week @
uspell
= dat[.,23] ; @ # of unemployed weeks in 1980 @
search
= dat[.,24] ; @ # of weeks looking for job in 1980 @
kids5
= dat[.,25] ; @ # of children of age <= 5 @
@ DEFINE # of OBSERVATIONS @
n = rows(dat) ;
@
DEFINE DEPENDENT VARIABLE AND REGRESSORS @
@ Dependent variable @
yy = emp ;
vny = {"emp"};
@ Regressors @
xx = ones(n,1)~edu~urb~minor~age~expp~kids~kids5~lofinc ;
vnx = {"cons", "edu", "urb", "minor", "age", "expp",
"kids", "kids5", "lofinc" };
/*
**
DO NOT CHANGE FROM HERE
*/
@
DEFINE INITIAL VALUE @
bb = invpd(xx'xx)*(xx'yy) ;
library optmum;
#include optmum.ext;
optset ;
proc
f(b) ;
local ltt
;
|