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