Compound Symmetry and the ICC: One Offset, One Correlation

On this page
Abstract
Post 1 proved that two measurements sharing one person-level offset covary by exactly the between-person variance, filling a single cell of a sixteen-cell table. This post fills the other fifteen. With one shared offset and residuals that are independent and equally variable, the covariance matrix of a participant's four simulated skin-site measurements carries 10.00 on every diagonal cell and 6.25 off it, the shape called compound symmetry. Dividing covariance by the two standard deviations returns the same correlation for every pair, 0.625: the intraclass correlation, the share of total variance that lives between persons. Readers learn how that number prices clustering through the design effect, so 320 rows carry roughly the information of 111 independent observations, and why compound symmetry assumes two things rather than one.

Post 2 of 8 — One Number Per Person: Linear Mixed Models from the Ground Up. Post 1 — The Shared Offset showed $b_i$ sitting visibly in the raw rows before any model was fitted, and then derived in three lines that two measurements which share one number have a covariance of exactly $\tau^2$. That derivation filled one cell of a table that has sixteen. This post fills the other fifteen, names the ratio that falls out of them, and hands you the number you will need the next time you plan a repeated-measures study; Post 3 — Conditional or Marginal? then reads the finished matrix in two legitimate ways at once.
Every number in this series comes from simulated teaching data; later posts introduce clearly labelled variant simulations. It is not an empirical finding, it describes no real cohort, and it must not be cited as evidence about skin physiology.
Where we are: one filled cell, fifteen empty ones
Post 1 needed one number: what two measurements from the same person have in common. This post needs sixteen, because four measurements can be paired with one another — and with themselves — in sixteen ways. The word "matrix" is doing no clever work here: it is a 4×4 grid, laid out like a drug-interaction chart with the same four drugs down the side and across the top.
The running example is a simulated cross-sectional study of skin-barrier function: 80 adults, 40 with moderate atopic dermatitis (AD) and 40 without any atopic disease, in whom transepidermal water loss (TEWL, g·m⁻²·h⁻¹) is measured with a closed-chamber evaporimeter at four standardised, clinically uninvolved skin sites — forearm, hand, shin, back — in the same order, in the same room, at a single visit. That is 320 observations from 80 people, perfectly balanced. The data were generated by
\[ \text{tewl}_{ij} \;=\; \mu_{j,\,g(i)} \;+\; b_i \;+\; e_{ij}, \qquad b_i \sim N(0,\ \tau^2), \qquad e_{ij} \sim N(0,\ \sigma^2), \qquad b_i \perp e_{ij} \]
with a between-person variance of $\tau^2 = 6.25$ (SD 2.5) and a within-person residual variance of $\sigma^2 = 3.75$ (SD 1.94). Read in words: $b_i$ is how far participant $i$ sits from the population profile at every site, and $e_{ij}$ is how far one particular site sits from that participant's own profile.
Each participant contributes four rows, so the object we are after is a $4\times4$ table holding the variance of each measurement on the diagonal and the covariance of each pair off it. Post 1 delivered one entry of that table. The remaining fifteen require no new ideas at all — only the same two variance components, arranged.
Think of $\tau^2$ and $\sigma^2$ as two knobs on a console, and of the matrix as a display that redraws whenever a knob moves. The whole of this post is an instruction manual for one dial.
Filling the matrix, cell by cell
Before the hard part: filling in a covariance matrix is bookkeeping, not new theory. Picture that 4×4 grid with
forearm,hand,shinandbackdown the side and the same four across the top. A cell on the diagonal asks "how much does this one site vary?", and every cell off the diagonal asks "how much do these two sites move together?". Post 1 answered both questions already; the only work left is to write each answer into its box.
Start on the diagonal. A single measurement is a constant plus two independent random pieces, and the constant contributes nothing to a variance:
\[ \operatorname{Var}(Y_{ij}) \;=\; \operatorname{Var}(b_i + e_{ij}) \;=\; \operatorname{Var}(b_i) + \operatorname{Var}(e_{ij}) \;=\; \tau^2 + \sigma^2 \;=\; 6.25 + 3.75 \;=\; 10.00 \]
There is no site index anywhere on the right-hand side. The forearm, the hand, the shin and the back therefore carry the same marginal variance, 10.00 squared TEWL units, not because the four sites are physiologically alike but because the simulation was written with one $\sigma^2$ for all of them.
Now the off-diagonal, which is Post 1's result written once for every pair:
\[ \operatorname{Cov}(Y_{ij}, Y_{ik}) \;=\; \operatorname{Cov}(b_i + e_{ij},\ b_i + e_{ik}) \;=\; \operatorname{Var}(b_i) \;=\; \tau^2 \;=\; 6.25 \qquad (j \neq k) \]
The two residuals are independent of each other and of $b_i$, so all three cross-terms vanish and only the variance of the shared quantity survives. Again there is no index: $b_i$ enters the forearm row and the back row with the same value it enters the hand row and the shin row, so no pair of sites is privileged over any other. Twelve off-diagonal cells, one number.
Assembled, for any participant, in the order forearm / hand / shin / back:
\[ V \;=\; \begin{pmatrix} 10.00 & 6.25 & 6.25 & 6.25\\ 6.25 & 10.00 & 6.25 & 6.25\\ 6.25 & 6.25 & 10.00 & 6.25\\ 6.25 & 6.25 & 6.25 & 10.00 \end{pmatrix} \]
Every diagonal entry is $\tau^2 + \sigma^2$ and every off-diagonal entry is $\tau^2$, which is the entire content of the matrix.
It is worth noticing what is not in $V$. The simulated group means differ by site — and the differences are not equal across sites, so the site × group interaction is real in this simulation, by construction:
| site | control (g·m⁻²·h⁻¹) | AD (g·m⁻²·h⁻¹) | difference, AD − control |
|---|---|---|---|
| forearm | 12.0 | 18.0 | +6.0 |
| hand | 16.0 | 24.0 | +8.0 |
| shin | 10.0 | 13.0 | +3.0 |
| back | 14.0 | 19.0 | +5.0 |
None of those eight numbers appears in $V$. The mean structure and the covariance structure are separate statements about the same data: the first says where the measurements sit, the second says how they move together around wherever they sit. An AD participant and a control participant in this simulation have entirely different expected profiles and the identical $4\times4$ covariance matrix.
Two standard matrices make the pattern compact. Let $J_k$ be the $k\times k$ matrix of ones and $I_k$ the identity:
\[ V \;=\; \tau^2 J_k + \sigma^2 I_k \;=\; 6.25\,J_4 + 3.75\,I_4 \]
The first term paints $\tau^2$ into all sixteen cells — the shared offset is shared by every pair, including a measurement with itself — and the second term adds $\sigma^2$ to the four diagonal cells only, because a residual covaries with nothing except itself.
Compound symmetry is an assumption about two things, not one
The flat matrix above rests on two separate promises, and readers usually notice only the first. Promise one: every pair of sites hangs together equally tightly. Promise two: every site is equally variable in the first place. Hold them apart as you read on, because in real data the second one fails far more often than the first.
A covariance matrix with equal entries on the diagonal and equal entries everywhere off it is said to have compound symmetry; the correlation matrix it implies is called exchangeable, because any relabelling of the four sites returns the same matrix. Both names describe the same shape, and the shape has two defining features that are worth separating, because in practice one of them fails far more often than the other.
The exact generating condition, then, is not "a random intercept". It is a random intercept and one pooled, independent residual variance. Post 1's derivation gave the first half; the line $\operatorname{Var}(Y_{ij}) = \tau^2 + \sigma^2$ quietly used the second, because a site-specific $\sigma_j^2$ would have left a $j$ on the right-hand side. Post 6 keeps the random intercept, gives each site its own residual variance, and shows that all twelve off-diagonal cells still read 6.25 while the correlations spread out.
Two boundary cases are worth naming so that the claim is not overstated in the other direction. With only two measurements per person there is a single off-diagonal cell, which is trivially equal to itself whatever the two diagonals do, and with $\tau^2 = 0$ every correlation is zero for the same trivial reason. From $k \geq 3$ upwards, and with $\tau^2 > 0$, equal correlations genuinely require equal variances on the diagonal, which is the case this series is about. A second qualification belongs here as well: the flat 6.25 off the diagonal was derived under residuals that do not covary with one another, and if that is relaxed each off-diagonal cell reads $\tau^2$ plus a residual covariance — the door Post 6 opens when it counts how many parameters a $4\times4$ matrix can actually pay for.
One more piece of hygiene before the arithmetic continues. The software did not select this correlation pattern for you, and it did not "switch on" a correlation because the data looked repeated. The pattern is an algebraic consequence of a structure you specified — random = ~ 1 | id, taken together with the single pooled independent residual the software supplies unless you ask for something else — and it would be exactly the same pattern if the data contradicted it.
From covariance to correlation
Before the hard part: covariance is an unfriendly number because it carries squared units, and nobody has intuition for "6.25 squared TEWL units". Correlation is the same information rescaled onto the −1 to +1 axis you already read in every paper, in the same spirit as converting a raw creatinine into an eGFR so that it can be compared with something. The line below performs that rescaling, and in this particular matrix it is one division carried out six times.
A covariance is not interpretable on its own, since it carries the squared units of the measurement. Divide each cell by the square root of the product of the two variances involved:
\[ \operatorname{Corr}(Y_{ij}, Y_{ik}) \;=\; \frac{\operatorname{Cov}(Y_{ij},Y_{ik})}{\sqrt{\operatorname{Var}(Y_{ij})\operatorname{Var}(Y_{ik})}} \;=\; \frac{6.25}{\sqrt{10.00 \times 10.00}} \;=\; \frac{6.25}{10.00} \;=\; 0.625 \]
Because both variances in the denominator are 10.00, the square root is just 10.00, and the division is the same division for all six pairs. The correlation matrix is therefore as flat as the covariance matrix:
\[ \operatorname{Corr} \;=\; \begin{pmatrix} 1 & .625 & .625 & .625\\ .625 & 1 & .625 & .625\\ .625 & .625 & 1 & .625\\ .625 & .625 & .625 & 1 \end{pmatrix} \]
Two measurements from the same simulated participant correlate at 0.625 whichever two sites you pick, and two measurements from different participants correlate at zero, because they share no $b$.
Notice the step that made this easy: the denominators were identical, so the covariance matrix and the correlation matrix carry the same information up to one scale factor. That convenience is a property of equal diagonals, not a property of random intercepts, and Post 6 is largely the story of what happens when it is withdrawn.
Before the number is given its name, turn the knobs yourself.

