Tutorials › Statistical Genetics › Temporal Allele-Frequency Change Under Genetic Drift

Allele Frequencies Across Populations · Tutorial 117 of 989

Temporal Allele-Frequency Change Under Genetic Drift

Learn to quantify neutral drift over one or many generations and distinguish population-level frequency changes from uncertainty caused by sampling individuals.

Intermediate 11 min read

What You'll Learn

  • State the finite-population model used to describe neutral genetic drift
  • Derive the expected allele frequency and sampling variance for one generation
  • Calculate the accumulated frequency variance across multiple generations
  • Separate drift in the population from noise in observed allele-frequency estimates
  • Interpret standard deviations and standardized changes without overclaiming

Why Allele Frequencies Change Without Selection

An allele can become more or less common even when it gives its carriers no reproductive advantage. In a finite population, the alleles passed to the next generation are a random sample of the current gene pool. This generation-to-generation randomness is genetic drift. Its expected direction is not toward higher or lower frequency: under a neutral model, the next-generation frequency has the current frequency as its conditional mean. But its variance is positive, and that variance accumulates over generations.

A second source of variation arises when researchers observe only a sample of individuals or gene copies. A sample estimate may differ from the population frequency even if the population frequency is known to be unchanged. These two sources must not be conflated: drift describes a random change in the population itself, while observation error describes uncertainty about the population frequency from finite data.

Model and notation: Consider a neutral, diploid Wright–Fisher population with effective population size \(N_e\), so each generation has \(M=2N_e\) gene copies at the locus. Let \(p_t\) be the population frequency of a specified allele in generation \(t\). Assume generations do not overlap, each gene copy in the next generation is sampled independently from the current gene pool, and there is no selection, mutation, migration, or other force changing allele frequency. Then the count \(X_{t+1}\) of the specified allele among the next generation's \(M\) copies satisfies \(X_{t+1}\mid p_t\sim\operatorname{Binomial}(M,p_t)\), and \(p_{t+1}=X_{t+1}/M\).

The Wright–Fisher model is an idealization. \(N_e\) is the effective size governing drift, not necessarily the census number of individuals. The model also assumes a single neutral allele-frequency process; departures such as selection or migration can create systematic changes that are not represented by the drift expectation derived here.

One-Generation Expected Change and Variance

Write the one-generation change as \(\Delta p_{t+1}=p_{t+1}-p_t\). Conditional on the current population frequency, \(X_{t+1}\) is binomial with mean \(Mp_t\) and variance \(Mp_t(1-p_t)\). Dividing the count by \(M\) gives the frequency. Therefore:

$$ E(p_{t+1}\mid p_t)=p_t,\qquad \operatorname{Var}(p_{t+1}\mid p_t)=\frac{p_t(1-p_t)}{2N_e}. $$

Subtracting the fixed, given value \(p_t\) does not change the conditional variance, so \(E(\Delta p_{t+1}\mid p_t)=0\) and \(\operatorname{Var}(\Delta p_{t+1}\mid p_t)=p_t(1-p_t)/(2N_e)\). The conditional standard deviation of the change is thus \(\sqrt{p_t(1-p_t)/(2N_e)}\). Drift is more variable when the population is smaller and, for a fixed size, when the allele is at an intermediate frequency. The variance is zero at frequency 0 or 1, where the allele is absent or fixed and cannot change under this model.

Worked Example: One Generation of Drift

Suppose a hypothetical diploid population has \(N_e=100\), and an allele currently has frequency \(p_t=0.30\). Under the model, there are \(M=2N_e=200\) gene copies in the next generation.

The expected allele count is \(200(0.30)=60\), so the expected next-generation frequency is \(60/200=0.30\). The expected change is \(0.30-0.30=0\).

The conditional variance of the next-generation frequency is \(\operatorname{Var}(p_{t+1}\mid p_t)=0.30(0.70)/200=0.00105\). Its standard deviation is \(\sqrt{0.00105}\approx0.0324\), in allele-frequency units. Thus the model predicts no average change over this generation, but it does predict a nonzero spread of possible next-generation frequencies.

