Skip to content

f-statistics explained: f2, f3, outgroup f3 and f4

f-statistics measure shared genetic drift. What f2, f3, outgroup f3 and f4 compute, how to read their sign and Z-score, and what each one tests.

Updated 3 min read

f-statistics measure how much genetic drift populations share. f2 is a genetic distance between two populations, f3 tests whether one population is a mixture of two others, and f4 tests whether four populations fit a simple tree. They are the building blocks of qpAdm, qpWave and qpGraph.

Patterson et al. 2012 set out the f-statistics framework, building on Reich et al. 2009. Each statistic is an average over many SNPs of products of allele frequency differences. Its uncertainty comes from a block jackknife, which drops one block of the genome at a time.

Genetic drift, in one paragraph

When a population is small or isolated, allele frequencies change at random from one generation to the next. That change is drift. Two populations that share an ancestor also share the drift that happened in that ancestor. f-statistics turn this into numbers: more shared drift means a closer relationship.

f2: the distance between two populations

f2(A, B) is the average squared difference in allele frequency between A and B. It grows with the drift along the path that joins A and B in a tree. f2 is rarely reported on its own, but every other f-statistic is a sum of f2 values.

f3: is a population a mixture?

f3(C; A, B) is the average of (c − a)(c − b) over SNPs, where c, a and b are the allele frequencies of C, A and B. If the three populations fit a tree, it equals the drift on C's own branch, and it is positive.

  • A significantly negative f3 (Z below −3) is strong evidence that C is a mixture of populations related to A and B. This is the admixture f3 test. A negative value can only arise from admixture.
  • A positive f3 does not rule out admixture. Drift in C after the mixture can make f3 positive even when C is admixed.

Outgroup f3: who is closest?

f3(Outgroup; A, B) with a distant outgroup, such as Mbuti, measures the drift that A and B share since they split from the outgroup. Fix A as your target and vary B: the B with the highest value is the population that shares most drift with the target. Outgroup f3 rankings are a quick way to find candidate sources before a qpAdm model.

f4: does the tree hold?

f4(A, B; C, D) is the average of (a − b)(c − d). If the four populations fit the tree ((A, B), (C, D)), the statistic is zero, because the path from A to B and the path from C to D do not overlap.

  • f4 ≈ 0 (|Z| < 3): consistent with the tree.
  • f4 > 0: A shares more drift with C than B does (or B with D).
  • f4 < 0: A shares more drift with D than B does (or B with C).

For example, f4(Mbuti, Yamnaya; Sardinian, French) asks whether Yamnaya-related ancestry is closer to French or to Sardinians. Here the second and fourth populations sharing drift makes f4 positive, so a significantly positive value means Yamnaya is closer to French, which matches French having more steppe-related ancestry than Sardinians.

The D-statistic is a normalised form of f4.

Reading the Z-score

Every f-statistic comes with a standard error and a Z-score (the statistic divided by its standard error). In ancient DNA studies:

  • |Z| ≥ 3 is usually called significant;
  • |Z| < 2 is consistent with zero;
  • between 2 and 3, report it but do not rest a conclusion on it.

When you test many statistics, some will pass |Z| = 3 by chance. Report how many you tested.

Running f-statistics

ADMIXTOOLS computes them with qp3Pop, qpDstat and qpfstats, and ADMIXTOOLS 2 with f2, qp3pop and qpdstat. Nexju runs f3, f4 and D statistics one at a time on every plan, and tables of up to 1,000 statistics on the Pro plan, on the AADR or your uploaded genome.

References

QQuestions

Frequently asked questions

Short answers to the questions people ask most about this topic.

What does a negative f3 statistic mean?

A significantly negative f3(C; A, B), with a Z-score below −3, means C is a mixture of populations related to A and B. Only admixture can make f3 negative. A positive f3 does not prove C is unmixed, because later drift in C can hide the signal.

What is the difference between f3 and outgroup f3?

The admixture f3, f3(C; A, B), tests whether C is a mixture of A and B. The outgroup f3, f3(Outgroup; A, B), uses a distant outgroup in the first place and measures how much drift A and B share, so it ranks populations by closeness to a target.

What Z-score is significant for f4?

Most ancient DNA studies call |Z| ≥ 3 significant. A Z-score between −2 and 2 is consistent with zero, which means the four populations fit the tested tree.

How are f4 and D-statistics related?

The D-statistic has the same numerator as f4, divided by a normalising term, so it ranges from −1 to 1. Both test the same tree and almost always agree in sign and significance.

Every help article

Allow analytics cookies? They help us see how the site is used so we can improve it. Your DNA and results are never included. Details