5D Library › Probabilistic Judgement, Brier-Score Calibration and the Statistics of Collective Intelligence · 中文

Chapter 1 Tetlock’s Forecasting Research: Experts, Foxes and Superforecasters

Keeping score on judgement

Television pundits, newspaper columnists and consultants in meeting rooms forecast all the time: will a regime fall, will a reform pass, will the economy go into recession next year? These forecasts are rarely recorded systematically and even more rarely checked. Even when someone tries to check them, there is often nothing to grip: “a crisis is possible” counts as right if a crisis comes, and is not wrong if it does not.

From the mid-1980s the psychologist Philip Tetlock did something few people were then doing: he asked experts to give numerical probabilities for questions that could be unambiguously resolved, sealed the answers, and, years later when the outcomes were known, scored them all on the same scale (Tetlock 2005). Most questions had three options: within a stated period, would some indicator (a country’s economic growth, a party’s support, the intensity of a conflict) show the “status quo”, “more” or “less”? The experts gave a probability to each of the three outcomes.

Evidence

The size of the study. The participants were 284 experts who made their living commenting on or advising about political and economic trends, including academics, staff of governments and international bodies, and journalists; the study ran for about two decades, ending in 2003 (Tetlock 2005). Two counts of the forecasts circulate. Tetlock and Gardner’s popular essay of 2011 speaks of “some 28,000 predictions”, and a University of California, Berkeley press release of about 27,000; reviewers quote the book as having accumulated 82,361 “forecasts” by 2003. The two figures differ by a factor of about three (82,361 ÷ 3 ≈ 27,454), and most questions asked for a probability on each of three outcomes, so the author conjectures that 82,361 counts the probability estimates for individual outcomes and 28,000 the forecasts at the level of questions; this reconciliation is the author’s conjecture, not a statement in the reviews or in the book’s summary.

The chimp and the extrapolation algorithm

Evidence

Main findings. First, the average expert did only slightly better than random guessing. Random guessing here is the “dart-throwing chimpanzee” of Tetlock’s later much-quoted joke: one third on each of the three outcomes. Second, the average expert did worse than simple statistical extrapolation (“next year will be like this year”, or “the past trend continues”), and clearly worse than statistical models that used more information. Third, experts did about as well as well-informed “dilettantes” (people who follow current affairs but are not specialists in the field), and both clearly beat undergraduates; the returns to specialised expertise fell off quickly. Fourth, the most stable difference was not in qualifications, ideology or access to classified information but in cognitive style. Borrowing Isaiah Berlin’s image, “foxes” know many small things, combine many tools and are less sure of themselves; “hedgehogs” know one big thing and explain everything with one theory. Foxes clearly beat hedgehogs, and the gap was widest for hedgehogs’ long-range forecasts in their own specialty (Tetlock 2005).

So “experts are worse than chimps” is not the book’s conclusion. More accurately: on average, experts were only a little better than the chimp and a long way behind the statistical models, and some experts (especially confident hedgehogs) were indeed beaten by the chimp on some questions. In their later book Tetlock and Gardner also note that the joke is often misread as “experts are useless”, whereas the difference between foxes and hedgehogs is what deserves attention (Tetlock and Gardner 2015).

How can people with knowledge lose to “one third each”? One simple mechanism is overconfidence: information gets inflated into numbers that are too certain.

Calculation

A toy model in the three-outcome format. The true chances of each question’s outcomes are set by some “real drivers”; forecasters see these drivers, but with noise. The “fox” shrinks the noisy observation by half (the Bayesian posterior mean of the driver given the observation, so the fox is approximately Bayesian); the “overconfident” forecaster sees exactly the same but multiplies the observation by 1.5, three times the fox’s weight; the “hedgehog” amplifies it as well and also leans towards predicting “change”. Scoring uses Brier’s original multi-category form: the sum over the three outcomes of (forecast probability − outcome)², 0 best and 2 worst.

Calculation

# Toy three-outcome questions (status quo / more / less), scored with Brier's original
# multi-category score (0 best, 2 worst). Truth: logits = base + s, s ~ N(0, 1).
# Forecasters see s + N(0, 1) noise: fox shrinks it by 0.5 (Bayes), overconfident x1.5,
# hedgehog x1.5 and leans towards change. Illustrative parameters.
import math, random

rng = random.Random(2005)
BASE = (1.0, 0.0, 0.0)                     # status quo is the most common outcome

