Tutorials › ANOVA › A Complete One-Covariate ANCOVA Analysis

One-Covariate ANCOVA · Tutorial 491 of 595

A Complete One-Covariate ANCOVA Analysis

Work through a complete one-covariate ANCOVA analysis, including its model, treatment test, adjusted means, uncertainty, and design-based conclusion.

Intermediate 10 min read

What You'll Learn

  • Specify an additive one-covariate ANCOVA model for a treatment comparison
  • Interpret the covariate slope and treatment coefficients in context
  • Calculate the pooled within-treatment slope and residual mean square
  • Test the overall treatment effect with a partial F statistic
  • Calculate adjusted means at a shared covariate value and report their uncertainty
  • Limit the study conclusion to what its design and assumptions support

From Study Question to ANCOVA Conclusion

A complete analysis of covariance (ANCOVA) is more than a software output or a treatment p-value. It connects a study question to a model, checks whether that model is a reasonable basis for inference, estimates treatment differences after covariate adjustment, and reports uncertainty in a way that respects the study design. This tutorial follows that chain using a small hypothetical randomized study.

Suppose investigators randomly assign 15 participants to one of three exercise programs, with five participants assigned to each program. They record a baseline fitness score and a follow-up fitness score after six weeks. The question is whether mean follow-up scores differ among the programs after accounting for baseline score. The baseline score is a covariate; the program is the treatment factor; follow-up score is the outcome.

Model: For participant \(j\) in treatment group \(g\), the additive one-covariate ANCOVA model is \(Y_{gj}=\alpha_g+\beta x_{gj}+\varepsilon_{gj}\). Here \(Y_{gj}\) is follow-up score, \(x_{gj}\) is baseline score centered at a chosen value, \(\alpha_g\) is the fitted mean follow-up score for group \(g\) when \(x=0\), \(\beta\) is the common covariate slope, and \(\varepsilon_{gj}\) is the error.

The model assumes a linear relationship between baseline and follow-up scores over the range used for comparison, a common slope across treatment groups, independent errors with mean zero, and a common error variance. For the usual exact small-sample \(t\) and \(F\) inference, errors are also assumed to be normally distributed. Random assignment supports comparisons of the programs, while independence also requires that one participant's outcome does not determine another's. The common-slope assumption is part of this additive model; it should not be treated as automatically true merely because the model can be fitted.

Before interpreting results, inspect the design and data. Here each group has the same baseline values, spanning the same range, so the adjusted comparison is not relying on extrapolation to a baseline score absent from one of the groups. In practice, residual plots help assess linearity and unusual observations, and residual spread by group helps assess constant variance. Small samples cannot establish normality convincingly, so the distributional assumption remains an important qualification.

Worked Study Data and Model Fit

Worked Example: Setting Up the Analysis

For simplicity, suppose the observed baseline scores are 48, 49, 50, 51, and 52 in each program. Center baseline at 50, so \(x\) is baseline score minus 50 and takes values \(-2,-1,0,1,2\). The hypothetical follow-up scores are:

ProgramFollow-up scores at \(x=-2,-1,0,1,2\)Group mean
A48, 46.5, 52, 49.5, 5450
B53, 51.5, 57, 54.5, 5955
C56, 54.5, 60, 57.5, 6258

The centering makes \(x=0\) correspond to a baseline score of 50. Because the five centered baseline values sum to zero in every group, each group mean is also its observed mean follow-up score at the centering point in this balanced example. The fitted model will estimate adjusted group means at that shared baseline value.

A useful model check is to examine the fitted residuals. In this constructed example they are \(1,-2,2,-2,1\) within each group. Their squared values sum to \(1+4+4+4+1=14\) per group, so the total residual sum of squares is \(42\). The residual pattern has no linear trend across these five baseline values, but repeated patterns in a small hypothetical dataset do not demonstrate that real study errors are normal or independent. Those assumptions still need justification from study conduct and diagnostic evidence.

Estimating the Covariate Slope and Treatment Effects

In the additive model, the slope is estimated from the relationship between covariate and outcome within treatment groups. This prevents differences in group means from being mistaken for the covariate relationship. The pooled within-group slope is

