Drew Linzer’s poll tracker

Drew Linzer writes:

I read your paper with some interest, as within the last week or so I’ve started analyzing the state tracking polls available on pollster.com using a simple Bayesian mean model, and posting my results here.

The model updates the Obama share of the Obama-McCain vote as new polls come in, and then calculates the posterior probability that that proportion is greater than 0.5.

I’m doing this as more of a hobby than anything else…was frustrated with analyses I’ve seen that strike me as overly complex, unstable, totally opaque, and frankly, fairly unbelievable — there’s a real chance Obama could get EVs in the 400s? come on. The R code I use to generate my graphs and predictions are also posted if you click the Data tab.

My goal was to create a model that was very simple, but made reasonable predictions. So, for example, I don’t have any time component — the model assumes the true state level proportion for Obama is constant. Maybe this is a good assumption, probably not, but also probably the actual within-state support numbers are not actually fluctuating as much as some of the predictions out there make it seem. The first time I set up the model, I just used the posterior from one poll as the prior on the next. Problem was that the variance of the priors got so small after a while that there didn’t seem to be enough flexibility to capture trends when they did seem to arise. So then I added a multiplier to increase the variance of the prior in proportion to how many days old the last poll was. I tinkered around with it a bit and came up with this that seemed reasonable.

sd.prior.flex <- sd.prior.flex * (1+(0.05*log(dat$daysold[i]+1))) Changing the 0.05 makes the trend line more or less sensitive to new polls. It's really just kind of acting as a smoother as the polls appear. The other thing the model doesn't have is any sort of cross-state correlation structure built in. Every state is treated as its own independent entity. This probably isn't very realistic either, but in these battleground states there also seems to be enough state-level polling going on to get decent enough within state estimates. Where I would like to take account of cross-state correlation is when I simulate election results. Doesn't seem like that would be too hard to estimate in a second stage after the trendlines have been calculated (or simultaneously in a more complicated model), I just haven't gotten around to it. Anyway, so that's basically it. the "predicted electoral vote" adds up the EVs for each candidate who my trend line has above 50%. And the simulation that produces the "probability of winning" and the histogram just draws from each state's most current posterior distribution 1 million times and adds up the number of Obama EVs. As I said, I don't know if the model is "good" but it is clean and transparent, relatively stable, and, to my mind, produces predictions that accord better with the available polling data.

My thoughts: First, I don’t think it’s impossible that Obama could get EV’s in the 400s, given the uncertainties in national forecasts. It’s not likely but it’s possible. Second, I think poll aggregation is fine (whether it be Drew’s method or Realclearpolitics or 538.com or whatever), but when it comes to forecasts, I think the best thing is a weighted average of polls and model-based predictions, with the model having two parts: (1) the national popular vote and (2) the states relative to each other.

2 thoughts on “Drew Linzer’s poll tracker

  1. The first time I set up the model, I just used the posterior from one poll as the prior on the next. Problem was that the variance of the priors got so small after a while that there didn’t seem to be enough flexibility to capture trends when they did seem to arise.

    This is only the case if you assume the variance to be known, right?

  2. To simply make every vote in every state politically relevant and equal in presidential elections, support the National Popular Vote bill.

    The National Popular Vote bill would guarantee the Presidency to the candidate who receives the most popular votes in all 50 states (and DC). The bill would take effect only when enacted by states possessing a majority of the electoral votes (270 of 538). When the bill comes into effect, all the electoral votes from those states would be awarded to the presidential candidate who receives the most popular votes in all 50 states (and DC).

    The National Popular Vote bill has been approved by 21 legislative chambers (one house in CO, AR, ME, NC, and WA, and two houses in MD, IL, HI, CA, MA, NJ, RI, and VT). It has been enacted into law in Hawaii, Illinois, New Jersey, and Maryland. These states have 50 (19%) of the 270 electoral votes needed to bring this legislation into effect.

    see http://www.NationalPopularVote.com

Comments are closed.