Tutorials › Statistical Genetics › Ancestry Imbalance in Case-Control Sampling

Population Stratification Control · Tutorial 193 of 989

Ancestry Imbalance in Case-Control Sampling

See how case-control ancestry imbalance can produce a misleading pooled genetic association, and how to choose and interpret design- and model-based adjustments.

Intermediate 10 min read

What You'll Learn

  • Define ancestry imbalance as a difference in ancestry composition between sampled cases and controls.
  • Calculate how ancestry-specific allele frequencies and unequal sample composition affect pooled allele frequencies.
  • Distinguish a pooled association from a within-ancestry association.
  • Evaluate ancestry-aware matching and sampling, including the need for overlap between cases and controls.
  • Specify an ancestry-adjusted logistic regression and interpret its genotype coefficient as a conditional odds ratio.
  • Recognize limitations from poor ancestry measurement, model misspecification, and ancestry-specific genetic effects.

Why Case-Control Ancestry Imbalance Matters

In a case-control genetic study, investigators compare genetic variation in people sampled because they have a disease (cases) with variation in people sampled as controls. If cases and controls have different ancestry composition, their pooled allele frequencies can differ even when the allele has the same frequency among cases and controls within every ancestry group. The pooled difference can therefore look like a genetic association when it reflects ancestry composition instead.

An imbalance can arise because disease occurrence varies across ancestry groups, because recruitment or control selection differs across groups, or because both processes operate. The distinction matters for study design, but neither source makes an unadjusted pooled comparison automatically reliable. The immediate diagnostic question is whether cases and controls have comparable ancestry composition and, if not, whether the genetic association is supported within the ancestry groups represented in both.

Definition: Ancestry imbalance in a case-control sample means that the distribution of measured ancestry differs between sampled cases and controls. For discrete ancestry strata \(a=1,\ldots,K\), write \(w_{1a}=P(A=a\mid D=1,\text{sampled})\) and \(w_{0a}=P(A=a\mid D=0,\text{sampled})\), where \(D=1\) denotes a case and \(D=0\) a control. Imbalance is present when these distributions are not the same. It can concern broad ancestry categories, continuous ancestry estimates, or ancestry-related covariates such as principal components.

For a diploid genetic variant, let \(G\) be the number of copies of a specified allele, taking values 0, 1, or 2. Let \(p_{da}\) be that allele's frequency among sampled individuals with disease status \(d\) and ancestry stratum \(a\). The pooled allele frequency in group \(d\) is a weighted average of the stratum-specific frequencies:

$$ p_d=\sum_{a=1}^{K} w_{da}p_{da}. $$

Thus, a pooled case-control difference can come from differences in allele frequency within ancestry strata, differences in the ancestry weights, or both. When the within-stratum frequencies are equal between cases and controls, any pooled difference is due to the weights. This is the case-control form of the composition effect underlying ancestry confounding.

How Composition Alone Creates a Pooled Difference

A useful diagnostic calculation separates the composition component from the within-stratum component. For two ancestry strata, label them A and B, and define \(w_{dA}\) as the fraction of sampled group \(d\) in stratum A. If the allele frequency is the same in cases and controls within each stratum, so \(p_{1A}=p_{0A}=p_A\) and \(p_{1B}=p_{0B}=p_B\), then:

$$ \begin{aligned} p_1-p_0 &=w_{1A}p_A+(1-w_{1A})p_B -w_{0A}p_A-(1-w_{0A})p_B\\ &=(w_{1A}-w_{0A})(p_A-p_B). \end{aligned} $$

The pooled difference is the product of two contrasts: the difference in ancestry composition and the difference in allele frequency across ancestry groups. If either contrast is zero, this particular composition-induced difference is zero. If both are nonzero, the pooled frequencies can differ despite no within-stratum case-control difference. This calculation describes how the pooled contrast arises; it does not, by itself, establish a disease effect or a causal effect.

Worked Example: A Pooled Difference With No Within-Ancestry Difference

Suppose a hypothetical study samples 100 cases and 100 controls. Among the cases, 80 are from ancestry stratum A and 20 from B; among the controls, 20 are from A and 80 from B. The allele frequency is 0.30 in stratum A and 0.10 in stratum B for both cases and controls. Calculate the pooled allele frequencies.

Among cases, there are \(80\times2=160\) allele copies from stratum A, with \(160\times0.30=48\) copies of the specified allele. Stratum B contributes \(20\times2=40\) copies, with \(40\times0.10=4\) specified copies. Therefore:

$$ p_1=\frac{48+4}{2(100)}=\frac{52}{200}=0.260. $$

