|
Chapter Contents |
Previous |
Next |
| The NLIN Procedure |
The data, taken from Lee (1974), consist of patient characteristics and a variable indicating whether cancer remission occured. This example demonstrates how to use PROC NLIN with a likelihood function. In this case, the likelihood function to minimize is


and
is the normal probability function. This is the
likelihood function for a binary probit model.
This likelihood is strictly positive so that you can
take a square root of
and use
this as your residual in PROC NLIN. The DATA step also creates
a zero-valued dummy variable, like, that is used as the
dependent variable.
Data remiss;
input remiss cell smear infil li blast temp;
label remiss = 'complete remission';
like = 0;
label like = 'dummy variable for nlin';
datalines;
1 .8 .83 .66 1.9 1.1 .996
1 .9 .36 .32 1.4 .74 .992
0 .8 .88 .7 .8 .176 .982
0 1 .87 .87 .7 1.053 .986
1 .9 .75 .68 1.3 .519 .98
0 1 .65 .65 .6 .519 .982
1 .95 .97 .92 1 1.23 .992
0 .95 .87 .83 1.9 1.354 1.02
0 1 .45 .45 .8 .322 .999
0 .95 .36 .34 .5 0 1.038
0 .85 .39 .33 .7 .279 .988
0 .7 .76 .53 1.2 .146 .982
0 .8 .46 .37 .4 .38 1.006
0 .2 .39 .08 .8 .114 .99
0 1 .9 .9 1.1 1.037 .99
1 1 .84 .84 1.9 2.064 1.02
0 .65 .42 .27 .5 .114 1.014
0 1 .75 .75 1 1.322 1.004
0 .5 .44 .22 .6 .114 .99
1 1 .63 .63 1.1 1.072 .986
0 1 .33 .33 .4 .176 1.01 0
0 .9 .93 .84 .6 1.591 1.02
1 1 .58 .58 1 .531 1.002
0 .95 .32 .3 1.6 .886 .988
1 1 .6 .6 1.7 .964 .99
1 1 .69 .69 .9 .398 .986
0 1 .73 .73 .7 .398 .986
;
run;
proc nlin data=remiss method=newton sigsq=1;
parms a -2 b -1 c 6 int -10;
/* Linear portion of model ------*/
eq1 = a*cell + b*li + c*temp +int;
/* probit */
p = probnorm(eq1);
if ( remiss = 1 ) then p = 1-p;
model.like = sqrt(- 2 * log( p));
output out=p p=predict;
run;
Note that the asymptotic standard errors of the parameters are computed under the least squares assumptions. The SIGSQ=1 option on the PROC NLIN statement forces PROC NLIN to replace the usual mean square error with 1. Also, METHOD=NEWTON is selected so the true Hessian of the likelihood function is used to calculate parameter standard errors rather than the crossproducts approximation to the Hessian.
Output 45.3.1: Nonlinear Least Squares Analysis from PROC NLIN
The problem can be more simply solved using the following SAS statements.
proc probit data=remiss ; class remiss; model remiss=cell li temp ; run;
|
Chapter Contents |
Previous |
Next |
Top |
Copyright © 1999 by SAS Institute Inc., Cary, NC, USA. All rights reserved.