BIOS 667 - Lecture 10: Residual Analyses and Diagnostics (Ch. 10)

Fitzmaurice, Laird & Ware (2011) - Applied Longitudinal Data Analysis

Naim Rashid

Lecture Objectives

By the end of this lecture, you will be able to:

  • Compute raw and transformed (Cholesky-standardized) residuals and explain why the transform decorrelates them
  • Use the Mahalanobis distance \(d_i = r_i^{*\top} r_i^{*}\) to flag outlying individuals
  • Use the semi-variogram of transformed residuals to diagnose covariance misspecification
  • Use random-effect (empirical BLUP) plots to spot individuals with unusual profiles (NOT to test RE normality)
  • Read each diagnostic plot: what a good vs problematic pattern looks like

Prerequisites / Recall

This lecture builds directly on two earlier ones.

Recall from What we reuse
Ch. 7 (L07) Covariance pattern models; the marginal covariance \(\Sigma_i = \operatorname{Cov}(\mathbf{Y}_i)\), with CS / AR(1) / unstructured forms
Ch. 8 (L08) The LME \(\mathbf{Y}_i = \mathbf{X}_i\boldsymbol\beta + \mathbf{Z}_i\mathbf{b}_i + \boldsymbol\varepsilon_i\), with \(\Sigma_i = \mathbf{Z}_i G \mathbf{Z}_i^\top + R_i\), and REML estimation

Note

Residual diagnostics ask: having fit a mean model \(\mathbf{X}_i\boldsymbol\beta\) and a covariance model \(\Sigma_i\), are BOTH adequate?

Roadmap

Part Topic
1 Raw residuals, transformed residuals, Mahalanobis distance
2 The semi-variogram (covariance adequacy)
3 Worked Case Study: dental growth (real FLW data)
4 Software diagnostics in nlme / lme4 (marginal vs conditional)
5 Beyond FLW Ch. 10: ACF, cluster influence, CUSUM
6 Practical checklist and pitfalls

Notation reference

Symbol Meaning
\(Y_{ij}\) response for subject \(i\) at occasion \(j\) (scalar)
\(\mathbf{Y}_i\) response vector for subject \(i\) \((n_i \times 1)\)
\(\mathbf{X}_i,\ \boldsymbol\beta\) fixed-effect design \(n_i \times p\) and coefficients
\(\mathbf{Z}_i,\ \mathbf{b}_i\) random-effect design and random effects, \(\mathbf{b}_i \sim N(0, G)\)
\(G\) between-subject random-effects covariance (FLW’s letter, Ch. 8)
\(R_i\) within-subject residual covariance, \(\boldsymbol\varepsilon_i \sim N(0, R_i)\)
\(\Sigma_i = \mathbf{Z}_i G \mathbf{Z}_i^\top + R_i\) marginal (total) covariance \(\operatorname{Cov}(\mathbf{Y}_i)\) for subject \(i\)
\(\rho\) correlation parameter (AR(1), exchangeable)

Indices: \(i\) subject \(1,\dots,N\); \(j\) occasion/time \(1,\dots,n_i\) (\(n\) when balanced); \(k\) state (transition models); \(g\) group. Bold = vector or matrix.

Notation (this lecture)

Symbol Meaning
\(r_i = \mathbf{Y}_i - \mathbf{X}_i\hat{\boldsymbol\beta}\) raw (marginal) residual vector for subject \(i\)
\(L_i\) lower-triangular Cholesky factor, \(\hat\Sigma_i = L_i L_i^\top\)
\(r_i^{*} = L_i^{-1} r_i\) transformed residual (uncorrelated, unit variance)
\(d_i = r_i^{*\top} r_i^{*}\) Mahalanobis distance for subject \(i\), \(\approx \chi^2_{n_i}\)
\(\gamma(h)\) semi-variogram at time-lag \(h\)
\(r^{M}_{ij},\; r^{C}_{ij}\) software residuals: marginal (\(\mathbf{Y}-\mathbf{X}\hat\beta\)) vs conditional (\(\mathbf{Y}-\mathbf{X}\hat\beta-\mathbf{Z}\hat{\mathbf{b}}\))

Part 1: Raw, Transformed, and Outlier Diagnostics

Why Diagnostics for LMMs?

Linear mixed-effects models rest on assumptions more complex than OLS.

