基于贝叶斯的美国总统选举动态预测

@luoy

  • 应用
    • 选举预测
  • 数据
    • 民意调查
    • 人口数据
  • 方法
    • 贝叶斯网络
    • MCMC 建模

摘要

我提出了一个动态的贝叶斯预测模型,可以在州一级对美国总统选举结果进行早期和准确的预测。该方法系统地将来自历史预测模型的信息与来自活动期间公开发布的大量州级意见调查的结果实时结合。结果是一组最初与历史模型一样好的预测,然后随着选举日的临近逐渐提高准确性。我采用分级规范来克服每天不对每个状态进行轮询的限制,允许模型跨越各州借用力量,并通过随机行走先验使用。由于抽样误差和国家竞选效应,该模型还过滤了民意调查中的日常变化,这使得每日能够跟踪选民对州和国家级总统候选人的偏好。模拟技术用于估计候选人赢得每个州的概率,从而估计选举团的大多数选票。我将该模型应用于2008年总统竞选中的预选民意调查,并证明巴拉克奥巴马的胜利从未真实地存在疑问。

主要内容

  1. 假设选举结果是一个关于一些参数的先验的概率模型。
  2. 从选举日开始,假设有个反向的 Bayesian random walk,去拟合已有的民调数据,得到参数。
  3. 拿这些参数代入模型进行正向的预测。

推导过程

  • i: 州,取值 1 ~ 50;
  • j: 天,取值为 1 ~ J;
  • $k_j$: 第 j 天前的 poll 数
  • $n_k$: poll k 中的选民数
  • $y_k$: poll k 中支持民主党的选民
  • $h_i$: 州 i 的预测支持率
  • $\pi_{ij}$: 州 i 于第 j 天的民主党支持率

州级别预测

$y_k$ 可以认为满足这样的二项式分布: $$y_k \sim Binomial(n_k, \pi_{i[k]j[k]})$$

所以要想办法估计 $\pi_{ij}$,引入州级别的参数 $\beta_{ij}$ 和国级别的参数 $\delta_j$ 并假设: $$logit(\pi_{ij}) = \beta_{ij} + \delta_j $$ $\delta_j$ 的存在是为了能让模型在某些州民调搞得少时也能通过别的州的结果有所估计而特意分解出来的,实际上可以认为 $ \delta_j = \beta_{ij}, \forall i $。

因此可以限制 $\delta_J = 0$,这样就有(但我没推出来)(这里关联起最后要求的 $h_i$ 了) $$ \beta_{iJ} \sim N(logit(h_i), s_i^2) $$ 这样就有了反向的 Bayesian random walk 的初值。其中的 $s_i^2$ 是一个先验值,表示该州结果的不确定性,需要事先设定。

之后就根据 $$ \beta_{ij} | \beta_{i,j+1} \sim N(\beta_{i,j+1}, \sigma_{\beta}^2) $$ 和 $$ \delta_j | \delta_{j+1} \sim N(\delta_{j+1}, \sigma_{\delta}^2) $$ 对已有民调数据进行拟合,得到 $\beta, \delta, \pi$的估计。

全国汇总预测

从上届选举各州投票与最终结果中得到各个州的权重,按这之间的人口变化做相应调整,将本届对各州投票的预测汇总成最终的预测。

Page Not Found

Try to search through the entire repo.