hierarchical random effects structure in GLIMMIX

#1
Hi All,

I have a question about complicated random effects structures. Please bear with me.

I am trying to construct a model in GLIMMIX that has a spatially hierarchical (i.e. nested), repeated measures random effects structure. The problem is how to correctly account for a random observer effect that seems to fall in the middle of that structure and messes up the by-subject processing. The dataset is large (~850,000 observations), so the by-subjects processing helps reduce the memory footprint of the analysis.

The random model structure is something like this:

B is nested within A
C is nested within B
repeated years within C

I set this up like this:

PROC GLIMMIX data=mydata method=rmpl;
CLASS A B C year;
MODEL response(event="1") = var1|var2 / dist=binary;
RANDOM int / subject = A;
RANDOM int / subject = B(A);
RANDOM year / subject = C(B A) type=cs residual;
RUN;


The complication is that there are frequently different observers (OBS_N) sampling a given level of B (and all levels of C within it) during different years. If it makes it clearer: A is state -e.g. New York, New Jersey,etc...-, B is a survey route number within state, and C is a survey point number within the route. So OBS_N is nested within B as well because OBS_N identifies the observer that surveyed a given route within a given state during a particular year.

If I leave out the observer, I get these model dimensions:

Number of Observations Used 869100

Dimensions
G-side Cov. Parameters 2
R-side Cov. Parameters 2
Columns in X 8
Columns in Z per Subject 183
Subjects (Blocks in V) 47
Max Obs per Subject 53750


If I add the observer as in this code chunk:
PROC GLIMMIX data=mydata method=rmpl;
CLASS A B C year;
MODEL response(event="1") = var1|var2|var3 / dist=binary;
RANDOM int / subject = A;
RANDOM int / subject = B(A);
RANDOM int / subject = OBS_N(B A);
RANDOM year / subject = C(B A) type=cs residual;
RUN;

the dimensions blow up to this as I lose the by-subject processing:

Dimensions
G-side Cov. Parameters 3
R-side Cov. Parameters 2
Columns in X 8
Columns in Z 6571
Subjects (Blocks in V) 1
Max Obs per Subject 869100


Question: how would any of you propose incorporating the random observer effect in a way that doesn't generate an integer overflow error?

Many thanks to any who reply.

Jeff