Assumption Category What to Check
Mean structure Is the form of \(\mathbf{X}_i\boldsymbol\beta\) (e.g. linear time) adequate?
Covariance structure Is \(\Sigma_i\) (CS / AR(1) / RE structure) adequate?
Distribution Approximate normality, no gross outliers
Outlying individuals Subjects whose whole profile is unusual

Raw Residuals (FLW eq 10.1)

The raw (marginal) residual for subject \(i\) is

\[ r_i \;=\; \mathbf{Y}_i - \mathbf{X}_i\hat{\boldsymbol\beta}. \tag{10.1}\]

  • One residual vector per subject, length \(n_i\).
  • If the mean model \(\mathbf{X}_i\boldsymbol\beta\) is correct, these are centered at zero.
  • Problem: raw residuals are correlated and have unequal variances (they inherit \(\Sigma_i\)), so ordinary regression diagnostics do not apply directly.

Transformed Residuals (FLW eq 10.2)

Take the Cholesky factorization of the estimated marginal covariance, \(\hat\Sigma_i = L_i L_i^\top\) (\(L_i\) lower-triangular). Define

\[ r_i^{*} \;=\; L_i^{-1} r_i \;=\; L_i^{-1}\!\left(\mathbf{Y}_i - \mathbf{X}_i\hat{\boldsymbol\beta}\right). \tag{10.2}\]

Note

The transformed residuals \(r_i^{*}\) are uncorrelated and have unit variance - they mimic residuals from a standard linear regression.

  • First element = standardized baseline residual.
  • \(k\)-th element estimates \(\dfrac{Y_{ik}-E(Y_{ik}\mid Y_{i1},\dots,Y_{i,k-1})}{\sqrt{\operatorname{Var}(Y_{ik}\mid Y_{i1},\dots,Y_{i,k-1})}}\).

Mahalanobis Distance for Outlying Individuals (FLW eq 10.3)

A single summary of how far subject \(i\)’s whole profile is from its fitted values:

\[ d_i \;=\; r_i^{*\top}\, r_i^{*}. \tag{10.3}\]

Note

Under a correctly specified model, \(d_i \approx \chi^2_{n_i}\) (\(n_i\) = number of repeated measures on subject \(i\)). Outlying individuals have small p-values.

  • p-values give a common metric when \(n_i\) varies across subjects.
  • Caution (FLW p.268): because we focus on the most extreme \(d_i\), the true tail behaves worse than a plain \(\chi^2_{n_i}\); a Bonferroni correction (\(p \times N\)) is available but very conservative. Expect about \(0.05N\) “significant” \(d_i\) by chance.

Part 2: The Semi-Variogram

Variogram: FLW Definition (eq 10.4)

The semi-variogram is one-half the expected squared difference between two residuals on the same individual, at time-lag \(h_{ijk}\):

\[ \gamma(h_{ijk}) \;=\; \tfrac12\,\mathbb{E}\big[(r_{ij}-r_{ik})^2\big]. \tag{10.4}\]

Since residuals have mean zero,

\[ \gamma(h_{ijk}) \;=\; \tfrac12\operatorname{Var}(r_{ij}) + \tfrac12\operatorname{Var}(r_{ik}) - \operatorname{Cov}(r_{ij},r_{ik}). \]

Note

Key result. Applied to the transformed residuals (variance 1, zero correlation), this becomes \(\tfrac12(1)+\tfrac12(1)-0 = 1\). So under a correct covariance model the variogram of transformed residuals fluctuates around 1 with no systematic curvature.

Variogram: the Geostatistics Motivation (flagged)

Warning

Beyond FLW Ch. 10 (motivation only). In spatial / geostatistics, for a stationary process with process variance \(\sigma^2\) and correlation function \(\rho(u)\) at lag \(u\), \[ \gamma(u) = \sigma^2\{1 - \rho(u)\}. \] This is the Diggle et al. (2002) form. FLW cites this literature but does NOT use this expression in Ch. 10; its in-chapter rule is “transformed-residual variogram centers at 1.”

Pattern (stationary motivation) Implied correlation
Flat across lags constant correlation (CS)
Rising toward \(\sigma^2\) with lag decaying correlation (AR(1))

How to Read a Variogram

Reading rule (transformed-residual scale)

Y-axis: semi-variance \(\gamma(h)\) (half mean squared difference of residuals at lag \(h\)). X-axis: time-lag \(h\).

Pattern You See What It Means Model Implication
Flat, fluctuating around 1 covariance model adequate keep the model
Rising with lag correlation decays but model assumes constant switch CS to AR(1) / exponential
Rising without bound long-range dependence unmodeled add random slope or longer-range correlation

