The GLIMMIX Procedure

Notes on the EFFECT Statement

Some restrictions and limitations for models that contain constructed effects are in place with the GLIMMIX procedure. Also, you should be aware of some special defaults and handling that apply only when the model contains constructed fixed and/or random effects.

  • Constructed effects can be used in the MODEL and RANDOM statements but not to specify SUBJECT= or GROUP= effects.

  • Computed variables are not supported in the specification of a constructed effect. All variables needed to form the collection of columns for a constructed effect must be in the data set.

  • You cannot use constructed effects that comprise continuous variables or interactions with other constructed effects as the LSMEANS or LSMESTIMATE effect.

  • The calculation of quantities that depend on least squares means, such as odds ratios in the Odds Ratio Estimates table, is not possible if the model contains fixed effects that consist of more than one constructed effects, unless all constructed effects are of spline type. For example, least squares means computations are not possible in the following model because the MM_AB*cvars effect contains two constructed effects:

    proc glimmix;
       class A B C;
       effect MM_AB = MM(A B);
       effect cvars = COLLECTION(x1 x2 x3);
       model y = C MM_AB*cvars;
  • If the MODEL or RANDOM statement contains constructed effects, the default degrees-of-freedom method for mixed models is DDFM=KENWARDROGER. The containment degrees-of-freedom method (DDFM=CONTAIN) is not available in these models.

  • If the model contains fixed spline effects, least squares means are computed at the average spline coefficients across the usable data, possibly further averaged over levels of CLASS variables that interact with the spline effects in the model. You can use the AT option in the LSMEANS and LSMESTIMATE statements to construct the splines for particular values of the covariates involved. Consider, for example, the following statements:

    proc glimmix;
       class A;
       effect spl = spline(x);
       model y = A spl;
       lsmeans A;
       lsmeans A / at means;
       lsmeans A / at x=0.4;

    Suppose that the spl effect contributes seven columns $[\mb {s}_1,\cdots ,\mb {s}_7]$ to the $\mb {X}$ matrix. The least squares means coefficients for the spl effect in the first LSMEANS statement are $[\overline{s}_1,\cdots ,\overline{s}_7]$ with the averages taken across the observations used in the analysis. The second LSMEANS statement computes the spline coefficient at the average value of x: $[s(\overline{x})_1,\cdots ,s(\overline{x})_7]$. The final LSMEANS statement uses $[s(0.4)_1,\cdots ,s(0.4)_7]$. Using the AT option for least squares means calculations with spline effects can resolve inestimability issues.

  • Using a spline effect with B-spline basis in the RANDOM statement is not the same as using a penalized B-spline (P-spline) through the TYPE=PSPLINE option in the RANDOM statement. The following statement constructs a penalized B-spline by using mixed model methodology:

    random x / type=pspline;

    The next set of statements defines a set of B-spline columns in the $\bZ $ matrix with uncorrelated random effects and homogeneous variance:

    effect bspline = spline(x);
    random bspline / type=vc;

    This does not lead to a properly penalized fit. See the documentation on TYPE=PSPLINE about the construction of penalties for B-splines through the covariance matrix of random effects.