SAS/Maximum Likelihood

  • PROC NLMIXED allows you to specify your likelihood
proc nlmixed data = recidiv ;
parms cst = 0 b_male = 0 b_black = 0 b_release =0 b_age = 0;
xb = cst + b_male*male + b_black*black + b_release*release + b_age*age__days_1000_ ; 
if c = 1 then prob = exp(-exp(xb)*y);
if c = 0 then prob = exp(xb)*exp(-exp(xb)*y);
ll= log(prob);
model y ~ general(ll);
run;
  • parms gives initial values to the parameters
  • xb is an intermediate step which gives the list of covariates
  • then we define the likelihood and we specify the model


  • One can also use the IML language and use one of the built-in optimizer.
Last modified on 21 September 2009, at 16:01