Download Presentation
## PROC GLIMMIX: AN OVERVIEW

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -

**1. **PROC GLIMMIX: AN OVERVIEW By William E. Jackman

**2. **PROC GLIMMIX: AN OVERVIEW A new SAS/STAT Product
Experimental in SAS 9.1
Production in SAS 9.2.
%GLIMMIX macro
Combines and extends statistical features found in other SAS procedures
Part of a succession of SAS procedures which have extended the General Linear Model (GLM)

**3. **PROC GLIMMIX: AN OVERVIEW Regression Analysis Basics
Y = B0 + B1 X1 +B2 X2 ... + Bn Xn + e
y = Xß + e (matrix notation)
e ~ N(0, a2 In)
Estimation by ordinary least squares (OLS).
Essence of the General Linear Model (GLM)
Y's and the X's go by several names
Covariates

**4. **PROC GLIMMIX: AN OVERVIEW The GLM underlies PROC REG and PROC GLM
Both procedures use OLS to fit the GLM to data with continuous response variable
Same assumptions about residuals
PROC REG has advantages for continuous effects (regressors).
PROC GLM has advantages for discrete effects (regressors).

**5. **PROC GLIMMIX: AN OVERVIEW Indicator (dummy) variables and interactions * PROC REG: must be created in data step * PROC GLM: use class & model statements
Which Procedure to use? * Interested primarily in effect of continuous variables (covariates)? * Interested primarily in effect of grouping variables?

**6. **PROC GLIMMIX: AN OVERVIEW The generalized linear model (GzLM) extends (or generalizes) the GLM.
Presented in 1972; expanded in 1989.
Non-normal data from exponential family
Linearity is achieved through the link function.
Implemented, for example, in PROC GENMOD
PROC GENMOD can also handle correlated residuals.

**7. **PROC GLIMMIX: AN OVERVIEW General form of the GENMOD procedure
PROC GENMOD options ;
CLASS variables ;
MODEL response=effects / dist= link= options ;
REPEATED SUBJECT=subjects-effects / options ;
RUN ;

**8. **PROC GLIMMIX: AN OVERVIEW Example of the GENMOD procedure for Poisson regression
proc genmod data=skin ;
class city age ;
model cases=city age / offset=log_pop dist=poi link=log ;
run ;
where log_pop = log of the population

**9. **PROC GLIMMIX: AN OVERVIEW The generalized linear model (GzLM)
Canonical link functions most common.
Obtained from probability density function
Default in PROC GENMOD
For the Poisson distribution the default link function is the log of the response variable.
log(µ) = Xß
Inverse link functions
µ = e?

**10. **PROC GLIMMIX: AN OVERVIEW Logistic Regression: A special case of the generalized linear model (GzLM)
Response variable from binomial distribution
Part of the exponential family so GzLM applies
Link function is the logit.
logit(pi) = ln(pi / (1-pi))
Can be done with PROC GENMOD
Input from David Schlotzhauer of SAS Institute

**11. **PROC GLIMMIX: AN OVERVIEW FURTHER EXTENSIONS OF THE GLM
GLM and GzLM cannot handle random effects.
Fixed effects-interest only in levels specified
Random effects-inference to other levels
PROC GENMOD and PROC LOGISTIC cannot handle random effects.

**12. **PROC GLIMMIX: AN OVERVIEW PROC MIXED: An extension of the GLM
Can handle random effects and correlated errors
fixed effects only model
y = Xß + e
mixed model
y = Xß + Z? + e

**13. **PROC GLIMMIX: AN OVERVIEW Mixed models distinguish between G-side random effects and R-side random effects.
G-side random effects correspond to covariates (regressors) in the model which are random.
R-side random effects correspond to the residuals in the model.

**14. **PROC GLIMMIX: AN OVERVIEW Example of PROC MIXED syntax
proc mixed ;
class id time gender ;
model z = gender age gender*age ;
random intercept / subject=id ; *** G-side effects go here. ;
repeated time /subject=id type=ar(1) ; *** R-side effects go here. ;
run ;

**15. **PROC GLIMMIX: AN OVERVIEW PROC MIXED: a linear mixed model (LMM)
PROC MIXED allows for random intercepts for each subject.
models the correlation in the repeated measures within each subject.
has rich variety of covariance matrices for dealing with correlated residuals.
Unlike GzLM’s, LMM’s require a normally distributed response variable.

**16. **PROC GLIMMIX: AN OVERVIEW PROC GLIMMIX - PUTTING IT ALL TOGETHER
A Generalized Linear Mixed Model (GzLMM)
Combines and extends features of GzLM’s and LMM’s
Enables modeling random effects and correlated errors for non-normal data

**17. **PROC GLIMMIX: AN OVERVIEW The Generalized Linear Mixed Model (GzLMM)
A linear predictor can contain random effects: ? = Xß + Z ?
The random effects are normally distributed
The conditional mean, µ|?, relates to the linear predictor through a link function: g(µ|?) = ?
The conditional distribution (given ?) of the data belongs to the exponential family of distributions.

**18. **PROC GLIMMIX: AN OVERVIEW Other new features of PROC GLIMMIX include:
low-rank smoothing based on mixed models
new features for LS-means comparisons and display.
SAS programming statements allowed within the procedure
Fits models to multivariate data with different distributions or links

**19. **PROC GLIMMIX: AN OVERVIEW General form of the GLIMMIX procedure:
PROC GLIMMIX options ;
programming statements ;
CLASS variables ;
MODEL response=fixed-effects / DIST= LINK = options ;
RANDOM random-effects / options ;
RANDOM _RESIDUAL_ / options ;
RUN ;

