Programming the statistical procedures from SAS

Prediction of New Data using GLIMMIX & NLMIXED

Reply
New Contributor
Posts: 4

Prediction of New Data using GLIMMIX & NLMIXED

Hi,

I have some questions regarding prediction of new observations using PROC GLIMMIX and PROC NLMIXED.

I'm using the dataset:

data teenyrs5;
     set my.teenpov;
     array pv(*) pov1-pov5;
     array mot(*) mother1-mother5;
     array spo(*) spouse1-spouse5;
     array ins(*) inschool1-inschool5;
     array hou(*) hours1-hours5;

     do year = 1 TO 5;
        pov = pv(year);
        mother = mot(year);
        spouse = spo(year);
        inschool = ins(year);
        hours = hou(year);
        output;
     end;
     keep id year black age pov mother spouse inschool hours;
run;

taken from:

Paul Allison's Fixed Effects Regression Methods for Longitudinal Data Using SAS

page 59, section: 3.3 Estimation of Logistic Models for Two or More Observations Per Person

I've attached the base dataset: "teenpov".

To test things out, I create a "new" set of observations for prediction as follows:

data newobs;
     set teenyrs5;
     pov = .;
     id = 15000 + id;
run;

data teenyrs5_newobs;
     set teenyrs5 newobs;
run;

setting the dependent variable (pov) to missing and adjusting the subject ID variable so it does not match any ID in the training data.

If I then run the following PROC NLMIXED code (a slightly modified version of what exists on page 63):

proc nlmixed data = teenyrs5_newobs;
        eta = b0 + bmother*mother + bspouse*spouse + bschool*inschool + bhours*hours + bblack*black + bage*age

                 + alpha;
        p = 1/(1+ exp(-eta));
        model pov ~ binary(p);
        random alpha ~ normal(0,s2) subject = id;
        parms b0 = -.29 bmother = .99 bspouse = -1.26 bschool = -.24 bhours = -.03 bblack = 0 bage = 0 s2 = 1;
             predict p out = nlmixed_pred_out;
run;

things run ok, however the predictions (see a sample below) for the corresponding training and "new" observations do not match up, often considerably so.

Should they? If not, why is this the case and what is the "correct" way to derive predictions for new observations?

Training                                    
ID    AGE    black    year    pov    mother    spouse    inschool    hours    Pred
22    16       0         1         1         0             0             1               21         0.16500779
22    16       0         2         0         0             0             1               15         0.18703763
22    16       0         3         0         0             0             1               3           0.237711821
22    16       0         4         0         0             0             1               0           0.251761755
22    16       0         5         0         0             0             1               0           0.251761755
75    17       0         1         0         0             0             1               8           0.199251435
75    17       0         2         0         0             0             1               0           0.233573884
75    17       0         3         0         0             0             1               0           0.233573884
75    17       0         4         0         0             0             1               4           0.215918886
75    17       0         5         1         0             0             1               0           0.233573884
92    16       0         1         0         0             0             1               30         0.203391172
92    16       0         2         0         0             0             1               27         0.21598735
92    16       0         3         0         0             0             1               24         0.229139231
92    16       0         4         1         1             0             0               31         0.445451185
92    16       0         5         1         1             0             0               0           0.63796646
96    17       0         1         0         0             0             0               19         0.469123309
96    17       0         2         1         1             0             0               54         0.5052094
96    17       0         3         1         1             0             0               0           0.800485384
96    17       0         4         1         1             0             0               26         0.674898972
96    17       0         5         1         1             0             0               36         0.617039808

New                                    
ID           AGE    black    year    pov    mother    spouse    inschool    hours    Pred
15022    16        0          1        .          0             0             1               21         0.182961002
15022    16        0          2        .          0             0             1               15         0.206794122
15022    16        0          3        .          0             0             1               3           0.261101825
15022    16        0          4        .          0             0             1               0           0.276033617
15022    16        0          5        .          0             0             1               0           0.276033617
15075    17        0          1        .          0             0             1               8           0.225192373
15075    17        0          2        .          0             0             1               0           0.262518368
15075    17        0          3        .          0             0             1               0           0.262518368
15075    17        0          4        .          0             0             1               4           0.243370277
15075    17        0          5        .          0             0             1               0           0.262518368
15092    16        0          1        .          0             0             1               30         0.151292973
15092    16        0          2        .          0             0             1               27         0.161316042
15092    16        0          3        .          0             0             1               24         0.171868664
15092    16        0          4        .          1             0             0               31         0.359316866
15092    16        0          5        .          1             0             0               0           0.551636654
15096    17        0          1        .          0             0             0               19         0.20190875
15096    17        0          2        .          1             0             0               54         0.226198123
15096    17        0          3        .          1             0             0               0           0.534591608
15096    17        0          4        .          1             0             0               26         0.37277836
15096    17        0          5        .          1             0             0               36         0.315670525

Second, if I run the same model using PROC GLIMMIX:

proc glimmix data = teenyrs5_newobs method = quad;
        model pov = mother spouse inschool hours black age / solution link = logit dist = binary;
        random intercept / subject = id;
        output out = glimmix_pred_out pred(blup ilink) = predicted;
run;

Assuming I have the syntax correct to replicate the PROC NLMIXED model (please correct me if I haven't), I'd like to know why this fails with no predictions being generated in the WORK.GLIMMIX_PRED_OUT.

NOTE: Some observations are not used in the analysis because of: missing response values (n=5755).
NOTE: The GLIMMIX procedure is modeling the probability that pov='0'.
ERROR: Quadrature accuracy of 0.000100 could not be achieved with 31 points. The achieved accuracy was 0.783464.
NOTE: The data set WORK.GLIMMIX_PRED_OUT has 11510 observations and 10 variables.

I ask as I thought I could use the simpler PROC GLIMMIX with "method = quad" to replicate PROC NLMIXED.

Attachment
Ask a Question
Discussion stats
  • 0 replies
  • 173 views
  • 0 likes
  • 1 in conversation