Tutorials › Statistical Genetics › Principal-Component Adjustment in Association Regression

Population Stratification Control · Tutorial 184 of 989

Principal-Component Adjustment in Association Regression

Fit association regressions that include ancestry principal components, and interpret the genotype effect conditional on the measured axes of genetic structure.

Intermediate 11 min read

What You'll Learn

  • Specify linear and logistic association models with genotype dosage and principal components as covariates
  • Interpret an adjusted linear coefficient and logistic odds ratio per allele
  • See how regression removes the components of genotype and outcome explained by included covariates
  • Calculate how ancestry-related differences can change a pooled genotype coefficient
  • Identify assumptions and limits of principal-component adjustment

Why Include Principal Components in an Association Model?

A genetic variant can differ in frequency across ancestry groups, while an outcome also differs between those groups for environmental, social, or other genetic reasons. A pooled comparison may then mix a within-group genotype association with differences between groups. Principal-component adjustment addresses measured axes of genetic variation by including their scores as covariates in the association regression.

The adjustment is conditional: it compares people who have the same values of the included principal components, according to the fitted model. It does not make the groups identical, guarantee that every source of population structure has been captured, or establish that a genotype association is causal.

Definition: In principal-component-adjusted association regression, the outcome is modeled as a function of genotype dosage and one or more ancestry principal-component scores. The genotype coefficient describes the fitted association with the outcome for a one-unit increase in dosage, holding the included components and other model covariates fixed.

Model Specification and Interpretation

Let \(G_i\) be the genotype dosage for person \(i\), usually coded as the number of copies of a specified allele, from 0 to 2. Let \(PC_{ij}\) be person \(i\)'s score on principal component \(j\), and include \(K\) component scores. The scores summarize axes of genetic variation in the analyzed sample; they are covariates, not outcome variables.

For a quantitative outcome \(Y_i\), the additive linear association model is:

$$ Y_i=\beta_0+\beta_G G_i+\sum_{j=1}^{K}\gamma_j PC_{ij}+\varepsilon_i. $$

Here \(\beta_G\) is the adjusted difference in the model's mean outcome for a one-allele increase in dosage, at fixed PC scores. Its units are the units of \(Y\) per allele. The model assumes that this conditional mean is linear in dosage and the included PC scores; as written, it also assumes a common genotype slope across PC values. An interaction would be needed to model a slope that varies with a component.

For a binary outcome \(Y_i\), logistic regression models the conditional probability \(p_i=P(Y_i=1\mid G_i,PC_{i1},\ldots,PC_{iK})\):

$$ \log\left(\frac{p_i}{1-p_i}\right) =\beta_0+\beta_G G_i+\sum_{j=1}^{K}\gamma_j PC_{ij}. $$

In this model, \(\exp(\beta_G)\) is the adjusted odds ratio for a one-allele increase in dosage at fixed PC scores. It is an odds ratio, not a risk ratio or a difference in probability. The logistic model assumes that the log odds are linear in dosage and the included scores, with a common genotype log-odds slope across PC values.

Other covariates, such as age or sex, may also be included when appropriate to the scientific question and design. The genotype interpretation then holds at fixed values of those covariates as well. Model choice and adjustment should be guided by the scientific question and the causal structure, not by a desire to include every available variable.

What the Linear Adjustment Does

The linear-model coefficient has a useful exact description. Let \(C\) be the design matrix containing an intercept and the included PC scores (and any other covariates), and let \(M_C=I-C(C^\mathsf{T}C)^{-1}C^\mathsf{T}\) be the residual-maker matrix, assuming \(C\) has full column rank. It removes from a vector the part linearly explained by \(C\). The fitted genotype coefficient can be written:

$$ \hat{\beta}_G =\frac{G^\mathsf{T}M_CY}{G^\mathsf{T}M_CG} =\frac{(M_CG)^\mathsf{T}(M_CY)}{(M_CG)^\mathsf{T}(M_CG)}. $$

Thus the adjusted slope is the regression slope between the residualized outcome and the residualized genotype: each has first had its linear association with the included covariates removed. The PCs do not remove all variation in genotype; they remove the part predicted by the included scores. If genotype is perfectly predicted by those covariates, then \(M_CG=0\), the denominator is zero, and the genotype coefficient cannot be identified separately from them.

Worked Example: Fitting a Linear Association Model

Consider six hypothetical participants with a quantitative outcome in outcome units. The PC score is a single measured axis, shown here as \(PC\). Fit the additive model \(Y=\beta_0+\beta_GG+\gamma PC+\varepsilon\).

ParticipantGenotype dosage \(G\)PC scoreOutcome \(Y\)
10-18
21-17
32-112
40114
51113
62118

The fitted coefficients are \(\hat{\beta}_0=10\), \(\hat{\beta}_G=2\), and \(\hat{\gamma}=3\). For example, the fitted value for participant 2 is \(10+2(1)+3(-1)=9\), giving residual \(7-9=-2\). The fitted values across the six participants are \(7,9,11,13,15,17\), so the residuals are \(1,-2,1,1,-2,1\). Their sum is zero, and their products summed against genotype centered at its mean of 1 sum to zero; the same is true against the PC score. These checks show that the residuals are orthogonal to the model columns, as required by least squares.

The adjusted genotype estimate is 2 outcome units per additional allele, holding this PC score fixed. This small constructed data set illustrates coefficient fitting; its deliberately patterned residuals are not a basis for a population-level inference.