An expected change of zero does not mean the allele frequency will remain exactly constant. It means that, across repeated populations starting at the same frequency and following this model, positive and negative changes balance in expectation. A particular population follows one random trajectory.

Worked Change Versus Model-Based Variation

An observed difference can be compared with the model's one-generation standard deviation to describe its scale relative to drift. That comparison is not automatically a formal hypothesis test: a standard deviation alone is not a p-value, and the exact distribution of the change is discrete and binomial. The next example shows the arithmetic and its limited interpretation.

Worked Example: A Frequency Increase in One Generation

In a hypothetical population with \(N_e=100\), suppose the frequency is \(p_t=0.40\), and the next generation is observed to have frequency \(p_{t+1}=0.46\). The observed change is \(\Delta p=0.46-0.40=0.06\), or six percentage points.

Under the neutral Wright–Fisher model, the expected number of copies in the next generation is \(200(0.40)=80\), and the variance of the frequency is \(0.40(0.60)/200=0.0012\). The standard deviation is \(\sqrt{0.0012}\approx0.03464\).

The observed change, expressed in these standard-deviation units, is \(0.06/0.03464\approx1.732\). Equivalently, the observed count is \(200(0.46)=92\), which is 12 copies above its expected count of 80; the count standard deviation is \(\sqrt{200(0.40)(0.60)}=\sqrt{48}\approx6.928\), and \(12/6.928\approx1.732\). This describes the observed difference relative to model-based drift variation; it does not, by itself, establish that selection occurred or give a p-value.

How Variance Accumulates Across Generations

Even though the conditional expected change is zero in each generation, the population frequency becomes more variable across replicate histories as generations pass. Let the initial frequency \(p_0\) be fixed, and let \(V_t=\operatorname{Var}(p_t)\) across replicate populations at generation \(t\). The law of total variance gives a recurrence for \(V_t\).

Derivation: Since \(E(p_{t+1}\mid p_t)=p_t\), the law of total variance yields \(\operatorname{Var}(p_{t+1})=E\{\operatorname{Var}(p_{t+1}\mid p_t)\}+\operatorname{Var}(p_t)\). Also \(E(p_t)=p_0\), so \(E\{p_t(1-p_t)\}=p_0(1-p_0)-V_t\). Substitution gives \(V_{t+1}=V_t+\{p_0(1-p_0)-V_t\}/(2N_e)\). Starting from \(V_0=0\), solving this recurrence gives \(V_t=p_0(1-p_0)\{1-(1-1/(2N_e))^t\}\).

The result also implies \(E(p_t)=p_0\) for every \(t\): the population frequency remains a martingale under this neutral model. But its variance increases toward \(p_0(1-p_0)\). As a related summary, expected heterozygosity for a biallelic locus, \(2p_t(1-p_t)\), declines over time in expectation. In fact, \(E\{2p_t(1-p_t)\}=2p_0(1-p_0)(1-1/(2N_e))^t\). These results describe the effect of finite-population sampling alone, under the assumptions stated above.

Worked Example: Ten Generations of Drift

Consider a hypothetical neutral allele with initial frequency \(p_0=0.20\) in a diploid Wright–Fisher population with \(N_e=50\). Here \(2N_e=100\), so the per-generation factor in the variance formula is \(1-1/100=0.99\).

After \(t=10\) generations, the expected frequency remains \(E(p_{10})=0.20\). The variance across replicate population histories is \(V_{10}=0.20(0.80)\{1-(0.99)^{10}\}\). Using \((0.99)^{10}\approx0.904382\), this is \(0.16(1-0.904382)=0.16(0.095618)\approx0.01530\). The corresponding standard deviation is \(\sqrt{0.01530}\approx0.1237\) in frequency units.

This standard deviation describes variation among population frequencies after ten generations, not uncertainty from a survey sample. The mean remains 0.20 even though replicate populations can have frequencies well above or below that value. The formula does not say that every population moves by the same amount, nor that any particular frequency is guaranteed.

Separating Drift From Observation-Sampling Noise