The explorer opens exactly where this post opened, at $\tau^2 = 6.25$, $\sigma^2 = 3.75$ and $k = 4$. Push the $\tau^2$ slider up and every cell of the matrix rises together, diagonal and off-diagonal alike; push the $\sigma^2$ slider up instead and only the four diagonal cells move, while the twelve off-diagonal cells stand still. Leave the conditional | marginal toggle on marginal for now — that switch is Post 3's business — and watch the readout in the corner as you move each slider a little. That readout is the quantity the next section is about.
The number has a name: the intraclass correlation
Epidemiologists already own this number under another name. It is the same ICC that appears in cluster-randomised trials, where the cluster is a clinic rather than a person, and it arrives here with no extra work: the shared part divided by the whole.
\[ \rho \;=\; \operatorname{ICC} \;=\; \frac{\tau^2}{\tau^2+\sigma^2} \;=\; \frac{6.25}{10.00} \;=\; 0.625 \]
The ratio is the proportion of the total marginal variance that lives between persons rather than within them, and it is numerically identical to the off-diagonal correlation computed above — which is why it is called an intraclass correlation, the correlation between two members of the same class, here two measurements belonging to the same participant.
In this simulated dataset, 62.5% of the variability in TEWL is "which person is being measured", and the remaining 37.5% is what is still moving inside a person once the fixed site-by-group means have been taken out: how far one site sits from that participant's own expected profile, plus whatever the evaporimeter contributes. The systematic differences between sites are not in that 37.5% at all. They were removed with the mean structure, which is exactly why no site index survived into $V$, and it is worth resisting the shorthand "the rest is site" for that reason. Those two percentages are a description of a design, not a discovery about skin.