def softmax(z):
    m = max(z)
    e = [math.exp(v - m) for v in z]
    t = sum(e)
    return [v / t for v in e]

def brier(f, k):
    return sum((f[j] - (1.0 if j == k else 0.0)) ** 2 for j in range(3))

def run(nq=20000):
    names = ("chimp", "base rate", "fox", "overconfident", "hedgehog")
    tot = dict.fromkeys(names, 0.0)
    freq = [0, 0, 0]
    rows = []
    for _ in range(nq):
        s = [rng.gauss(0, 1) for _ in range(3)]
        p = softmax([b + v for b, v in zip(BASE, s)])
        k = rng.choices(range(3), weights=p)[0]
        freq[k] += 1
        obs = [v + rng.gauss(0, 1) for v in s]
        rows.append((obs, k))
    base = [c / nq for c in freq]
    for obs, k in rows:
        fc = {"chimp": [1 / 3] * 3,
              "base rate": base,
              "fox": softmax([b + 0.5 * v for b, v in zip(BASE, obs)]),
              "overconfident": softmax([b + 1.5 * v for b, v in zip(BASE, obs)]),
              "hedgehog": softmax([b - (0.8 if j == 0 else 0) + 1.5 * v
                                   for j, (b, v) in enumerate(zip(BASE, obs))])}
        for n in names:
            tot[n] += brier(fc[n], k)
    return base, {n: tot[n] / nq for n in names}

if __name__ == "__main__":
    base, score = run()
    print("outcome frequencies (status quo, more, less): "
          + ", ".join(f"{b:.3f}" for b in base))
    print("forecaster    | mean Brier score (3 outcomes, 0 best, 2 worst)")
    for n, v in score.items():
        print(f"{n:13s} | {v:.3f}")
    print(f"chimp's expected score is exactly 1/3 - 2/3 + 1 = {1 / 3 - 2 / 3 + 1:.3f}"
          " whatever happens")
# outcome frequencies (status quo, more, less): 0.522, 0.238, 0.239
# forecaster    | mean Brier score (3 outcomes, 0 best, 2 worst)
# chimp         | 0.667
# base rate     | 0.613
# fox           | 0.551
# overconfident | 0.665
# hedgehog      | 0.710
# chimp's expected score is exactly 1/3 - 2/3 + 1 = 0.667 whatever happens

The results show several things. The chimp’s expected score is exactly 2/3 ≈ 0.667, whatever happens: the score anyone “knowing nothing” can get. Merely stating the long-run frequencies of this class of question (status quo about 52 %) brings the score down to 0.613. The fox, using the same information as everyone else, gets 0.551. The overconfident forecaster has exactly the same information as the fox, yet scores 0.665, almost the same as the chimp; the hedgehog, adding a lean towards change, gets 0.710, worse than the chimp. In this model the reason for losing to the chimp is not ignorance but stating useful information too strongly. The parameters are illustrative and the model does not reproduce Tetlock’s data.

Updating beliefs: foxes revise more, hedgehogs less

Tetlock also examined how experts revised their beliefs once outcomes were known. In one analysis in the book, when their forecasts were wrong, hedgehogs moved only about a fifth of the way Bayes’ theorem requires (about 19 %), foxes about six tenths (about 59 %) (Tetlock 2005). Revising too little wastes the evidence; but revising too much does harm as well.

Calculation

A question starts from a reference-class prior of 30 %, and eight pieces of news then arrive, each favouring “yes” or “no” with a likelihood ratio of 2. The Bayesian forecaster adds or subtracts ln2\ln 2 to the log-odds each time; the others add only ww times as much (w<1w < 1: under-reaction; w>1w > 1: over-reaction). The binary Brier score (f−o)2(f – o)^2 compares them after 0, 2, 4 and 8 pieces of news.

Calculation

# Updating in log-odds: prior 30 %, 8 news items, each with likelihood ratio 2 (or 1/2).
# A forecaster adds w x log LR per item (w = 1 Bayesian, < 1 under-, > 1 over-reaction).
# Binary Brier score after 0, 2, 4, 8 items. Toy model, not Tetlock's analysis.
import math, random

rng = random.Random(42)
PRIOR, LR, N_NEWS = 0.30, 2.0, 8
P_GOOD = LR / (1 + LR)          # a piece of news points the right way with probability 2/3

def logit(p):
    return math.log(p / (1 - p))

def inv(x):
    return 1 / (1 + math.exp(-x))