Part 3: Case Study (Real FLW Data)

Case Study: Dental Growth Data

Important

Instructor substitution. FLW Ch. 10’s worked example is the menarche / percent-body-fat study (162 girls, MIT Growth & Development Study), which is not distributed with the course. We substitute the dental growth data (Potthoff & Roy 1964; the Ch. 5/7/8 running example) and carry the identical Ch. 10 workflow end to end.

  • 27 children (11 girls, 16 boys), distance (mm) from pituitary to pteryomaxillary fissure at ages 8, 10, 12, 14.
  • Fit the Ch. 8 LME, then: transformed residuals -> Mahalanobis outlier scan -> semi-variogram.

Case Study: Load and Reshape

suppressPackageStartupMessages({
  library(nlme); library(ggplot2); library(dplyr)
})

# Download fallback (FLW site); local copy preferred
data_file <- "../../data/dental.txt"
if (!file.exists(data_file)) {
  dir.create("../../data", showWarnings = FALSE, recursive = TRUE)
  download.file("https://content.sph.harvard.edu/fitzmaur/ala2e/dental.txt",
                data_file)
}

# FLW dental.txt has a comment-header block and is WIDE (one row per child)
raw <- readLines(data_file)
dat_lines <- grep("^[[:space:]]*[0-9]+[[:space:]]+[FM]", raw, value = TRUE)
wide <- read.table(text = dat_lines, header = FALSE,
                   col.names = c("id", "gender", "age8", "age10", "age12", "age14"))

# reshape WIDE -> LONG
long <- reshape(wide, varying = c("age8", "age10", "age12", "age14"),
                v.names = "distance", timevar = "age",
                times = c(8, 10, 12, 14), idvar = "id", direction = "long")
long <- long[order(long$id, long$age), ]
long$id    <- factor(long$id)
long$age_c <- long$age - 8          # center at first occasion
head(long, 6)

Case Study: Load and Reshape

     id gender age distance age_c
1.8   1      F   8     21.0     0
1.10  1      F  10     20.0     2
1.12  1      F  12     21.5     4
1.14  1      F  14     23.0     6
2.8   2      F   8     21.0     0
2.10  2      F  10     21.5     2

Case Study: Fit the Ch. 8 LME

fit <- lme(distance ~ age_c * gender,
           random = ~ 1 + age_c | id,
           data = long, method = "REML")
round(fixef(fit), 3)
VarCorr(fit)

Case Study: Fit the Ch. 8 LME

id = pdLogChol(1 + age_c) 
            Variance   StdDev    Corr  
(Intercept) 3.23395963 1.7983213 (Intr)
age_c       0.03252416 0.1803446 -0.091
Residual    1.71620491 1.3100400       

Case Study: Fit the Ch. 8 LME

  (Intercept)         age_c       genderM age_c:genderM 
       21.209         0.480         1.407         0.305 

Case Study: Transformed Residuals (eq 10.2)

uids   <- levels(long$id)
r_marg <- resid(fit, level = 0)          # RAW residual Y - X*beta (level=0)
long$r_marg <- r_marg

long$r_star <- NA_real_
d_i <- setNames(numeric(length(uids)), uids)   # Mahalanobis distances

for (u in uids) {
  idx   <- which(long$id == u)
  Sig_i <- getVarCov(fit, individual = u, type = "marginal")[[1]]  # Sigma_i hat
  L_i   <- t(chol(Sig_i))                # lower-triangular: Sigma_i = L_i L_i'
  r_i   <- long$r_marg[idx]
  rstar <- solve(L_i, r_i)               # r* = L_i^{-1} r_i   (eq 10.2)
  long$r_star[idx] <- rstar
  d_i[u] <- sum(rstar^2)                 # d_i = r*' r*        (eq 10.3)
}

c(var_transformed = round(var(long$r_star), 3))   # should be ~1

Case Study: Transformed Residuals (eq 10.2)

var_transformed 
          0.972 

Case Study: QQ Plot of Transformed Residuals

Reading rule

Straight line = approximate normality, model adequate. Bow shape = skewness. Stragglers at the ends = candidate outliers (here, the upper tail bends out, flagging an unusual observation - which the Mahalanobis scan localizes next).

Case Study: Mahalanobis Outlier Scan (eq 10.3)

Reading rule