Among controls, stratum A contributes \(20\times2\times0.30=12\) specified copies and stratum B contributes \(80\times2\times0.10=16\). Thus:

$$ p_0=\frac{12+16}{2(100)}=\frac{28}{200}=0.140. $$

The pooled difference is \(0.260-0.140=0.120\), or 12 percentage points. Yet the case-control difference within each ancestry stratum is exactly zero by construction. The composition formula gives the same result: \((0.80-0.20)(0.30-0.10)=0.60\times0.20=0.120\). This is an apparent pooled association induced entirely by ancestry imbalance, not evidence that the allele is associated with disease within either stratum.

The same idea applies when ancestry is measured continuously rather than divided into a few categories: the case and control distributions of ancestry can differ, and allele frequency can vary across that ancestry distribution. Coarse strata may fail to capture this pattern. Conversely, a broad label is not a biological explanation by itself; it is a way of describing population structure that may track allele-frequency differences and other relevant factors.

Design Responses: Matching and Ancestry-Aware Sampling

A design response aims to make case and control ancestry distributions comparable before fitting an association model. In ancestry-aware matching, each case is paired with one or more controls similar on ancestry, or is matched within a defined ancestry stratum. A related option is to recruit cases and controls in planned numbers within each stratum. The objective is comparable representation, not identical genotypes: controls should not be selected based on the genetic variant being tested.

When sampling is balanced across strata, the pooled comparison is less exposed to differences in ancestry weights. Matching can also make the comparison more direct by restricting it to sets with similar ancestry. The design does not guarantee that all confounding is removed: ancestry may be measured imprecisely, important structure may remain within a stratum, and other case-control differences may persist. Analysis should respect the matching or stratification used in sampling, rather than treating the observations as if the design had never occurred.

Worked Example: Balancing the Ancestry Composition

Use the same hypothetical allele frequencies as before: 0.30 in stratum A and 0.10 in B, with no case-control difference within either stratum. Now sample 50 cases and 50 controls from A and 50 cases and 50 controls from B. Calculate the pooled allele frequency in each group.

For either cases or controls, stratum A contributes \(50\times2\times0.30=30\) specified allele copies, and stratum B contributes \(50\times2\times0.10=10\). Each group contains \(2(100)=200\) allele copies, so:

$$ p_1=p_0=\frac{30+10}{200}=0.200. $$

The pooled difference is \(0.200-0.200=0\). The groups have the same ancestry weights, \(w_{1A}=w_{0A}=0.50\), so the composition term is \((0.50-0.50)(0.30-0.10)=0\). Balancing has removed the composition-induced difference in this example; it has not shown that every possible source of confounding is absent.

There is a practical trade-off. Strict matching or stratified recruitment can reduce the number of eligible controls, limit the study to ancestry groups with cases and controls available, and make it harder to estimate effects for underrepresented groups. A central requirement is overlap: each ancestry range or stratum used for an adjusted comparison needs both cases and controls. If a stratum contains only cases or only controls, the data do not provide a direct within-stratum case-control comparison there. Statistical adjustment cannot manufacture that missing comparison.

Regression Adjustment for Ancestry

When ancestry is measured for each participant, logistic regression can estimate a genotype association conditional on ancestry covariates. For one binary ancestry indicator, a basic model is:

$$ \operatorname{logit}\{P(D=1\mid G,A)\} =\alpha+\beta G+\gamma I(A=\mathrm{A}), \qquad \operatorname{logit}(q)=\log\left(\frac{q}{1-q}\right). $$

Here \(I(A=\mathrm{A})\) equals 1 for stratum A and 0 for stratum B. The coefficient \(\beta\) is the change in log odds of being a case for one additional copy of the allele, conditional on the ancestry term in this model. The corresponding conditional odds ratio per additional allele copy is \(\exp(\beta)\). This is an association estimate, not automatically a causal effect. With continuous ancestry measures or multiple components, the model includes suitable terms for those measures; their number and form should reflect the structure of the data and the modeling assumptions.

A common-effect model assumes that the genotype log-odds association is the same across ancestry values represented by the model. If the genetic association may differ across ancestry groups, include an interaction term, such as \(\delta G I(A=\mathrm{A})\). Then the genotype log-odds coefficient is \(\beta\) in the reference group and \(\beta+\delta\) in stratum A; a single common odds ratio is no longer an adequate summary when \(\delta\) is meaningful.

Worked Example: Interpreting an Ancestry-Adjusted Logistic Model