Suppose researchers sample \(m_t\) gene copies from the population at time \(t\), with each sampled copy modeled as an independent draw from that generation's population. Let \(\hat p_t\) be the sample allele frequency. Conditional on \(p_t\), the estimate has mean \(p_t\) and variance \(p_t(1-p_t)/m_t\). This sampling variation is distinct from the random change in \(p_t\) caused by reproduction.

For two independent samples taken in consecutive generations, the conditional variance of their difference includes all three contributions: drift between generations, sampling at the later time, and sampling at the earlier time. Under the model and independent sampling assumptions:

$$ \operatorname{Var}(\hat p_{t+1}-\hat p_t\mid p_t) = \frac{p_t(1-p_t)}{2N_e} + \frac{p_t(1-p_t)(1-1/(2N_e))}{m_{t+1}} + \frac{p_t(1-p_t)}{m_t}. $$

For the later sample, the second term averages its binomial sampling variance over the random next-generation frequency. Specifically, \(E\{p_{t+1}(1-p_{t+1})\mid p_t\}=p_t(1-p_t)(1-1/(2N_e))\). The equation assumes the research samples are independent of each other and of the reproduction process. Sampling gene copies without replacement from a non-negligible fraction of a finite population requires a finite-population correction instead of the independent-binomial sampling variance used here.

Worked Example: Observed Change With Two Sources of Variation

Imagine a hypothetical study samples \(m_t=m_{t+1}=100\) gene copies in each of two consecutive generations. The starting population frequency is \(p_t=0.30\), and \(N_e=1000\). Suppose the observed estimates are \(\hat p_t=0.30\) and \(\hat p_{t+1}=0.28\), an observed difference of \(-0.02\).

The drift variance for the population change is \(0.30(0.70)/2000=0.000105\). The earlier-sample variance is \(0.30(0.70)/100=0.0021\). For the later sample, the model-based expected variance is \(0.30(0.70)(1-1/2000)/100=0.209895/100=0.00209895\). Adding the terms gives a variance of \(0.000105+0.0021+0.00209895=0.00430395\); the standard deviation is \(\sqrt{0.00430395}\approx0.06560\).

The observed difference is \(-0.02/0.06560\approx-0.305\) of this combined standard deviation. The calculation illustrates that sampling noise can be much larger than drift variation in a small observational sample. It is a scale comparison under a specified model, not a test result, and it does not identify the cause of the observed difference.

Common Mistake: Treating a Sample Difference as the Population Change

A common error is to observe \(\hat p_{t+1}-\hat p_t\) and treat it as if it were exactly \(p_{t+1}-p_t\). That ignores uncertainty in both estimates. The correction is to distinguish the population frequencies from their sample estimates, then include the sampling variances when assessing how surprising the observed difference is under a model. A second error is to interpret \(E(\Delta p_{t+1}\mid p_t)=0\) as “there is no drift.” In fact, drift is precisely the random variability around that zero expected change.

Temporal data can therefore help characterize allele-frequency dynamics, but conclusions depend on the model and on how frequencies were measured. A departure from a neutral drift expectation could reflect selection, migration, mutation, population-size misspecification, sampling design, or other violations of the assumptions. The calculation alone does not distinguish among those explanations.

Key takeaway: In a neutral finite Wright–Fisher population, the conditional expected allele-frequency change is zero and its one-generation variance is \(p_t(1-p_t)/(2N_e)\). Across generations, population-level variance accumulates. Sample estimates add another layer of uncertainty, so observed temporal differences should not be equated with drift in the population without accounting for sampling.

Check Your Understanding

Use the neutral Wright–Fisher model and distinguish population frequencies from sample estimates in your answers.

  1. If \(p_t=0.10\) and \(N_e=200\), what are the conditional expected next-generation frequency and variance of that frequency?
  2. Why can a population's frequency change even though its expected change under neutrality is zero?
  3. For fixed \(p_0\) and \(N_e\), what happens to the across-population variance \(V_t\) as \(t\) increases?
  4. Explain the difference between drift variance and the sampling variance of \(\hat p_t\).
  5. Why is a standardized observed difference not automatically a p-value or evidence of selection?
Clinical Biostats