For those who are interested in these things, I aggregated the Palmer primary vote polls using a Beta-walk model. The Beta-walk model follows.
model { #### -- observational model for(poll in 1:NUMPOLLS) { # for each poll result - rows adjusted_poll[poll] <- walk[pollDay[poll]] + houseEffect[house[poll]] palmerVotes[poll] ~ dbin(adjusted_poll[poll], n[poll]) } #### -- temporal model (a daily walk where this today is much like yesterday) tightness <- 50000 # tightness of fit parameter for(day in 2:PERIOD) { # rows binomial[day] <- walk[day-1] * tightness walk[day] ~ dbeta(binomial[day], tightness - binomial[day]) } ## -- weakly informative priors for first day in the temporal model alpha ~ dunif(1, 1500) walk[1] ~ dbeta(alpha, 10000-alpha) #### -- sum-to-zero constraints on house effects for(house in 2:HOUSECOUNT) { # for each house ... houseEffect[house] ~ dnorm(0, pow(0.1, -2)) } houseEffect[1] <- -sum(houseEffect[2:HOUSECOUNT]) }
I did not include Palmer United in my primary vote models because Newspoll does not publish a primary vote estimate for Palmer United. Newspoll includes Palmer United in its other parties count.
No comments:
Post a Comment