Why an epidemiologist cares: 320 rows, about 111 rows of information
Before the hard part: this is the section an ethics committee or a grant reviewer will ask about. The claim is that 320 measurements are not 320 pieces of independent information — in the same way that asking one patient the same question four times is not the same as asking four patients once. The arithmetic below puts a price on that difference. As the second half of the section insists, though, the price is charged only on some of the comparisons this dataset can produce.
An ICC is not only a description of where variability lives. It is also the exchange rate between the number of rows in your dataset and the amount of independent information those rows carry — for one particular kind of estimate, as the end of this section insists. For a cluster of size $k$ with exchangeable correlation $\rho$, the design effect is
\[ \operatorname{DE} \;=\; 1 + (k-1)\rho \;=\; 1 + 3 \times 0.625 \;=\; 1 + 1.875 \;=\; 2.875 \]
and dividing the raw number of observations by it gives the effective sample size,
\[ n_{\text{eff}} \;=\; \frac{320}{2.875} \;=\; 111.3 \;\approx\; 111 \]
Three hundred and twenty measurements, therefore, carry roughly the information of 111 independent ones — but only for an estimate that averages a participant's four rows together, such as the overall mean TEWL or an AD−control difference pooled across the four sites. For those estimates the four rows a participant contributes are not four independent looks at the population; they are four looks at one person, and the second, third and fourth are each partly a repetition of the first.
The tax, however, is levied on the estimator and not on the dataset, and it is worth being exact about which estimators pay it, because the loose version of this rule is repeated often enough to be worth contradicting. An estimate that pools a participant's repeated rows pays the full 2.875, for the reason just given. An estimate that takes one row per person from two disjoint sets of people — the AD−control difference at the shin alone, say — pays nothing at all, even though it is unambiguously a between-person comparison: forty people contribute one shin measurement each to one group, forty different people contribute one each to the other, and no measurement has been counted twice. A contrast computed within a person — the same participant's forearm against the same participant's back — does better still, because the shared offset cancels out of the difference, so that with the total marginal variance held fixed its precision improves rather than deteriorates as $\rho$ rises. Thus the honest one-line summary is directional rather than global: clustering costs information wherever a person's rows are averaged together and buys information wherever they are differenced, and Post 8 puts those standard errors side by side so that the trade is visible in the output.
For planning, this means an anticipated ICC may need to be stated explicitly in the sample-size section, and the target size may need to be inflated by the corresponding design effect whenever the primary estimate averages each participant's repeated measurements. A protocol that counts 320 measurements as 320 independent observations, without first asking which contrast the primary analysis will actually compute, could substantially overstate the precision it will achieve — and a protocol that inflates every comparison indiscriminately could recruit participants it does not need.
The boundary line: this is not the reliability ICC
Many readers meet the ICC first in a reliability study, where two raters or two occasions measure the same subjects and the ICC is reported as evidence that an instrument is dependable. The formula is the same ratio of a between-subject variance to a total variance. The job is not the same at all.
In a reliability study the between-subject variance is the signal, the residual is measurement error, and the resulting coefficient is a property of the instrument and the population it was estimated in — which is why that literature insists you declare the model, the definition and the type before anyone reads your number. In a mixed model for clustered data, $\tau^2$ is a nuisance-structure parameter whose job is to describe dependence among rows, and $\sigma^2$ is not measurement error alone: in this simulated study it contains genuine site-to-site variation within a person as well as whatever the evaporimeter contributes. An ICC of 0.625 here is therefore a statement about how rows hang together, and it should not be reported, or read, as "the evaporimeter was moderately reliable".
When reading someone else's paper, therefore, the first question about a reported ICC is not whether 0.63 counts as good. It is which of these two jobs the coefficient was hired to do.
The reliability side of the family is treated properly in Continuous agreement: ICC, SEM and Bland–Altman. Same algebra, different question, different reporting obligations.
Turn the dial to each end
The clearest way to see what 0.625 means is to hold the total marginal variance at 10.00 and move the split between its two components to each extreme. Both limits are computed from the same formulas used above; only the allocation changes.
| dial position | $\tau^2$ | $\sigma^2$ | $\rho$ | design effect | $n_{\text{eff}}$ |
|---|---|---|---|---|---|
| $\rho \to 0$ | 0 | 10.00 | 0 | 1 | 320 |
| the simulation | 6.25 | 3.75 | 0.625 | 2.875 | ≈ 111 |
| $\rho \to 1$ | 10.00 | 0 | 1 | 4 | 80 |
At the left end, $V = 10.00\,I_4$: the off-diagonal cells are empty, the rows from one person are no more alike than rows from different people, and the mixed model collapses toward an ordinary linear regression. At the right end, $V = 10.00\,J_4$: every cell reads 10.00, every correlation is 1, each participant is effectively a single data point recorded four times, and the effective sample size falls to 80 — precisely the number of people in the study. The simulation's 0.625 sits closer to the right-hand end than to the left because the author put it there, and for no other reason. Where a real study's ICC sits is an empirical question, to be answered from pilot data or from published estimates on the same measurement in a comparable population, and not to be assumed from the fact that the measurements were repeated.
The left end also carries a practical warning worth registering now. A $\widehat{\tau}^{2}$ estimated at or near zero is a variance component sitting on the boundary of its parameter space, which is what produces the singular fits and boundary warnings discussed in Post 5, and it is not on its own a licence to delete the random effect from a design that genuinely has repeated measurements.
Reading it off the output
What remains is clerical rather than conceptual. Software packages print these two numbers under different headings, and some of them print the square root of the quantity the formula actually wants — the difference between an SD and a variance, which is the same trap as reading a laboratory value off the wrong column of a report form. The rule is short: read the column label before you read the number, every time.
The specification behind everything above — Spec A, as this series calls it — is one line in either R dialect:
# Spec A — random intercept, pooled residual variance
library(nlme)
fitA <- lme(tewl ~ site * group + age + sex + phototype,
random = ~ 1 | id, data = skin, method = "REML")
# equivalent in lme4
library(lme4)
fitA2 <- lmer(tewl ~ site * group + age + sex + phototype + (1 | id), data = skin)
* Stata equivalent of Spec A
mixed tewl i.site##i.group age i.sex i.phototype || id:, reml
Two things in those calls deserve a note before any output is read. The fitted model carries age, sex and phototype, which the generating equation at the top of this post does not: a real analysis would adjust for them, and because they are constant within a participant they leave the shape of $V$ exactly as derived here, although any effect they genuinely carry moves part of the between-person variability out of $\widehat{\tau}^{2}$ and into the mean structure. The estimation method has to be matched deliberately as well, since lme() and lmer() default to REML while Stata's mixed defaults to maximum likelihood — hence the reml option above, without which the variance components being compared are not estimated by the same criterion.
VarCorr() prints the random-effects panel, and Stata's mixed prints an equivalent one. Both report a between-person quantity and a residual quantity, and the ICC is the first divided by the sum of the two — but only after you have read the column heading rather than assumed it. The two R packages do not print the same thing: VarCorr() on an lme4 fit shows a Std.Dev. column alone, whereas on an nlme fit it shows a Variance column and a StdDev column side by side, and summary() on the lme4 fit shows both again. Stata's mixed reports variances, which go straight into the formula, and estat icc will return the ratio for you. The safe habit, therefore, is not to memorise which package prints which, but to identify the labelled column every time. An intercept entry of 2.5 sitting under StdDev is not $\tau^2$ but its square root, and it must be squared to 6.25 before it enters the ratio. The residual entry beside it prints as 1.94, which is $\sqrt{3.75}$ rounded to two decimals — square the value the software holds rather than the value it displays, or the diagonal will not come back to 10.00. An ICC formed from standard deviations instead of variances is simply the wrong number, and it is one of the more common arithmetic slips in a methods section.
One further caution, since this post has quoted the generating values throughout as though a fitted model would hand them back. It will not. What an output panel reports is $\widehat{\tau}^{2}$ and $\widehat{\sigma}^{2}$, estimates that scatter around the values used to build the data rather than landing on them, so an ICC computed from real output will sit near 0.625 without equalling it, and the gap is estimation error rather than a mistake to be hunted down.
Where compound symmetry is plausible, and where it is not
Compound symmetry may be a reasonable starting assumption when the repeated unit is a small, fixed set of measurement locations with no natural ordering, measured under one protocol at one sitting — which is exactly how the four sites in this simulated study were defined. Under those conditions there is no obvious reason why the forearm–hand pair should be more alike than the shin–back pair, and an exchangeable structure states that symmetry honestly and cheaply, with two parameters instead of ten.
It is much less plausible in three recognisable situations. First, when the repeated dimension is time, since visits close together commonly resemble one another more than visits far apart, and no exchangeable structure can express that. Second, when the units differ visibly in residual spread, since a single pooled $\sigma^2$ then misdescribes every unit at once. Third, when participants differ in their rate of change rather than only in their level, since the marginal variance is then a function of time and cannot be constant down the diagonal.
Each situation has an escape route, and the series takes them in order: enrich the random-effects side, which is Post 5, or enrich the residual side, which is Post 6. Neither route is a default. The structure should be changed because diagnostics contradict the assumption, never because a tidier-looking output would be more comfortable to report, and never on the basis of what happens to the p-values of the fixed effects.
What the 0.625 does not license
Legitimate arithmetic is not the same thing as a validated assumption, and this post's central number invites four over-readings that are worth refusing explicitly. First, 0.625 is not a fact about skin physiology; it is a property of a simulated design in which the two variance components were chosen by the author. Second, it is not a reliability coefficient, and it says nothing about whether the instrument would reproduce its own reading. Third, it is not evidence that compound symmetry fits these data, because a fitted random-intercept model returns a compound-symmetric $V$ by construction, whether or not that shape is right — the matrix cannot disconfirm the assumption that generated it. Fourth, a high ICC is not a defect to be engineered away; it is information about where variability lives, and a low one is not permission to drop the random effect when the design is genuinely clustered.
What to do in your own analysis
First, report both variance components and the ICC implied by them, rather than one of the three, so that a reader can reconstruct the covariance matrix you actually fitted. Second, square the printed standard deviations before forming the ratio if your software reports SDs. Third, state the covariance assumption in words in the methods — "a participant-level random intercept with a single pooled residual variance, implying a compound-symmetric marginal covariance" reads better and travels further than the name of a function call. Fourth, at the design stage it may be worth stating an anticipated ICC and inflating the target sample size by $1+(k-1)\rho$ for a primary estimate that averages each participant's repeated measurements, while stating explicitly that a comparison using one row per person, and a contrast taken within a person, do not pay that tax. Fifth, inspect the residual spread unit by unit before you rely on a pooled $\sigma^2$, since that single assumption is what makes the whole matrix flat. Sixth, consider pre-specifying a less restrictive covariance structure as a sensitivity analysis, so that the question "would a different structure change the conclusion?" is answered in the manuscript rather than at the viva.
Key takeaways
- A random intercept with one pooled, independent residual variance produces a marginal covariance matrix with $\tau^2+\sigma^2 = 10.00$ on every diagonal cell and $\tau^2 = 6.25$ in every off-diagonal cell, and that shape is called compound symmetry.
- Dividing the covariance by the product of the standard deviations gives the same correlation for every pair, $6.25/10.00 = 0.625$, which is the intraclass correlation.
- The ICC is the proportion of total variance that lives between persons, so in this simulated dataset 62.5% of the variability is attributable to which participant is being measured, and the remaining 37.5% to within-person departures from that participant's own expected profile — the systematic site differences having already been removed with the fixed means.
- With $k = 4$ and $\rho = 0.625$ the design effect is 2.875, so the 320 simulated rows carry roughly the information of 111 independent observations for an estimate that averages each participant's four rows; a comparison that uses one row per person pays no such penalty even though it is a between-person comparison, and a within-person contrast gains precision from the same clustering.
- Compound symmetry is an assumption about two things, equal variances and equal covariances, and a compound-symmetric output is a consequence of the structure you fitted rather than evidence that the structure was correct.
Next in the series
Post 3 keeps this matrix exactly as it is and shows that the same fitted model can say "these four measurements are independent" and "these four measurements correlate at 0.625" without contradicting itself, because the two statements answer two different clinical questions: Conditional or Marginal? Two Questions, One Mixed Model.
Reference
Diggle PJ, Heagerty P, Liang KY, Zeger SL. Analysis of Longitudinal Data. 2nd ed. Oxford University Press; 2002.