snapshots of dynamic target (discrete field period)
target’s law of motion is unknown (not ballistic)
limited resolution (coarse reporting of published polls)
dependencies among multiple targets (vote shares sum to 100%)
“House” effects: biases specific to a polling company
sampling methodology (e.g., RDD, landline/mobile mix; quotas from web panel)
weighting procedures and selection of weighting variables (post-stratification via raking; propensity score matching)
survey mode (live interviewer, IVR, web self-complete)
question wording
response options (are minor parties or DK offered or volunteered?; are DKs pushed?)
field operations (time of day, day of week)
reporting conventions (DKs reported or not)
compounded in low or uncertain voter turnout environments
Goals of model
combine information from multiple noisy/biased signals
recover trajectory, learn about campaigns and changes in public opinion
learn about pollster biases
forecasts for outcomes
Model for poll averaging: setup & notation, scalar target
Let \(t\) index campaign days.
Poll \(p\) fielded on day \(t\) by polling company \(j\) yields a estimated voting intention, a proportion \(\color{cyan}{y_p} \in [0,1]\), with sample size \(\color{cyan}{n_p}\). Variance of this estimate is approximately \(\color{cyan}{V_p = y_p (1-y_p)/n_p}\).
True, latent voting intentions on day \(t\) are \(\color{orange}{\xi_t} \in [0,1]\). These are observed exactly on election days, \(\color{orange}{\xi_1}\) and \(\color{orange}{\xi_T}\), respectively.
Polling company \(j\) has a time-invariant “house effect” \(\color{orange}{\delta_j}\), such that \(E(\color{cyan}{y_p}) = \color{orange}{\xi_{t(p)}} + \color{orange}{\delta_{j(p)}}\).
State-space model for poll averaging: locally constant latent state
Given published polls, \(\color{cyan}{\boldsymbol{Y}}\), sample sizes, field dates and identity of polling companies — and the model — we seek
trajectory of latent voting intentions \(\color{orange}{\boldsymbol{\xi}} = (\color{orange}{\xi_1}, \ldots, \color{orange}{\xi_T})'\)
house effects: \(\color{orange}{\boldsymbol{\delta}} = (\color{orange}{\delta_1}, \ldots, \color{orange}{\delta_J})'\)
“pace of change” parameter (innovation variance), \(\color{orange}{\omega^2}\).
Estimation and inference
Gaussian law of motion: Kalman filter.
in Bayesian statistics: dynamic linear model (West & Harrison).
house effects and partially observed polling data makes the model slightly non-standard for off-the-shelf Kalman filtering (many packages in R)
EM or MCMC via R and C/C++
jags via rjags (Plummer 2019).
Stan via RStan (Stan Development Team 2020)
nimble (de Valpine et al. 2017)
pomp (King et al. 2016)
Elaborations
optionally, use endpoint constraints from election results observed on \(\color{orange}{\xi_1}\) and (ex post) \(\color{orange}{\xi_T}\).
Augment model with unknown step/discontinuities \(\color{orange}{\gamma}\) in \(\color{orange}{\boldsymbol{\xi}}\) trajectory, for known “event” days (e.g., leadership changes).
Invariant to translation: indistinguishable from \(E(\color{cyan}{y_p}) = [\color{orange}{\xi_{t(p)}} + \color{red}{c}] + [\color{orange}{\delta_{j(p)}} - \color{red}{c}], \quad \forall\ \color{red}{c} \neq 0\).
Post-election, end-point constraints: anchor \(\xi_T\) to known election result, and/or \(\xi_1\) to past election result as may be appropriate.
“Sum-to-zero” normalisation of house effects \(\color{orange}{\delta}\); i.e., set \(\color{red}{c} = \color{orange}{\bar{\delta}}\), such that \(\xi_t\) are identified up to a translation equal to the average bias of all pollsters.
With \(\color{orange}{\xi_1}\) or \(\color{orange}{\xi_T}\) known we pin down the \(\{ \color{orange}{\mathbf{\xi}} \}\) trajectory and can relax normalising restriction on house effects, revealing absolute (vs relative) pollster biases.
Examples
Australian federal elections 2007-2022
Pollster biases
Voice referendum
Example, 2019 Australian federal election
Widely considered one of the biggest “misses” for the polling industry.
prompted an international review and formation of the Australian Polling Council