$$ \hat{\beta} = \frac{\sum_g\sum_j (x_{gj}-\bar{x}_g)(Y_{gj}-\bar{Y}_g)} {\sum_g\sum_j (x_{gj}-\bar{x}_g)^2}. $$

For the example, \(\bar{x}_g=0\) in each group and \(\sum_j x_{gj}^2=10\). In each group, the deviations of follow-up scores from that group's mean are \(-2,-3.5,2,-0.5,4\). Their cross-product with the centered baseline values is \((-2)(-2)+(-1)(-3.5)+(0)(2)+(1)(-0.5)+(2)(4)=15\). Thus the pooled numerator is \(3(15)=45\), and the denominator is \(3(10)=30\). The estimated common slope is \(45/30=1.5\) follow-up points per baseline point.

The distinction between deviations from a group mean and fitted residuals matters. After fitting the slope \(1.5\), the residuals are the group-mean deviations minus \(1.5x\), giving \(1,-2,2,-2,1\). Their sum is zero, and their cross-product with \(x\) is \((-2)(1)+(-1)(-2)+(0)(2)+(1)(-2)+(2)(1)=0\). These residuals are not the same as the raw deviations used to calculate the slope.

Worked Example: Interpreting the Coefficients

For Program A, the fitted intercept at \(x=0\) is its group mean, 50. The same calculation gives 55 for Program B and 58 for Program C. The fitted equations are therefore:

$$ \widehat{Y}_{A}=50+1.5x,\qquad \widehat{Y}_{B}=55+1.5x,\qquad \widehat{Y}_{C}=58+1.5x. $$

The slope estimate says that, within this model and over the observed baseline range, a one-point higher baseline score is associated with an estimated 1.5-point higher follow-up score, holding program fixed. It is an adjusted association, not evidence that increasing baseline score would cause follow-up score to rise.

Using Program A as the reference, the adjusted treatment coefficients are \(55-50=5\) points for B versus A and \(58-50=8\) points for C versus A. These are estimated differences in mean follow-up score at the same baseline value, here 50. They are not differences in change scores, and they do not by themselves establish that either program is superior. The overall treatment test addresses whether all three adjusted means are equal.

Testing the Overall Treatment Effect

The treatment null hypothesis is that the adjusted means at a shared covariate value are equal. Under the common-slope model, that is equivalent to equality of the group intercepts:

$$ H_0:\alpha_A=\alpha_B=\alpha_C \qquad\text{versus}\qquad H_a:\text{at least one adjusted group mean differs}. $$

The partial \(F\) test compares the full model, which includes treatment and covariate, with the reduced model, which includes the covariate but omits treatment. Its statistic is the reduction in residual sum of squares per added treatment degree of freedom, divided by the full-model residual mean square:

$$ F= \frac{(SSE_R-SSE_F)/(df_R-df_F)} {SSE_F/df_F}. $$

For three groups and one common slope, the full model estimates three group intercepts and one slope. Its residual degrees of freedom are \(15-4=11\). The reduced model estimates one intercept and one slope, giving \(15-2=13\) residual degrees of freedom. Therefore the treatment test has 2 numerator and 11 denominator degrees of freedom.

Worked Example: Calculating the Partial F Test

The full-model residual sum of squares is \(SSE_F=42\), so \(MSE=42/11=3.818\). The adjusted group means are 50, 55, and 58, with grand mean \((50+55+58)/3=54.333\). Because the groups are balanced and each has mean \(x=0\), the treatment sum of squares after covariate adjustment is

$$ SS_{\text{treatment}} =5\left[(50-54.333)^2+(55-54.333)^2+(58-54.333)^2\right] =163.333. $$

This is also \(SSE_R-SSE_F\): omitting treatment adds the variation among the adjusted group means to the residual sum of squares. Thus \(SSE_R=42+163.333=205.333\), and the partial test statistic is

$$ F= \frac{(205.333-42)/2}{42/11} = \frac{81.667}{3.818} =21.39. $$

