House | Coalition Odds ($) | Labor Odds ($) | Coalition Win Probability (%) | |
---|---|---|---|---|

2015-11-20 | Betfair | 1.11 | 7.27 | 86.754177 |

2015-11-20 | CrownBet | 1.13 | 6.00 | 84.151473 |

2015-11-20 | Ladbrokes | 1.15 | 5.00 | 81.300813 |

2015-11-20 | Luxbet | 1.07 | 7.50 | 87.514586 |

2015-11-20 | Sportsbet | 1.10 | 6.00 | 84.507042 |

2015-11-20 | TABtouch | 1.11 | 6.50 | 85.413929 |

2015-11-20 | William Hill | 1.10 | 7.00 | 86.419753 |

# Mark the Ballot

Psephology by the numbers

## Friday, November 20, 2015

### Betting market update

A further movement to the Coalition in the betting market for the next election.

## Wednesday, November 18, 2015

## Saturday, November 14, 2015

### Luxbet hits 85%

House | Coalition Odds ($) | Labor Odds ($) | Coalition Win Probability (%) | |
---|---|---|---|---|

2015-11-14 | Betfair | 1.13 | 6.89 | 85.910224 |

2015-11-14 | CrownBet | 1.13 | 6.00 | 84.151473 |

2015-11-14 | Ladbrokes | 1.15 | 5.00 | 81.300813 |

2015-11-14 | Luxbet | 1.09 | 6.20 | 85.048011 |

2015-11-14 | Sportsbet | 1.10 | 6.00 | 84.507042 |

2015-11-14 | TABtouch | 1.14 | 5.50 | 82.831325 |

2015-11-14 | William Hill | 1.13 | 6.00 | 84.151473 |

## Wednesday, November 11, 2015

### Betting market update

House | Coalition Odds ($) | Labor Odds ($) | Coalition Win Probability (%) | |
---|---|---|---|---|

2015-11-11 | Betfair | 1.13 | 6.51 | 85.209424 |

2015-11-11 | CrownBet | 1.13 | 6.00 | 84.151473 |

2015-11-11 | Ladbrokes | 1.15 | 5.00 | 81.300813 |

2015-11-11 | Luxbet | 1.12 | 5.60 | 83.333333 |

2015-11-11 | Sportsbet | 1.10 | 6.00 | 84.507042 |

2015-11-11 | TABtouch | 1.14 | 5.50 | 82.831325 |

2015-11-11 | William Hill | 1.13 | 6.00 | 84.151473 |

## Tuesday, November 10, 2015

### Polling update

The latest Newspoll is reported in the Australian. It has the Coalition on 53 and Labor on 47, which is a one point move in the Coalition's favour over the previous Newspoll (54 to 48). Dropping these numbers into our regular aggregation yields an estimated two-party preferred vote share of 53.5 percent for the Coalition.

Across the four models I run, the median sample is as follows:

And, just for the fun of it, let's look at aggregated net happiness.

Across the four models I run, the median sample is as follows:

And, just for the fun of it, let's look at aggregated net happiness.

## Monday, November 9, 2015

### Update to the Dirichlet, sum-to-zero model

I have been wrestling with an aspect of the Dirichlet, sum-to-zero model of primary voting intention for some time, which I think I have finally solved.

The Dirichlet distribution is a n-tuple or list of proportions, where each proportion is greater than or equal to zero and less than or equal to one. The sum of the n-tuple is one. In our model we use a 4-tuple, where each proportion represents the primary vote share for each party grouping [Coalition, Labor, Greens, Other].

The Dirichlet, sum-to-zero model has three parts:

While the absence of the double constraint troubled me a little, the model appeared to work. So I largely left it untouched. With the move to JAGS 4.0.1, I revisited this model. It occurred to me that I could code the second constraint as a requirement that the sum of houseEffect[1, 2:PARTIES] equaled the sum of houseEffect[2:HOUSECOUNT, 1]. I did this with the following addition to the model (including the introduction of zero as a defined constant data element).

