Category Archives: Uncategorized

Correlation, Causation, and LeBron

The Miami Heat beat the Indiana Pacers 90 – 79 on May 30 [1] and @ESPNStatsInfo tweeted the following bit of information.





Why does this interest me? If you recall, the book Moneyball came out in 2003 and several nerds like myself were starting to get interested in the quantitative analysis of sport. And, in particular, it reminds me of a conversation I had with Joe Banner back in 2006 [2] about a statistician’s role in a pro football organization. First, let me say that Joe comes across as a fucking smart dude — he’s not some meathead football player who happened to stay in the game based on inertia. Anyway, he said something along the lines of the following:

“It’s well known that 75 – 80% (#s made up, but it was high) of winning football  teams (in all games played) have a 100 yard rusher. Some coaches will do everything in their power to get their RB going in the first quarter by pounding the running game. I think that’s stupid. Why?”

The obvious response is because the coaches (e.g., Andy Reid) were confusing correlation [3] or, more generally, some association with causation. They teams were not winning because they had a 100+ yard rusher! The likely had a 100 yard rusher because they were winning in the second half and were trying to run clock, or maybe the fact that their running game was working opened things up for the offense, or any number of things. Who the hell knows?! My point here is that you should not confuse association with causation.

So back to LeBron and the Heat. In the first four games of the Heat vs Pacers series, Lebron averaged 73 touches and the Heat won two and lost two. He then gets 86 touches in game five and they win. Obviously, Spoelstra should make it a point to get LeBron 20+ touches in the first quarter of game 6, right? Right? RIGHT?! No! If the Heat are playing well, LeBron is likely to get a lot of touches and vice versa. However, trying to force touches outside of the normal flow of a good Heat game would be (I claim) idiotic. Winning and LeBron’s touches of the basketball are likely to evolve as an organic process and forcing the issue won’t help [4].

Here are a few takeaways from this post:

  1. Don’t confuse association and causation. This happens a lot in the big data world — correlations reign supreme.
  2. I’m pretty sure that the Eagles still regret their decision to pass on my services.
  3. If you are a pro sports team in the Denver area, please send me an email. If your team name is the “Nuggets”, I would likely work for one bag of popcorn per game.



[1] – Yeah, I know that I should’ve written this a while back, but I only get around to this stuff when I’m flying. And right now I’m flying to Cincinnati [5].

[2] – Let me brag for a second. I interviewed with the Philadelphia Eagles back in the summer of 2006 and one of my meetings was with Joe Banner, then the Executive Vice President of the Eagles, now CEO with the Cleveland Browns. They decided not to hire me and instead went with a graduate student at UPenn — and haven’t won shit since. I like to think it’s because they didn’t hire me. Fuck ’em.

[3] – Correlation necessarily implies linearity in the association.

[4] – See Monsanto. And this dog <insert pic> from the protest in Denver.

[5] – Mmmmmmmm, Skyline Chili!



Filed under Uncategorized

I fought the law and the law …

I got a ticket for parking in my driveway last weekend.  Weird, eh?  Here is my email correspondence to the Denver parking violations office:

date: Mon, Aug 29, 2011 at 10:00 AM
subject: Citation #: 137105264

Dear Parking Violation Office,

On Saturday, August 27 2011, I received a parking citation at my house on ??? St. As with any Broncos home game, I know to move my car to my driveway in order to not receive a ticket [1]. Therefore, I did exactly that on Saturday morning in order to prevent said violation. Upon going to my car at approximately 8.30 pm that night, I was shocked to see that the parking violations officer placed a ticket on my windshield with the Officer’s Comments being “In Area HD SB Not Unsable Drive” [2]. I have no idea what this means given that (1) this is a clear driveway for my house, (2) my car doesn’t interfere with the sidewalk nor the street when in the driveway, and (3) I parked there for every Broncos game last year without incident. A particularly troubling aspect of this incident is that the officer had to walk into my yard/driveway in order to give me a ticket.

I am happy to send you pictures of exactly where my car was in order to clear this up. I have included two pictures from Google maps using the ‘street view’ in order to show shots of the driveway. Note that my car is a 2010 Jetta and the car in the picture is a Subaru Forrester (much bigger than the Jetta). I think that the Forester could be blocking the sidewalk by about 1 foot (in these pictures), however, there is plenty of space behind the car and our car is much smaller than this Forrester. Therefore, there is no need to block either the sidewalk or the street when using our parking space.

Thanks for your time,

[1] – I received a parking citation for parking in the street during a Broncos game during the first pre-season game of 2010 (shortly after moving to 2749 Decatur St). Since that initial transgression, I have used my parking lot without incident.

[2] – After reading this email and looking at the pictures, can you please send me an explicit explanation of what the quoted statement means in terms of the Denver City Law so that I can correctly assess whether or not my driveway is in violation of this law/ordinance?

I forgot to tell them what I wanted from the initial email, so I had to follow-up:

date: Mon, Aug 29, 2011 at 2:00 PM
subject: Re: Citation #: 137105264

To be clear, I am asking for this violation to be revoked due to a mistake in the Parking Officer’s judgement; I would appreciate a response in a timely manner.


Their lame-ass response:

date: Wed, Aug 31, 2011 at 9:22 AM
subject: RE: Citation #: 137105264

We have submitted your claim to the Parking Magistrates for review, we will notify you by mail of their determination.

Here are the pictures that I referenced in the initial email:


Filed under Uncategorized

Napkin Calculations

I ride the bus to work and ride my bike home.  I really enjoy the 8 mile ride on the way home — expect when it’s freezing like yesterday!  I haven’t decided whether or not it’s because (1) I’m cheap and don’t want to buy another car, (2) I work at the National Renewable Energy Lab, or (3) I like the evening workout.  To be honest, it’s probably a combination of all three.

Anyway, there are a few things that piss me off about the 28 route in Denver.  However, nothing, and I mean nothing, pisses me off more than the little side journey that the bus takes when we get to Yates and 26th.  As you can see in the link, we go south to Byron Pl, over to Sheridan, and then back north to 26th.  Why does this little sojourn piss me off you ask?  Because nobody ever uses the Byron Pl stop!  OK, there are a few people, but they should walk the 1.5 blocks to either 26th and Sheridan or 26th and Yates!

Here’s my back of the envelope calculation for how much this side trip costs RTD on its weekday routes.


  1. A bus gets 5 mpg.  Is this a good assumption?  Who knows.  I really don’t care.  I’m just bored and want to blog about this.
  2. Google maps puts this side trip at 0.4 miles.
  3. There are 36 eastbound and 40 westbound trips per day that utilize this ridiculous Byron Pl stop.  (Note: There could be more, but I’m not dealing with the routes that start at Byron Pl.)
  4. To keep things simple, let’s say that there are 250 ‘weekdays’ for the 28 route.

What does this all mean?  Using these figures, the trip uses about 0.08 gallons of fuel for each trip down to Byron Pl.  Maybe that’s not entirely fair, because the bus would still go 0.1 miles if it doesn’t take the stupid trip.  So adjusting point 2 above, let’s say that the trip costs 0.3 miles and, hence, uses 0.06 gallons of fuel.  That’s 86.4 gallons per day or about 21,600 gallons per year!  Assuming $2.50 per gallon of fuel, RTD spends about $54,000 on this unnecessary trip!  Holy shit, that doesn’t even include the weekends!

Any thoughts?


Filed under Basic Statistics, Rambling, Uncategorized

GPUs vs CPUs

I am going to start working on some benchmarks for GPUs vs CPUs.  Hopefully I can write something about that soon; however, I don’t have anything at the moment.  Nevertheless, I can give you a pretty sweet video illustrating the GPU vs CPU concept courtesy of Mythbusters.  Here ya go.

1 Comment

Filed under HPC, Rambling, Uncategorized

The Wave is Dead.

Wow, on the day that I decide to write another blog post, Google announces that they are discontinuing their development on Google Wave.  Have a look at my last post.  Back?  Yeah, well I loved the Wave!  There I said it…I really did love Wave.  Unfortunately, nobody else even liked Wave.  I’ll be back; I’m heading outside to pour my forty on the Wave’s grave.

So my next blog post will involve R, ggplot2, baseball, and the Sports Guy’s latest column.  It should be a good one.

Leave a comment

Filed under Rambling, Uncategorized

The Wave

This post is not related to the Twitter (or other site’s) API.  I have learned quite a bit about a python module for accessing tweets (thanks be to Andy @ the Cable Lounge), as well as an R package for doing something similar.  I haven’t decided which I think is better.  However, I might start hacking around on the R package with Jeff Gentry (creator of the twitteR), so this might influence my decision! 🙂  I’ll get back to the topic of my previous post in a week or so.

This post is simply to say…Holy Crap, Google Wave is un-freakin-believable!  If you didn’t sign up for the beta test, beg your friends/colleagues/etc. for an invite — you will not be disappointed!  Just thinking about everything that went in to this project is mind boggling.

I’m pretty sure that the Google Wave team sent George Jetson back in time in order to give us a glimpse into the future.  Flying mobiles are next.

1 Comment

Filed under Uncategorized