This is a Stan implementation of Drew Linzer's dynamic Bayesian election forecasting model, with some tweaks to incorporate national poll data, pollster house effects, correlated priors on state-by-state election results and comovement of public opinion across states.
The model is presented briefly at the end of
runmodel.R downloads poll data from the HuffPost Pollster API, processes the data, and runs the Stan model in
state and national polls.stan.
report.Rmd is a Rmarkdown document used to automatically generate the graphs/tables/maps in
report.html and relies on
Reproducing the analysis
- Clone this repository.
- Install the required R packages (listed below)
- Remove or comment out the lines in
- Optionally, modify line 2 of
runmodel.Rto use a number of cores that is less than all available (e.g., `options(mc.cores = parallel::detectCores()
- 1)` to leave one core free for multitasking
- In an R session, run
Required R packages
curl dplyr DT ggplot2 ggrepel knitr lubridate mapproj maps mvtnorm purrr reshape2 rmarkdown rstan shinystan stringr tidyr