From the earlier code, houseEffect[1, 1] contains the negated sum from houseEffect[1, 2:PARTIES]. When added to sum of houseEffect[2:HOUSECOUNT, 1] the result should be zero.

Let's revisit the charts. We will start with the vote estimate charts, before moving to the house effects charts (which we will look at from the perspective of houses and parties).

Does this additional bit of code make the model work better? I don't think so, but it is a more accurate specification of the necessary constraints in the model.

The full model code can be seen here (it is the third of the four models on the linked page).

The Dirichlet distribution is a n-tuple or list of proportions, where each proportion is greater than or equal to zero and less than or equal to one. The sum of the n-tuple is one. In our model we use a 4-tuple, where each proportion represents the primary vote share for each party grouping [Coalition, Labor, Greens, Other].

The Dirichlet, sum-to-zero model has three parts:

- A temporal model, where the estimated national vote share for each party is pretty much like it was on the previous day.
- An house-effects model, where the house effects:
- across all houses for a particular party sum to zero
- across all parties for a particular house sum to zero
- An observational model where the poll result for a particular day, subject to houses effects, supports the national estimated vote-share for each of the parties for that day in the temporal model.

#### ----- House-effects model ## -- vague priors ... for (h in 2:HOUSECOUNT) { for (p in 2:PARTIES) { houseEffect[h, p] ~ dunif(-0.1, 0.1) } } ## -- sum to zero constraint - but only in one direction for houseEffect[1, 1] for (p in 2:PARTIES) { houseEffect[1, p] <- 0 - sum( houseEffect[2:HOUSECOUNT, p] ) } for(h in 1:HOUSECOUNT) { # includes a constraint for houseEffect[1, 1], but only in one direction houseEffect[h, 1] <- 0 - sum( houseEffect[h, 2:PARTIES] ) }

While the absence of the double constraint troubled me a little, the model appeared to work. So I largely left it untouched. With the move to JAGS 4.0.1, I revisited this model. It occurred to me that I could code the second constraint as a requirement that the sum of houseEffect[1, 2:PARTIES] equaled the sum of houseEffect[2:HOUSECOUNT, 1]. I did this with the following addition to the model (including the introduction of zero as a defined constant data element).

data { zero <- 0.0 } model { ... ## -- the other direction constraint on houseEffect[1, 1] zero ~ dsum( houseEffect[1, 1], sum( houseEffect[2:HOUSECOUNT, 1] ) ) }

From the earlier code, houseEffect[1, 1] contains the negated sum from houseEffect[1, 2:PARTIES]. When added to sum of houseEffect[2:HOUSECOUNT, 1] the result should be zero.

Let's revisit the charts. We will start with the vote estimate charts, before moving to the house effects charts (which we will look at from the perspective of houses and parties).

Does this additional bit of code make the model work better? I don't think so, but it is a more accurate specification of the necessary constraints in the model.

The full model code can be seen here (it is the third of the four models on the linked page).

## Thursday, November 5, 2015

### Betting market update

House | Coalition Odds ($) | Labor Odds ($) | Coalition Win Probability (%) | |
---|---|---|---|---|

2015-11-05 | Betfair | 1.13 | 6.89 | 85.910224 |

2015-11-05 | CrownBet | 1.13 | 6.00 | 84.151473 |

2015-11-05 | Ladbrokes | 1.15 | 5.00 | 81.300813 |

2015-11-05 | Luxbet | 1.12 | 5.60 | 83.333333 |

2015-11-05 | Sportsbet | 1.15 | 5.50 | 82.706767 |

2015-11-05 | TABtouch | 1.14 | 5.50 | 82.831325 |

2015-11-05 | William Hill | 1.13 | 6.00 | 84.151473 |

Subscribe to:
Posts (Atom)