def simulate(weights, nq=40000, checkpoints=(0, 2, 4, 8)):
    score = {w: {c: 0.0 for c in checkpoints} for w in weights}
    for _ in range(nq):
        y = 1 if rng.random() < PRIOR else 0
        news = []
        for _ in range(N_NEWS):
            right = rng.random() < P_GOOD
            news.append(1 if (right == (y == 1)) else -1)       # +1 favours yes
        for w in weights:
            z = logit(PRIOR)
            if 0 in checkpoints:
                score[w][0] += (inv(z) - y) ** 2
            for t, e in enumerate(news, 1):
                z += w * e * math.log(LR)
                if t in checkpoints:
                    score[w][t] += (inv(z) - y) ** 2
    return {w: {c: v / nq for c, v in d.items()} for w, d in score.items()}

if __name__ == "__main__":
    ws = (0.0, 0.2, 0.6, 1.0, 2.0)
    res = simulate(ws)
    label = {0.0: "never updates", 0.2: "under-reacts", 0.6: "partly",
             1.0: "Bayesian", 2.0: "over-reacts"}
    print("weight w on each news item | Brier after 0, 2, 4, 8 items of news")
    for w in ws:
        r = res[w]
        tag = "(" + label[w] + ")"
        print(f"  w = {w:3.1f} {tag:17s}   | "
              + "  ".join(f"{r[c]:.3f}" for c in (0, 2, 4, 8)))
    z = logit(PRIOR) + 3 * math.log(LR) - 1 * math.log(LR)
    print(f"example: prior 30 %, three items for and one against -> {inv(z):.1%}")
# weight w on each news item | Brier after 0, 2, 4, 8 items of news
#   w = 0.0 (never updates)     | 0.210  0.210  0.210  0.210
#   w = 0.2 (under-reacts)      | 0.210  0.195  0.181  0.156
#   w = 0.6 (partly)            | 0.210  0.177  0.150  0.110
#   w = 1.0 (Bayesian)          | 0.210  0.172  0.143  0.102
#   w = 2.0 (over-reacts)       | 0.210  0.185  0.156  0.112
# example: prior 30 %, three items for and one against -> 63.2%

Before any news, everyone scores 0.210, that is 0.3×0.70.3 \times 0.7: the score of simply stating the base rate. After eight pieces of news the Bayesian forecaster is down to 0.102; the under-reactor using a fifth of the evidence stays at 0.156, and the one using six tenths reaches about 0.110; the over-reactor who doubles each piece of news gets 0.112, also worse than Bayes. Errors in both directions cost something, which is exactly what the later research on “superforecasters” stresses again and again: update often, in small steps. The last line gives a concrete example: a prior of 30 %, three items for and one against, gives a posterior of about 63.2 %.

Forecasting tournaments and superforecasters

In 2011 the US Intelligence Advanced Research Projects Activity (IARPA) funded a geopolitical forecasting tournament lasting several years. Several university teams recruited forecasters, elicited and aggregated their forecasts with different methods, and were ranked by Brier score. The Good Judgment Project, led by Tetlock and Barbara Mellers, won year after year.

Evidence

Training, teaming and tracking. In the report on the first two years, 2,246 participants started in year 1 and 1,648 in year 2, covering 199 geopolitical questions (Mellers et al. 2014). The team randomly assigned three psychological interventions: probability training of about 45 minutes (using reference classes, averaging several estimates, avoiding overconfidence, confirmation bias and base-rate neglect, and so on); teaming (online discussion and information sharing); and tracking (placing the top 2 % of year 1 in elite teams). All three improved accuracy, in both calibration and resolution; the paper adds that statistical aggregation algorithms, reported separately (for example weighting forecasters by track record, weighting recent forecasts and “extremising” the aggregate probability; see Chapter 6), improved it further (Mellers et al. 2014; Baron et al. 2014). An analysis of four years of tournaments found that training lasting less than an hour improved Brier scores by 6 % to 11 % relative to the control condition (Chang et al. 2016).

Evidence

Superforecasters. The top 2 % or so each year were called “superforecasters”. Placed in elite teams, they did not show the regression towards the mean one would normally expect over the following two years, and stayed highly accurate across hundreds of questions and many topics. Mellers and colleagues attribute this to four mutually reinforcing factors: cognitive abilities and styles, task-specific skills, motivation and commitment, and enriched environments (teams and training); they conclude that superforecasters are partly discovered and partly created (Mellers et al. 2015). Tetlock and Gardner’s popular book describes these forecasters’ habits: start with an outside reference class before the details of the case; break the question into parts that can be estimated; use fine-grained numbers (63 % rather than “sixty-something”); and update often and in small steps (Tetlock and Gardner 2015).

