Tuesday, February 20, 2018

Polling update

The last time I ran a polling aggregate was just before the 2016 election. It was on an Apple iMac. I have since junked the iMac (it was 5 years old), and replaced it with a windows machine running on a Ryzen 7 1800X. The iMac Pro cost more than I was willing to pay (and about twice what I paid for the Ryzen).

A new machine, with a new operating system, necessitated changes in the way I work. I am currently using Stan and Python (I junked JAGS and R). I could get neither PyStan nor PyJAGS working well under Windows, so I am running these polling models on a virtual Linux box.

I have sourced the input polling data from Wikipedia. I have simplified the model a little from the last election. I will talk about this more in coming weeks.

The initial aggregation of the two-party preferred voting look like this.

The next challenge is the Dirichlet model for primary voting intention. Again I will need to transition this model from JAGS to STAN.

The primary voting trends are worth watching for the next election. At the moment they are attracting more that 25 per cent of the stated voting intention. The high other vote adds uncertainty to the TPP estimates from pollsters, which is not reflected in the above charts. It is not unusual for an Australian Federal election to be plus or minus 2 percentage points from the pre-election aggregated polling.

But with the non-Coalition/non-Labor vote so high, my working hypothesis is that both an upset and a landslide election are possible, with a final TPP vote share at the next election up to +/- 5 percentage points from the pre-election aggregate. I will model this increased uncertainty when I come to a seat-by-seat Monte Carlo model of the next election (provided the other vote-share remains historically high).