Snap
In the grand tradition of all recent election times, I’ve decided to have a go and try and build a model that could predict the results of the upcoming snap general election in the UK. I’m sure there will be many more people having a go at this, from various perspectives and using different modelling approaches. Also, I will try very hard to _not _spend all of my time on this and so I have set out to develop a fairly simple (although, hopefully reasonable) model.
First off: the data. I think that since the announcement of the election, the pollsters have intensified the number of surveys; I have found already 5 national polls (two by Yougov, two by ICM and one by Opinium
Arguably, this election will be mostly about Brexit: there surely will be other factors, but because this comes almost exactly a year after the referendum, it is a fair bet to suggest that how people felt and still feel about its outcome will also massively influence the election. Luckily, all the polls I have found do report data in terms of voting intention, broken up by Remain/Leave. So, I’m considering
I also have available data on the results of both the 2015 election (by constituency and again, I’m only considering the
For each observed poll
I used a fairly standard formulation and modelled
This essentially fixes the “Tory effect” to 0 (if only I could really do that!…) and then models the effect of the other parties with respect to the baseline. Negative values for
I then use the estimated party- and EU result-specific probabilities to compute a “relative risk” with respect to the observed overall vote at the 2015 election
Finally, I can simulate the next election by ensuring that in each constituency the $^{17}_{cp} $ sum to 1. I do this by drawing the vote shares as
In the end, for each constituency I have a distribution of election results, which I can use to determine the average outcome, as well as various measures of uncertainty. So in a nutshell, this model is all about i) re-proportioning the 2015 and 2017 votes based on the polls; and ii) propagating uncertainty in the various inputs.
I’ll update this model as more polls become available
From the current data and the modelling assumption, this looks like the Tories are indeed on course for a landslide victory
The following table shows the predicted “swings”
Conservative | Green | Labour | Lib Dem | PCY | SNP | |
---|---|---|---|---|---|---|
Conservative | 325 | 0 | 0 | 5 | 0 | 0 |
Green | 0 | 1 | 0 | 0 | 0 | 0 |
Labour | 64 | 0 | 160 | 6 | 1 | 1 |
Liberal Democrat | 0 | 0 | 0 | 9 | 0 | 0 |
Plaid Cymru | 0 | 0 | 0 | 0 | 3 | 0 |
Scottish National Party | 1 | 0 | 0 | 5 | 0 | 50 |
UKIP | 1 | 0 | 0 | 0 | 0 | 0 |
Again, at the moment, bad day at the office for Labour who fails to win a single new seat, while losing over 60 to the Tories, 6 to the Lib Dems, 1 to Plaid Cymru in Wales and 1 to the SNP (which would mean Labour completely erased from Scotland). UKIP is also predicted to lose their only seat