Political Birds of a Feather

I’ve been thinking a lot about political divisiveness lately. I suspect I’m not alone in this. Who can say why I might be feeling this way? On top of general brooding, I recently finished David Daley’s book on redistricting and gerrymandering, so I have congressional districts on the brain. I started wondering a bit about our state legislature here in Washington. I know a little about state politics – I like to think I’m a relatively informed voter –  but as I started doing some reading, I realized I didn’t know much about the people in our state legislature. I started to wonder, how different are they on the issues?

The first question of interest was: how “independent” are the people in our legislature? How often do they toe the party line? I’m sure there’s a narrative out there on the internet, but I wanted to at least attempt to be objective. As the old saying goes: actions speak louder than words. We’re in a whirlwind of political rhetoric, but I decided to start by looking at what our legislators actually vote on. The questions then become: given their roll call votes, which of our friends in Olympia vote similarly, and how does it vary by party?

Now those are questions we can answer! I decided to simplify the process and start with the Senate.  I’m slightly more familiar with our state senators than representatives so I have some intuition about the space, and (more importantly) there are fewer of them so it felt like a more tractable problem.

Tallying the Votes

Gosh, it’s terrific to live in a state that goes to serious efforts to open up public data! It turns out the Washington State Legislature has a set of reasonably well-documented services that you can query! I put together a tool to pull all the bills introduced in the senate in a given year, and then get and parse the votes on those bills. To simplify it, I only took the final roll call on each bill (since some bills have multiple rounds of voting), and only looked at bills voted on in 2016.  Every senator either voted “Yea”, “Nay”, excused themselves, or was absent. I built out a matrix of senators and votes like this:

(1 = Yea, -1 = Nay, 0 = Excused or Absent)

Senator Name

Bill Number 6150

Bill Number 6151

Bill Number 6207

McAuliffe

1

1

1

Becker

1

1

-1

There were 402 bills with a roll call vote in the senate, and there are 51 senators (due to replacements), which leaves us with 20,502 individual votes. Before digging in to similarity, let’s pause for a few superlatives.

The recipient of 2016’s Most Likely To Vote Yea award is awarded jointly to Senators Curtis King and John Braun. They voted “Yea” on 98.2% of the bills they saw in 2016.

The “Dr. No” award goes to current mayoral candidate and Bernie delegate Bob Hasegawa! Though perhaps “Dr. Not Always but Usually” would be a better title for this award, because he only voted “Nay” 19.9% the time.

The award for Most Likely to Sleep Through Roll Call goes to James Hargrove, who either abstained or was absent for 18.2% of votes. (I’ve exempted people who resigned or were appointed to fill a vacancy mid-term).

Finding Neighbors

Enough reminiscing about 12th grade, let’s find our similar senators. To do this, I computed the distance [1] between their lists of votes, yielding a new matrix of Senators matched with other Senators (a 51×51 square):

McAuliffe

Becker

Billig

McAuliffe

0

17.1

12

Becker

17.1

0

16.8

Billig

12

16.8

0

The exact values or units of those numbers aren’t important, just know that a larger number means they voted together less often. The diagonals are zero because they represent a person’s distance from themselves. You can find the full matrix of legislative distances here.

So who were the most similar senators in Olympia last year? Well, according to my analysis, that award goes to our old friend Curtis King, and Mark Schoesler of the 9th district! It turns out when you vote “Yea” 98.2% of the time, you tend to overlap with other people who vote “Yea” a lot. Sort of anticlimactic, huh?

The most different pair? Pramila Jayapal and Brian Dansel, both of whom have gone federal now. Jayapal now represents Washington in the US House of Representatives, and Dansel is Special Assistant to the United States Secretary of Agriculture in the Trump administration. Their differences check out.[2]

I wondered who my state senator allied himself with most often last year. According to this analysis, Jamie Pedersen votes most like Jeannie Darneille, Sharon Nelson, and Annette Cleveland (all Democrats). Most different from Pedersen are Brian Dansel and Mike Padden (famous for going rogue and casting his Electoral College vote for Reagan instead of Republican nominee Gerald Ford in ’76).

The Party that Votes Together…

There’s a lot of interesting stuff in the nearest-neighbor analysis of votes, and I hope to dig in further. But once I got oriented in the data, my mind drifted back to the original question: who’s “independent”, and who’s “partisan”? I was able to compare any two senators across 402 dimensions, but if I wanted to understand all of them, I would have to bring all that data back down to a level my puny human brain can understand.

Fortunately, I remember enough linear algebra to know that lots of really smart people have worked on reducing dimensionality in data, so that’s a wheel I don’t have to reinvent. I took all that data and smashed it together [3] to form two new properties. These new properties don’t directly correspond to any individual vote, they represent a combination of many (meaningful) votes. When plotted color-coded by party affiliation, a clear trend emerges. [4] The dashed lines represent the “average” Republican and Democratic Senators:


There are a couple things to note here: First, there’s not as much variance on the y-axis. It turns out that most of the effect you see vertically is due to the quantity of votes (absences or abstentions instead of yea/nay votes).

Second, there is very little overlap between red and blue territory. No “red” senators fall far from their colleagues. There is one lonely blue senator peeking through a sea of red. If you hover over that dot you’ll see that it’s Tim Sheldon, a conservative Democrat who caucuses with the Republican party. I’ve included Tim in all my Democratic averages, but ideologically he’s more aligned with the Washington State Republicans.

So who’s “typical”? The Republican senators are a highly concentrated blob of red (plus Tim!), so the most typical Republicans don’t stand out a lot, but the award is shared by Rivers and O’Ban. The Democrats have more variance among their votes, and the most typical Democrats are Rolfes and Chase (who lie on the average line).

Laid out on a map, it’s clear that there aren’t many “purple” districts. This isn’t a surprise given how separated the Democratic and Republican congresspeople are. There is (unsurprisingly) a relationship between district density and “blueness”:

Now What?

So there you have it. The Democratic party shows less “togetherness” with its votes in the Senate than the Republicans do. This isn’t a big surprise given that the Senate is under the control of the Republican-dominated caucus, so I would expect that the most “agreeable” legislation has Republican appeal.  I have even more questions now than I did when I started:

  1. Are there other meaningful measures of similarity and distance? I just picked a few and found that they worked out to similar numbers, but perhaps there are ways to further categorize bills by subject or type.
  2. What about the House? Does it show more or less party togetherness?
  3. How does this compare to other states? Does Washington show more or less party-togetherness?
  4. How has this changed over time? (Most interestingly to me, I’m pondering how I can compare voting records from different years)

As for what it means, I couldn’t tell you. But looking at that colorful map sure does remind me of the blue bubble I inhabit.

Want to Analyze it Yourself?

Here are some resources if you’re interested in digging into this data yourself.

Footnotes

[1] I actually computed two measures of distance: Euclidean distance and cosine similarity, but they yielded very similar results.

[2]  I also exempted people who resigned or replaced a resignee, otherwise this would go to Jeanne Kohl-Welles, who resigned early last year

[3] All that smashing is formally known as principal component analysis, which is a fancy-sounding way of saying: find the properties in your data with the most signal, weight them accordingly, and combine them. After proving to myself that I could still (mostly) find eigenvalues, I happily relied on scikit-learn to run the actual PCA.

[4] The truth is that I mirrored the graph – the algorithm output the “redder” people on the left and the “bluer” people on the right, but given that they correspond to the Democratic/Republican parties which are usually arranged left to right (respectively), I flipped it to make it more intuitive. That doesn’t change any of the measurements or distances.

 

No comments on "Political Birds of a Feather"

Leave a Reply

Your email address will not be published. Required fields are marked *