In a separate hypothetical case-control sample with ancestry measured for all participants, suppose a logistic regression including genotype dosage and an ancestry indicator estimates \(\hat{\beta}=0.40\) with \(SE=0.15\). Assume the fitted model has no genotype-by-ancestry interaction, and that the standard error is appropriate for the design. Calculate and interpret the genotype odds ratio and a Wald confidence interval.

The estimated odds ratio per additional allele copy is:

$$ \exp(\hat{\beta})=\exp(0.40)=1.492. $$

Conditional on the ancestry indicator and the model assumptions, the estimated odds of case status are about 1.49 times as large per additional copy of the allele. This compares odds, not disease probabilities or risks, and it does not establish that the allele causes disease.

A 95% Wald interval on the log-odds scale is \(\hat{\beta}\pm1.96SE\):

$$ 0.40\pm1.96(0.15)=0.40\pm0.294 =(0.106,\;0.694). $$

Exponentiating the endpoints gives an interval for the conditional odds ratio:

$$ (\exp(0.106),\exp(0.694))=(1.112,\;2.002). $$

Under the model and large-sample approximation, this procedure has 95% repeated-sampling coverage for the conditional odds ratio. The interval is not a statement that there is a 95% probability that this fixed parameter lies within these particular endpoints.

In case-control sampling, the numbers of sampled cases and controls are often set by design, so their ratio does not estimate disease prevalence in the source population. Under outcome-dependent sampling that depends on disease status alone, logistic regression can still estimate odds-ratio slopes under the model, while the intercept generally does not recover the population disease probability without additional information. If recruitment also depends on ancestry or other covariates, the sampling process and analysis need to be considered together.

Assumptions and Practical Checks

An ancestry-adjusted result is informative only to the extent that the data and model support the comparison it represents. Before interpreting the genotype coefficient, check whether ancestry was measured with enough resolution for the study, whether cases and controls overlap across the measured ancestry range, and whether the model represents the relevant relationship. A linear term in a component may not capture a nonlinear association; a common genotype coefficient may be inappropriate if effects differ across ancestry. These are modeling and design questions, not problems that can be solved merely by adding more covariates.

Matching and adjustment address observed ancestry information. They do not necessarily control unmeasured or poorly measured structure, differences in recruitment, or ancestry-correlated environmental factors. They also do not make a genetic association causal. The result should be described as an association conditional on the specified ancestry covariates and sampling framework. For a broad population claim, investigators should also consider which ancestry groups the sample actually represents.

1
Compare ancestry composition.
Summarize ancestry distributions separately for sampled cases and controls, at the resolution used for the study.
2
Check within-stratum support.
Determine whether the relevant ancestry strata or ranges contain both cases and controls, and whether genotype comparisons are possible within them.
3
Align analysis with design.
Use an analysis that accounts for matching or stratified sampling, and include appropriate ancestry terms in the association model.
4
Interpret the estimand carefully.
State whether the result is a pooled contrast or an ancestry-conditional association, and report limitations from overlap, measurement, and model assumptions.

Common Mistake: Treating a Covariate as a Cure

Wrong reasoning: “I added an ancestry variable to the regression, so any association that remains is independent of population structure and must be biological.” This conclusion goes beyond what the model establishes. The covariate may be too coarse, the functional form may be wrong, or important ancestry ranges may lack case-control overlap. A remaining association is conditional on the measured covariates and assumptions, not proof that all confounding has been eliminated.

Correction: Describe the adjustment actually made, check overlap and model fit, and interpret the genotype coefficient as a conditional association. Where effects may vary by ancestry, evaluate an interaction rather than assuming one common effect. Where the data have no case-control support for a comparison, acknowledge that limitation rather than treating model adjustment as a substitute for information.

Key takeaway: A pooled genetic difference can arise solely because cases and controls have different ancestry composition and allele frequencies vary across ancestry. Matching, ancestry-aware sampling, and regression adjustment can address measured imbalance when comparisons are supported by the data, but none automatically removes every source of bias or turns association into causation.

Check Your Understanding

Try these questions before reviewing the examples.

  1. If case and control allele frequencies are equal within every ancestry stratum, what two conditions are needed for ancestry composition alone to produce a pooled difference?
  2. In the first worked example, explain why the pooled allele-frequency difference does not imply a within-ancestry genetic association.
  3. What does matching cases and controls on ancestry aim to balance, and why does overlap still matter?
  4. In a logistic model with genotype dosage and ancestry, what does \(\exp(\beta)\) represent when there is no genotype-by-ancestry interaction?
  5. Why does adding an ancestry covariate not prove that all population-structure confounding has been removed?
Clinical Biostats