Red line = upper 5% point of \(\chi^2_4\). Bars above it flag children whose whole profile fits poorly. Here 2 children cross p<0.05 (most extreme: id 20). Inspect, do not auto-delete; a few crossings are expected by chance (\(\approx 0.05N\)).

Case Study: Semi-Variogram of Transformed Residuals (eq 10.4)

Reading rule

Red dashed line at 1 = the FLW reference for transformed residuals. Points fluctuating around 1 with no systematic curvature = the random-intercept-plus-slope covariance is adequate. Drift away from 1 / curvature = wrong covariance model.

Case Study: Does Dropping the Random Slope Change the Variogram? (dental)

Reading rule

On dental the two transformed-residual variograms are nearly identical and both hover around the dashed line at 1 (range about 0.71-1.13, with a small-sample dip at the middle lag). So dropping the random slope barely changes the covariance fit here: the random-intercept structure is already close to adequate for these data. The pattern to watch for elsewhere is a variogram that drifts steadily up and away from 1 (the simpler model’s would, if the dropped structure mattered) - dental does not show that.

Case Study: Standalone SAS (PROC MIXED)

/* Dental growth LME with residual + influence diagnostics.
   Data already reshaped to LONG: id gender age_c distance.            */
proc mixed data=dental_long method=reml;
    class id gender;
    model distance = age_c gender age_c*gender /
          solution outpm=marg_resid outp=cond_resid
          residual influence(effect=id);
    random intercept age_c / subject=id type=un g;
run;

/* outpm= : marginal residuals (Y - X*beta)         -> variogram input
   outp=  : conditional residuals (Y - X*beta - Z*b)
   influence(effect=id) : leave-one-cluster-out Cook's D / restricted
                          likelihood distance per child (Level-2)       */

Part 4: Software Diagnostics (nlme / lme4)

Two Residual Types in Software

FLW’s split is raw vs transformed. Software (nlme, lme4) instead exposes two levels of residual. Keep the vocabulary distinct:

Software residual Formula Use
Marginal \(r^{M}_{ij}\) \(Y_{ij} - X_{ij}\hat{\boldsymbol\beta}\) mean / covariance adequacy (this is FLW’s raw residual)
Conditional \(r^{C}_{ij}\) \(Y_{ij} - (X_{ij}\hat{\boldsymbol\beta} + Z_{ij}\hat{\mathbf{b}}_i)\) within-subject error assumptions

Warning

level matters. residuals.lme() defaults to the innermost level = conditional residuals (\(Y - X\hat\beta - Z\hat{\mathbf b}\)). For marginal residuals you must pass level = 0. (Direct analog of the re.form = NA trap.)

Conditional Residuals vs Fitted

Reading rule

Dashed line at 0 = target mean. Random scatter, constant spread = error assumptions OK. Funnel / fanning = non-constant variance. Curvature in the red smooth = mean model misspecified.

Conditional Residual ACF (beyond FLW)

Warning

Beyond FLW Ch. 10. FLW diagnoses covariance adequacy with the semi-variogram of transformed residuals, NOT an ACF plot. nlme::ACF is a time-series convention shown here as a complementary software check.

Reading rule

Blue/grey bands = 95% no-correlation envelope (they widen at higher lags as fewer pairs contribute). Here the lag-1 normalized-residual autocorrelation is about -0.47, just outside the lag-1 band; the lag-3 value is also negative but sits within its (wider) band. With only 4 occasions per child, decorrelating such short within-subject vectors tends to induce spurious negative autocorrelation, so the lag-1 excursion is most likely a small-sample/normalization artifact, not genuine serial dependence. The FLW-preferred adequacy check is the transformed-residual semi-variogram (near 1, prior slide), which says the covariance model is fine, so we do not add corAR1 on the basis of this ACF. Read normalized-residual ACFs cautiously when \(n_i\) is small.

Random-Effect (Empirical BLUP) Plots: Correct Use

Warning

FLW p.273 caution. Do NOT use histograms / QQ plots of empirical BLUPs to judge the normality of the random-effects distribution. BLUPs are shrunk toward the population mean, so their spread understates the true RE variance.

Reading rule

Use these plots only to spot individuals with extreme/unusual subject-specific profiles (points far from the line), exactly as FLW does. A “non-normal looking” BLUP plot is NOT evidence the RE distribution is non-normal.

Part 5: Beyond-FLW Diagnostics (flagged)

Cluster Influence: Leave-One-Out Refit (beyond FLW)

