Sunday 7 March 2004

The Public Whip is a UK website that follows the voting behaviour of members of parliament. The site has a clever

vote map to represent the historical pattern of voting. Each MP is represented by a dot (red for Labour, blue for Tory, yellow for Liberal Democrat, green for others). The dots of MPs who voted similarly in the past are clustered close together. You can zoom into the map to see more detail, and you can select particular MPs for closer inspection.

*We’ve chosen a dissimilarity measure which depends on the number of votes the same way, and the number of votes against one another, between two MPs when they both vote in the same division. If every time two MPs vote in the chamber they always vote the same way, their dissimilarity measure is zero. If they always vote on opposite sides, when they both vote, their dissimilarity measure is one. The actual function is: [Number of votes on opposite sides] / [Number of divisions in which both voted].*

Our cluster analysis calculation was done using Multi-Dimensional Scaling. The mathematics behind this is available in many textbooks, and on the web. The calculation itself, as opposed to the proof that this calculation gives what you want, is reasonably simple to describe. Although most people won’t understand it, it’s important to mention it openly in case they do.

It ought to be a rule that the public does not accept any computational result unless the computation is itself publicly available. The analogy between computer algorithms whose output has a bearing on, say, government policy, and the law, is close. We do not tolerate being subject to laws that are secret and unpublished, regardless of whether we understand them; we can hire a lawyer if we don’t. The same should be true with computational results which can sometimes hide a great many errors and fudge factors that should not be present.