Linzer 2013 - Reverse Random-Walk Model and Priors

Summary

Poll counts are binomial in a state-day vote share whose logit is a slow state trend plus a fast national campaign effect . Both follow random walks that run backwards from Election Day, where gets an informative normal prior centred on the fundamentals forecast and .

Overview

Notation: states ; campaign days with = Election Day; polls with respondents expressing a major-party preference, of whom support the Democrat; the historical forecast of Democratic two-party share in state . Undecided respondents are excluded. A poll is dated at its last field day.

Main Content

Observation model (Eq 1)

, where are the poll’s state and day. Real polls are overdispersed (house effects, other non-sampling error); the paper argues the resulting overconfidence is minimal, that estimating firm effects is impractical because most pollsters run few polls, and that deflating would underestimate volatility and worsen overconfidence.

Decomposition (Eq 2)

. : long-term state-level dynamics; : national short-term departure from the forecast ( means the Democrat is polling below the forecast). Separating them lets states with no polls borrow the common pattern. Identification: , so .

Informative prior from fundamentals (Eq 3)

with analyst-chosen precision . Smaller upweights polls; larger keeps forecasts near . Sensitivity (Sec 4.4): should not generally exceed 20.

Reverse random walks

and for , with uniform priors on and . The walk “begins” on Election Day (as in Strauss 2007), so after the last poll the path reverts toward the prior mean. Reason (Gelman & King 1993): fundamentals predict where opinion ends up but not the path.

Behaviour (qualitative, from the text)

The forecast of is a compromise between the latest polls and . If the election is close in time, and has little time to revert, so polls dominate. If it is far, the post-poll path depends on the prior: with large quickly; with small the path is driven by returning to 0, so a candidate behind the forecast () gains and one ahead loses.

Windowing. To speed MCMC when forecasting far ahead, split the campaign into windows of days (-5) and replace by ; stays daily because it fluctuates daily whereas changes gradually. Estimation. WinBUGS/R; 3 chains of 200,000 iterations, burn-in half, thinning 300; .

Poll error sources (Sec 2.1). Sampling variability (half or more of the total variation), house effects, timing (early polls weakly correlated with the outcome), and campaign events such as conventions.

Examples

Scale of the reverse random walk

With per day, the state trend moves by on the logit scale over 30 days (about 2.7 points of vote share near 50%), whereas a prior with has sd (about 8 points). So 30 days from Election Day the prior still dominates unless polls say otherwise, and only the common (daily sd , typically larger) lets sparsely polled states learn the national mood.

# PyMC 5 sketch of the reverse random walk (untested)
import pymc as pm, numpy as np, pytensor.tensor as pt
with pm.Model():
    sb = pm.HalfNormal("sb", 0.05); sd = pm.HalfNormal("sd", 0.05)
    # reverse RW: build forward in reversed time, then flip
    beta_rev = pm.GaussianRandomWalk("beta_rev", sigma=sb, shape=(S, T),
        init_dist=pm.Normal.dist(logit_h[:, None], 1/np.sqrt(tau)))
    delta_rev = pm.GaussianRandomWalk("delta_rev", sigma=sd, shape=T)
    delta = delta_rev - delta_rev[0]            # delta_J = 0 (index 0 = election day)
    beta, d = beta_rev[:, ::-1], delta[::-1]
    p = pm.math.invlogit(beta[state_idx, day_idx] + d[day_idx])
    pm.Binomial("y", n=n_resp, p=p, observed=y_dem)

Connections

Compare with filtering/smoothing in Linear-Gaussian State-Space Models and The RTS Smoother: the reverse walk is a smoother-style prior anchored at the terminal time.

See Also

Linzer 2013 - Dynamic Bayesian Forecasting of Presidential Elections - Overview