• Welcome to the new Internet Infidels Discussion Board, formerly Talk Freethought.

How the US Supreme Court Justices' Votes Cluster

lpetrich

Contributor
Joined
Jul 27, 2000
Messages
25,306
Location
Eugene, OR
Gender
Male
Basic Beliefs
Atheist
Chart of the Week: How the Supreme Court justices line up | Pew Research Center

That page shows what is called in phylogeny and data mining a "distance matrix". One can then use some cluster algorithm to find out who votes most like whom. I transcribed the numbers into Mathematica, and then wrote a Neighbor Joining algorithm in Mathematica. I got a sort of family tree of the Justices' voting differences:
Code:
 24.3906
 - 11.75
 - - Stephen Breyer
 - - 8.5
 - - - Ruth Bader Ginsburg
 - - - 6.
 - - - - Sonia Sotomayor
 - - - - Elena Kagan
 - 15.
 - - Anthony Kennedy
 - - 10.75
 - - - 7.
 - - - - John Roberts
 - - - - Samuel Alito
 - - - 9.
 - - - - Antonin Scalia
 - - - - Clarence Thomas
It's rather easy to recognize the well-known voting blocs in the Court.

I also ought to try to write a Fitch-Margoliash least-squares algorithm, but I'd then have to search through tree topologies.

I then did k-medoid clustering, an alternative to k-means that can work with distance matrices. Its cluster centers are data-set members, so one can use already-done distance calculations for it. It uses random initial selections, so I did 100 runs with each cluster size to get a good selection.

My results:

2 clusters:
Liberal justices centered on Elena Kagan
Conservative justices centered on John Roberts

3 clusters:
Liberal justices centered on Elena Kagan
Anthony Kennedy in his own cluster
Non-Kennedy conservative justices centered on John Roberts

4 clusters:
Half the time, Stephen Breyer split off from the liberal bloc, and half the time, the non-Kennedy conservative bloc split into Roberts-Alito and Scalia-Thomas sub-blocs

5 clusters:
Both splits mentioned for 4 clusters
 
I've implemented those additional tree algorithms, the Saitou-Nei and the Fitch-Margoliash algorithms.


Here are my results.

Both the Saitou-Nei and the Fitch-Margoliash algorithms yielded well-defined clusters of liberal and conservative Justices, with Anthony Kennedy tending to cluster with the conservative ones.

But they got some different results inside the clusters.

SN and FM agree in clustering Elena Kagan with Ruth Bader Ginsburg rather than with Sonia Sotomayor. But EK's one is much shorter than RBG's one, and there's an even shorter distance to where SS branches off. Even so, Stephen Breyer consistently branches off from all three of them in all my trees.

For the conservative ones, SN keeps the Antonin Scalia - Clarence Thomas one, but Samuel Alito branches off close to those two, and John Roberts close to those three. FM reshuffles them further. It finds a cluster of AS and SA, and a short *negative* branch length to where CT branches off. But here also, JR branches off close to those three.


In phylogeny work, my original one is called UPGMA (Unweighted Pair Group Method with Arithmetic Mean). It's simple to implement but it uses a rather simplistic model of distance from the root to the leaf nodes -- that all the distances are the same.

So I've implemented the Saitou-Nei neighbor-joining algorithm and the Fitch-Margoliash least-squares-fitting algorithm. Neither of them makes the constant-distance assumptions of UPGMA, but they both make unrooted trees. Though here, I could root them with Justice Anthony Kennedy and get nice-looking clusters of liberal and conservative Justices.

For Fitch-Margoliash, I implemented building trees by adding leaf node by leaf node, and improving trees by flipping internal edges and checking on whether that yielded improvement. All hill climbing, but I could implement simulated annealing. However, I built the trees with several randomly-chosen build orders and selected the best ones.
 
Back
Top Bottom