2012-11-08

Another crosshairs


C. DeSante over at is.R() has PEBOS as well, but turned it into a great explanation of the way predictions like Nate Silver's work.

For a while the 538 team had PEBOS as well: "The FiveThirtyEight team is still recuperating, but the election provided a fresh supply of data points that we’ll be connecting in the coming days."


This inspired me to add some predictions of the popular vote to my crosshairs plot. The data are from here.

We can see that Nate was closest. Well how does the old song sing?
Pass my window, pass my gate
Pass my window, pass my gate
You can pass my window, can pass my gate
But you'll never pass FiveThirtyEight...
The additional code is simple:
# numbers from http://news.cnet.com/8301-13578_3-57546778-38/among-the-top-election-quants-nate-silver-reigns-supreme/
nate <- c(50.8, 48.3)
tpm <- c(48.8, 48.1)
rcp <- c(48.8, 48.1)
huff <- c(48.1, 46.7)
png('crosshairs2.png')
crosshairs(centre = centre, # the actual popular vote
pts = pts, # the predistions
no.rings = 4, # four rings seem about right here ("4 more years")
title = "Pollsters on target?",
x.ann = "Obama popular vote (%)", # annotation for x axis
y.ann = "Romney popularvote (%)" # annotation for y axis
)
points(nate[1], nate[2], col = "blue", pch = 22)
points(tpm[1], tpm[2], col = "black", pch = 22)
# as RCP and TPM actually have the same prediction, I'll use a different pch
points(rcp[1], rcp[2], col = "red", pch = 20)
points(huff[1], huff[2], col = "blue", pch = 22)
dev.off()
view raw crosshairs2.R hosted with ❤ by GitHub

No comments:

Post a Comment