These findings do not contradict the first part of the chapter. Most experts in Tetlock’s early study received no feedback: their forecasts were sealed and resolved years later, and the results never came back to them. Tournament forecasters saw their Brier score as soon as each question closed.

Evidence

Experts are not always poor. In fields with feedback and well-defined questions, professional judgement can be very well calibrated. By the 1970s US weather forecasters’ probability-of-precipitation forecasts had been shown to be highly reliable: on days when they said “70 % chance of rain”, it rained about seven times in ten (Murphy and Winkler 1977). Mandel and Barnes analysed 1,514 strategic intelligence forecasts made by a Canadian intelligence assessment unit between 2005 and 2011 and found good discrimination and calibration; the main bias was in fact underconfidence, the analysts expressing more uncertainty than their discrimination warranted (Mandel and Barnes 2014).

Chapter summary

Tetlock had 284 experts make tens of thousands of numerical probability forecasts over about two decades. On average they did only slightly better than “one third each”, worse than simple extrapolation and statistical models; foxes beat hedgehogs, and hedgehogs did especially badly on long-range forecasts in their own field. “Worse than a chimp” is a popular paraphrase. A toy model shows that a forecaster with the same information can fall to the level of random guessing through overconfidence alone. Forecasting tournaments show that brief probability training, teaming and tracking improve accuracy, and that superforecasters are partly discovered and partly created; weather forecasting and intelligence assessment, which have feedback, can also be well calibrated. The next chapter turns to how to keep score: the Brier score, Murphy’s decomposition and proper scoring rules.

References

Baron, Jonathan, Barbara A. Mellers, Philip E. Tetlock, Eric Stone, and Lyle H. Ungar. 2014. “Two Reasons to Make Aggregated Probability Forecasts More Extreme.” Decision Analysis 11 (2): 133–45. https://doi.org/10.1287/deca.2014.0293.
Chang, Welton, Eva Chen, Barbara Mellers, and Philip Tetlock. 2016. “Developing Expert Political Judgment: The Impact of Training and Practice on Judgmental Accuracy in Geopolitical Forecasting Tournaments.” Judgment and Decision Making 11 (5): 509–26.
Mandel, David R., and Alan Barnes. 2014. “Accuracy of Forecasts in Strategic Intelligence.” Proceedings of the National Academy of Sciences 111 (30): 10984–89. https://doi.org/10.1073/pnas.1406138111.
Mellers, Barbara, Eric Stone, Terry Murray, Angela Minster, Nick Rohrbaugh, Michael Bishop, Eva Chen, et al. 2015. “Identifying and Cultivating Superforecasters as a Method of Improving Probabilistic Predictions.” Perspectives on Psychological Science 10 (3): 267–81. https://doi.org/10.1177/1745691615577794.
Mellers, Barbara, Lyle Ungar, Jonathan Baron, Jaime Ramos, Burcu Gurcay, Katrina Fincher, Sydney E. Scott, et al. 2014. “Psychological Strategies for Winning a Geopolitical Forecasting Tournament.” Psychological Science 25 (5): 1106–15. https://doi.org/10.1177/0956797614524255.
Murphy, Allan H., and Robert L. Winkler. 1977. “Reliability of Subjective Probability Forecasts of Precipitation and Temperature.” Journal of the Royal Statistical Society, Series C (Applied Statistics) 26 (1): 41–47. https://doi.org/10.2307/2346866.
Tetlock, Philip E. 2005. Expert Political Judgment: How Good Is It? How Can We Know? Princeton, NJ: Princeton University Press.
Tetlock, Philip E., and Dan Gardner. 2015. Superforecasting: The Art and Science of Prediction. New York: Crown.

Fan, Y. (2026). Probabilistic Judgement, Brier-Score Calibration and the Statistics of Collective Intelligence: From Base-Rate Neglect and Signal Detection Theory to Superforecasting, Read Beside Classical Chinese Strategic Calculation [概率判断、布莱尔分数校准与群体智慧的统计理论] (Version 1.0.0). 5D Library. https://doi.org/10.5281/zenodo.23764998 · Licensed under Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International (CC BY-NC-ND 4.0).