**20. **PROC GLIMMIX: AN OVERVIEW Like other mixed models, PROC GLIMMIX distinguishes between G-side random effects and R-side random effects.
G-side random effects correspond to covariates in the model which are random.
R-side random effects correspond to the residuals in the model.

**21. **PROC GLIMMIX: AN OVERVIEW Example of a GzLMM using PROC GLIMMIX for Logistic Regression with Random Effects
proc glimmix data=example ;
class trt clinic ;
model y=trt / dist=binomial link=logit ;
random clinic trt*clinic ;
*** random intercept trt / subject=clinic ;
run ;

**22. **PROC GLIMMIX: AN OVERVIEW This example cannot be handled by PROC LOGISTIC since clinic is a random effect.
For logistic regression with fixed effect only, PROC GLIMMIX or PROC LOGISTIC can be used. Which should you use?
More input from David Schlotzhauer of the SAS Institute.

**23. **PROC GLIMMIX: AN OVERVIEW Parameters Estimation Methods in PROC GLIMMIX
The GLIMMIX procedure has two basic modes of parameter estimation: GLM-mode and GLMM-mode.
In GLM-mode, the data is never correlated and there can be no G-side random effect.
In the GLMM-mode, there might be random effects and/or correlated data.

**24. **PROC GLIMMIX: AN OVERVIEW Parameter Estimation for generalized linear models
Normal distribution: restricted maximum likelihood
All other known distributions: maximum likelihood
Unknown distributions: quasi-likelihood

**25. **PROC GLIMMIX: AN OVERVIEW Parameter Estimation for generalized linear models with overdispersion
Parameters are estimated using maximum likelihood
An overdispersion parameter can be estimated from the Pearson statistic

**26. **PROC GLIMMIX: AN OVERVIEW
Parameter Estimation for generalized linear mixed models
Pseudo-likelihood

**27. **PROC GLIMMIX: AN OVERVIEW Using PROC GLIMMIX for Linear Mixed Models
In this example, the response variable is normally-distributed.
Proc glimmix data= grass ;
Class method variety ;
Model yield = method / dist=normal ;
Random variety method*variety ;
run ;
PROC GLIMMIX uses the residual/restricted maximum likelihood as does PROC MIXED.

**28. **PROC GLIMMIX: AN OVERVIEW PROC GLIMMIX can do much of what PROC LOGISTIC, PROC MIXED, PROC REG, and PROC GLM can do.
Could be viewed as a “super PROC”
Input from Jill Tao of the SAS Institute

**29. **PROC GLIMMIX: AN OVERVIEW PROC GLIMMIX versus PROC MIXED
Closely related but important differences
PROC GLIMMIX is not PROC MIXED with a LINK= and a DIST= option.
PROC GLIMMIX models non-normal data. PROC MIXED does not.
PROC GLIMMIX allows programming statements. PROC MIXED does not.
PROC GLIMMIX uses the RANDOM statement to model R-side random effects. PROC MIXED uses the REPEATED statement to model R-side random effects.
PROC GLIMMIX does not support the Kronecker and heterogeneous covariance structures as supported by PROC MIXED.

**30. **PROC GLIMMIX: AN OVERVIEW PROC GLIMMIX versus PROC GENMOD
PROC GLIMMIX
fits unit-specific models with the G-side random effects
fits population-average models without the G-side effects. (Without the G-side effects, there is no way to condition the response and make the estimates unit-specific.)
provides sandwich estimators of covariance of fixed effects through the EMPIRICAL option when the model is processed by subjects.
computes the parameter estimates by a pseudo-likelihood method.

**31. **PROC GLIMMIX: AN OVERVIEW PROC GLIMMIX versus PROC GENMOD
PROC GENMOD
cannot accommodate random effects
fits only population-average models
computes the parameter estimates by a moment-based method.

**32. **PROC GLIMMIX: AN OVERVIEW Applications Using the GLIMMIX Procedure(from "Statistical Analysis with the GLIMMIX Procedure")
Poisson Regression with Random Effects
An example of Beta Regression
Repeated Measures Data with Discrete Response
Introduction to Radial Smoothing
Applications are explained in detail in the SAS course.

**33. **PROC GLIMMIX: AN OVERVIEW Fitting Models To Multivariate Data In Which Observations Do Not All Have The Same Distribution Or Link
EXAMPLE: JOINT MODELS FOR BINARY AND POISSON DATA
(from a paper by Oliver Schabenberger of the SAS Institute)

**34. **PROC GLIMMIX: AN OVERVIEW data joint;
length dist $7;
input d$ patient age OKstatus response @@;
if d = ’B’ then dist=’Binary’;
else dist=’Poisson’;
datalines; (only 3 lines shown)
B 1 78 1 0 P 1 78 1 9 B 2 60 1 0 P 2 60 1 4
B 3 68 1 1 P 3 68 1 7 B 4 62 0 1 P 4 62 0 35
B 5 76 0 0 P 5 76 0 9 B 6 76 1 1 P 6 76 1 7

**35. **PROC GLIMMIX: AN OVERVIEW proc glimmix data=joint;
class patient dist;
model response(event=’1’) = dist dist*age dist*OKstatus / noint s dist=byobs(dist);
random int / subject=patient;
run;

**36. **PROC GLIMMIX: AN OVERVIEW The previous slide showed modeling correlations through G-side random effects. It could also be done through R-side random effects. This is presented in the SAS course “Statistical Analysis with the GLIMMIX Procedure” which expands upon this example.