# REAL leave-one-cluster-out refit (N=27 children -> fast, runs in full)
beta_full <- fixef(fit)
ctrl  <- lmeControl(maxIter = 200, msMaxIter = 200, opt = "optim")
delta <- setNames(rep(NA_real_, length(uids)), uids)
for (u in uids) {
  sub <- long[long$id != u, ]
  rf  <- tryCatch(
    lme(distance ~ age_c * gender, random = ~ 1 + age_c | id,
        data = sub, method = "REML", control = ctrl),
    error = function(e) NULL)
  if (!is.null(rf)) delta[u] <- max(abs(fixef(rf) - beta_full))  # max |change|
}
delta <- delta[!is.na(delta)]   # drop any child whose deletion-refit failed
plot(seq_along(delta), delta, type = "h", lwd = 2,
     xlab = "Child (id) dropped", ylab = "max |delta beta|",
     main = "Leave-one-child-out: max |change| in fixed effects")
text(which.max(delta), max(delta), labels = names(which.max(delta)), pos = 3, col = "red")

Warning

Beyond FLW Ch. 10 (instructor extension; see Pinheiro & Bates 2000, influence.ME for lmer). FLW’s in-chapter individual diagnostic is the Mahalanobis distance (Part 1), not deletion influence.

Cluster Influence: Leave-One-Out Refit (beyond FLW)

CUSUM (recursive): beyond FLW (flagged)

suppressPackageStartupMessages(library(strucchange))
# Recursive CUSUM is an OLS/structural-change construct -> run on an OLS fit
fm <- efp(distance ~ age_c + gender, type = "Rec-CUSUM", data = long)
plot(fm, main = "Recursive CUSUM (OLS mean model) - beyond-FLW demo")

Warning

Beyond FLW Ch. 10 (Zeileis et al. strucchange, econometric structural-change literature). It is run on an OLS fit because recursive CUSUM is an OLS construct, and it assumes ordered, independent observations - which stacked longitudinal rows violate. Treat as illustrative only.

Reading rule

Red boundary lines = simulated null envelope. The empirical fluctuation process crossing the boundary flags a structural change in the mean over the ordering. Staying inside = no detected change.

CUSUM (recursive): beyond FLW (flagged)

What FLW Actually Does: Aggregated Sums (Section 10.4)

FLW Section 10.4 (“aggregating residuals”) uses the Lin, Wei & Ying (2002) cumulative / moving sums of raw residuals over a covariate \(x_{ijk}\) or fitted value:

\[ W_k(x) = \frac{1}{\sqrt{N}}\sum_{i=1}^{N}\sum_{j=1}^{n_i} I(x_{ijk}\le x)\, r_{ij}. \]

  • Under a correct mean model, \(W_k(\cdot)\) behaves like a zero-mean Gaussian process.
  • Assess by simulating many null realizations and comparing the observed \(\max|W_k|\) to the simulated maxima (a supremum test, p-value = proportion exceeding).
  • Robust: valid regardless of the true covariance among responses.

Part 6: Checklist and Pitfalls

Practical Diagnostic Checklist (FLW Ch. 10)

Step Action
1 Compute transformed residuals \(r_i^{*}=L_i^{-1}(\mathbf Y_i-\mathbf X_i\hat{\boldsymbol\beta})\)
2 QQ plot of \(r_i^{*}\) (normality, stragglers)
3 Mahalanobis \(d_i=r_i^{*\top}r_i^{*}\sim\chi^2_{n_i}\) to rank outlying individuals
4 Semi-variogram of transformed residuals: should center at 1
5 Empirical-BLUP plots to spot unusual individuals (NOT to test RE normality)
6 Revise mean / covariance; re-check

RI vs RS: Comparison (boundary caveat)

Model Random Effects When residuals/variogram suggest it
RI intercept only flat residual variance, variogram near 1
RS intercept + slope fanning vs time, variogram drifts off 1 under RI

Warning

Boundary / mixture caveat. Testing whether the random slope is needed is a variance-component-on-the-boundary test. Dropping a random slope from a random-intercept model removes TWO parameters (the slope variance and its covariance with the intercept), so the LRT null is the Stram-Lee mixture \(\tfrac12\chi^2_1 + \tfrac12\chi^2_2\) - NOT a simple halving of a single \(\chi^2\).

Common Mistakes to Avoid

Important

