It will take a full cycle of polling before we have a sense of the immediate impact of the change in Liberal leadership. So I would not read too much into today's result.
Ignoring my own advice, I thought it would interesting to drop the ReachTEl poll into the usual aggregation. This is the one where the house effects sum to zero. I made an adjustment to the polling model to allow for a discontinuity in the temporal element of the model for the leadership change on 14 September 2015. (I used a similar discontinuity technique in 2013 when Rudd replaced Gillard).
The result, which should be consumed with more than the usual pinch of salt, is a tie. This is unsurprising given the house effect the model applies to the one-and-only post discontinuity poll.
For the nerds among you, the discontinuity model I used follows:
model { ## -- observational model for(poll in 1:n_polls) { # for each observed poll result ... yhat[poll] <- houseEffect[house[poll]] + hidden_voting_intention[day[poll]] y[poll] ~ dnorm(yhat[poll], samplePrecision[poll]) # distribution } ## -- temporal model - with one discontinuity hidden_voting_intention[1] ~ dunif(0.3, 0.7) for(i in 2:(discontinuity-1)) { hidden_voting_intention[i] ~ dnorm(hidden_voting_intention[i-1], walkPrecision) } hidden_voting_intention[discontinuity] ~ dnorm(hidden_voting_intention[discontinuity-1]+discontinuityValue, walkPrecision) for (j in (discontinuity+1):n_span) { hidden_voting_intention[j] ~ dnorm(hidden_voting_intention[j-1], walkPrecision) } sigmaWalk ~ dunif(0, 0.01) walkPrecision <- pow(sigmaWalk, -2) discontinuityValue ~ dunif(-0.1, 0.1) ## contextually uninformative prior ## -- house effects model for(i in 2:n_houses) { # for each polling house, except the first ... houseEffect[i] ~ dunif(-0.15, 0.15) } houseEffect[1] <- -sum( houseEffect[2:n_houses] ) }
No comments:
Post a Comment