Worked Comparison: Pooled and Adjusted Slopes

Worked Example: A PC-Related Difference Changes the Pooled Slope

Suppose eight hypothetical participants fall on two values of a PC score, \(Z=0\) or \(Z=1\). Their outcomes follow \(Y=G+10Z\) exactly. The genotype dosages are \(0,0,2,2\) at \(Z=0\), and \(1,1,2,2\) at \(Z=1\). Within either PC group, the outcome rises by exactly 1 unit per additional allele.

If the PC is omitted, the ordinary least-squares slope is \(\sum_i(G_i-\bar{x})(Y_i-\bar{Y})/\sum_i(G_i-\bar{x})^2\). Here \(\bar{x}=10/8=1.25\), and \(\bar{Y}=50/8=6.25\). Directly summing the squared genotype deviations gives \(S_{GG}=5.5\). Since \(Y=G+10Z\), the cross-product is \(S_{GY}=S_{GG}+10S_{GZ}\). The two groups contribute \(0.5\) each to \(S_{GZ}\), so \(S_{GZ}=1\), and \(S_{GY}=5.5+10(1)=15.5\). The pooled slope is therefore \(15.5/5.5=2.818\).

With \(Z\) included, the model \(Y=\beta_0+\beta_GG+\gamma Z\) fits the specified outcome exactly with \(\hat{\beta}_0=0\), \(\hat{\beta}_G=1\), and \(\hat{\gamma}=10\). The adjusted genotype slope is the within-group increase of 1 unit per allele. The larger pooled slope arose because genotype dosage and the PC group were associated, and the group difference in outcome was large. This example isolates the arithmetic of adjustment; it does not imply that a PC score is itself a causal exposure or that every PC-related difference has been controlled.

Worked Example: Interpreting a Logistic Fit

Worked Example: An Adjusted Odds Ratio per Allele

In a hypothetical cohort of 800 participants, 320 have a binary outcome. A logistic model fitted to the data includes genotype dosage and one PC score. Suppose the reported fitted coefficients are \(\hat{\beta}_0=-2.000\), \(\hat{\beta}_G=0.4055\), and \(\hat{\gamma}=0.6000\). These are illustrative fitted results, not estimates from a real study.

At any fixed PC score, the adjusted odds ratio for a one-allele increase is \(\exp(\hat{\beta}_G)=\exp(0.4055)\approx1.500\). In this fitted model, the odds of the outcome are 1.50 times as large per additional allele at the same PC score. This is a statement about odds, not a claim that the outcome probability increases by 50%.

For illustration, at \(PC=0\) and dosage \(G=0\), the fitted log odds are \(-2.000\), so the fitted probability is \(1/(1+\exp(2.000))\approx0.1192\). At the same PC score and \(G=1\), the log odds are \(-2.000+0.4055=-1.5945\), giving probability \(1/(1+\exp(1.5945))\approx0.1687\). The change in probability is about \(0.0495\), or 4.95 percentage points, for this particular starting dosage and PC score. It is not constant across starting probabilities, even though the model's per-allele odds ratio is constant.

Assumptions and Limits

Including PCs controls only the linear variation represented by the included scores in the specified model. It does not guarantee control of unmeasured structure, nonlinear ancestry effects, or other confounding. It also does not correct a misspecified outcome model. For example, a linear outcome model can be inadequate if the conditional mean changes nonlinearly with dosage or PC score; the stated logistic model can be inadequate if the log odds are not linear in those predictors.

For conventional linear-regression standard errors, observations are typically assumed independent, with errors having mean zero conditional on the predictors and constant variance; exact small-sample \(t\)-based inference additionally relies on normally distributed errors. Logistic-regression inference also relies on an appropriately specified conditional model and independent observations, with sufficient information for stable estimation. Strong dependence between genotype and the included PCs can make the adjusted coefficient imprecise, even when it remains identifiable.

In either model, the coefficient is an adjusted association, not automatically a causal effect. Its meaning depends on the dosage coding, outcome scale, included covariates, and model form. An additive dosage model assumes a single per-allele effect on the outcome scale used: on the mean scale for linear regression and on the log-odds scale for logistic regression.

Common Mistake

Common mistake: “The PCs were included, so population stratification has been eliminated and the genotype coefficient is causal.”

Correction: The coefficient is conditional on the measured PC scores under the specified model. It can still reflect structure not captured by those scores, model misspecification, or other sources of confounding. Describe it as an adjusted association unless a separate causal argument justifies stronger language.
Key takeaway: In linear regression, PC adjustment estimates the genotype slope after removing the linear components shared with the included covariates. In logistic regression, it estimates a genotype log-odds slope conditional on those covariates. Both interpretations are specific to the fitted model and the measured structure represented by its PC scores.

Check Your Understanding

Use the model definitions and examples to answer these questions.

  1. In a linear model with genotype dosage and two PC scores, what does the genotype coefficient measure, and what are its units?
  2. For a logistic-model genotype coefficient of \(0.20\), what is the adjusted odds ratio per allele, approximately?
  3. Why can a pooled genotype slope differ from the slope adjusted for a PC score?
  4. What happens to the linear genotype coefficient if genotype is perfectly predicted by the included covariates?
  5. Why does a fitted odds ratio of 1.50 not mean that outcome probability increases by 50% for every participant?
Clinical Biostats