Mistake Why It Is Wrong Correct Approach
QQ-plotting RAW residuals correlated, unequal variance use TRANSFORMED residuals \(r_i^{*}\)
resid(fit) assuming marginal default is innermost = conditional pass level = 0 for marginal/raw
Variogram reference of “0 at lag 0” wrong scale transformed-residual variogram centers at 1
BLUP QQ to test RE normality shrinkage understates variance (FLW p.273) use BLUP plots only to spot unusual individuals
Auto-deleting high-\(d_i\) subjects a few are expected by chance investigate, run sensitivity analysis
Simple halving for RS LRT drops TWO parameters Stram-Lee \(\tfrac12\chi^2_1+\tfrac12\chi^2_2\)

Diagnostic Decision Tree

What Pattern Leads to What Fix?

You Observe Most Likely Cause Try This
Fanning in residuals vs time missing random slope add a random slope ~ 1 + time grouped by id (exact call in notes)
Transformed-residual variogram drifts off 1 wrong covariance structure switch CS to AR(1), or add random slope
ACF lag-1 outside bands residual autocorrelation - but first rule out a short-series normalization artifact (let the transformed-residual variogram be the primary check) add the Ch. 7 AR(1) residual structure (corAR1, grouped by id; exact call in notes) only if the variogram also signals misfit
Bow / stragglers in transformed QQ skew / outliers inspect via Mahalanobis \(d_i\)
Curvature in residuals vs fitted misspecified mean add polynomial / spline
High \(d_i\) for a subject outlying individual investigate; sensitivity analysis

Diagnostic Principles Across Models

Model Residual to use What to Check Note
LMM (Ch. 8) transformed \(r_i^{*}\) mean, variance, covariance empirical-BLUP plots: spot individuals, not RE normality
Covariance pattern (Ch. 7) transformed covariance adequacy via variogram assumes correct mean
GEE (Ch. 13, preview) Pearson / deviance mean, link, dispersion working correlation is heuristic; valid SEs need MCAR (IPW-GEE for MAR)
Fixed effects (Ch. 9) OLS residuals standard OLS diagnostics overfitting can mask issues

Check Your Understanding

Pause and Reflect

  1. Why must we use TRANSFORMED residuals (not raw) for a QQ plot or variogram in a longitudinal model?
  2. The transformed-residual variogram drifts upward away from 1. What does that signal?
  3. A colleague QQ-plots the empirical BLUPs, sees curvature, and concludes the random effects are non-normal. Why is that conclusion unsafe?

Answers: (1) Raw residuals are correlated with unequal variances (\(\Sigma_i\)); only the Cholesky transform \(r_i^{*}=L_i^{-1}r_i\) makes them approximately iid N(0,1), so the standard reference lines apply. (2) The covariance model is misspecified (the “good” reference for transformed residuals is a flat line at 1); consider AR(1) or a richer random-effects structure. (3) BLUPs are shrunk toward the population mean, so their distribution understates the true RE variance (FLW p.273); BLUP plots can only flag unusual individuals, not test RE normality.

Summary

  • Raw residual (eq 10.1) \(r_i=\mathbf Y_i-\mathbf X_i\hat{\boldsymbol\beta}\) - correlated, unequal variance.
  • Transformed residual (eq 10.2) \(r_i^{*}=L_i^{-1}r_i\) - uncorrelated, unit variance; the chapter’s defining tool.
  • Mahalanobis (eq 10.3) \(d_i=r_i^{*\top}r_i^{*}\sim\chi^2_{n_i}\) flags outlying individuals.
  • Semi-variogram (eq 10.4) of transformed residuals centers at 1 under a correct covariance model.
  • Empirical-BLUP plots spot unusual individuals; they do NOT test RE normality (FLW p.273).
  • ACF, cluster-influence, CUSUM are useful but beyond FLW Ch. 10 (flagged).

Further Reading

  • Fitzmaurice, Laird & Ware (2011), Applied Longitudinal Analysis, 2nd ed., Chapter 10 (Residual Analyses and Diagnostics).
  • Lin, Wei & Ying (2002), “Model-checking techniques based on cumulative residuals,” Biometrics 58, 1-12 (FLW’s aggregated-residuals method).
  • Pinheiro & Bates (2000), Mixed-Effects Models in S and S-PLUS (nlme residual / Variogram / ACF tooling).
  • Verbeke & Molenberghs (2000) and Diggle et al. (2002) for the geostatistics variogram (nugget / sill).

Note

Assessment: this material is examined in HW4 (residual diagnostics; covariance-structure adequacy via transformed-residual variograms; outlier scans).