Under \(H_0\) and the model assumptions, this statistic has an \(F\) distribution with 2 and 11 degrees of freedom. Its upper-tail p-value is approximately \(0.00016\). At \(\alpha=0.05\), reject \(H_0\): the data provide strong evidence that not all three adjusted mean follow-up scores are equal. This omnibus result does not identify which particular pairs differ; that requires appropriately planned or adjusted pairwise comparisons.

Adjusted Means and Their Uncertainty

An adjusted mean is a model-based estimated mean outcome for a treatment group at a specified covariate value. Here the chosen value is baseline score 50, which is \(x=0\). The fitted values are consequently 50, 55, and 58 follow-up points for Programs A, B, and C. The choice of a common value makes the group comparison meaningful; choosing a value outside the covariate range shared by groups would require extrapolation and could make the comparison unreliable.

An estimate should be reported with uncertainty. Under this balanced design, each group's centered covariate values sum to zero, so its estimated mean at \(x=0\) is its group mean. The estimated standard error is \(\sqrt{MSE/n}\). A 95% confidence interval uses the \(t\) critical value with the full-model residual degrees of freedom:

$$ \widehat{\alpha}_g \ \pm\ t_{0.975,11}\sqrt{\frac{MSE}{5}}. $$

Worked Example: Confidence Intervals for Adjusted Means

Using \(MSE=3.818\), \(n=5\), and \(t_{0.975,11}\approx2.201\), the standard error for each adjusted mean is \(\sqrt{3.818/5}=\sqrt{0.7636}=0.8738\) points. The margin of error is \(2.201(0.8738)=1.923\) points. The intervals are therefore:

  • Program A: \(50\pm1.923\), or approximately 48.08 to 51.92 follow-up points.
  • Program B: \(55\pm1.923\), or approximately 53.08 to 56.92 follow-up points.
  • Program C: \(58\pm1.923\), or approximately 56.08 to 59.92 follow-up points.

Each interval estimates the mean follow-up score for that program at baseline score 50. In repeated samples under the model, 95% confidence intervals constructed this way would cover their corresponding means about 95% of the time. The intervals are not a statement that there is a 95% probability that a fixed mean lies in this particular interval. Nor do separate 95% intervals automatically provide 95% simultaneous coverage for all three means or for every pairwise contrast.

Why the Complete Analysis Matters

ANCOVA answers a focused question: how do treatment-group means compare at a common covariate value under the specified model? The coefficient estimates describe the fitted covariate association and adjusted group differences; the partial \(F\) test evaluates the overall treatment contribution; and the confidence intervals show the precision of adjusted means. None of these removes the need to connect the conclusion to the design. In this example, random assignment supports a causal comparison of program assignment for the participants studied, subject to the stated model and implementation assumptions. Generalizing to other populations requires a sampling or transport argument that this small hypothetical experiment does not supply.

  • Common mistake: “The raw group means are 50, 55, and 58, so covariate adjustment was unnecessary and those values are always the adjusted means.”
  • Correction: They equal the adjusted means here because the groups have identical, centered baseline distributions and the chosen comparison value is 50. With different covariate distributions, raw means need not equal adjusted means.
  • Common mistake: “A significant overall treatment test proves every program differs from every other program.”
  • Correction: The omnibus test supports only that at least one adjusted mean differs. Pairwise claims require their own estimates and uncertainty, with multiplicity handled when appropriate.
Key takeaway: A defensible ANCOVA conclusion links the study question, additive model, assumptions, coefficient meanings, partial treatment test, adjusted means, and uncertainty. State the comparison covariate value and keep causal or population claims within the limits of the study design.

Check Your Understanding

Use the study and fitted model above to answer these questions.

  1. What baseline score does \(x=0\) represent, and why is it useful for comparing the programs?
  2. Interpret the estimated slope of 1.5 in context. Why is it not a causal effect of baseline score?
  3. Why are the raw group means equal to the adjusted means in this particular example?
  4. What does the partial \(F\) test allow you to conclude, and what does it not establish about individual pairs?
  5. Explain the correct interpretation of a 95% confidence interval for Program B's adjusted mean.
  6. Name one design assumption and one model assumption that matter for the final conclusion.
Clinical Biostats