Just another way of looking at speed distributions. This shows the distribution of observed speeds across several thousand route segments by percentile of the speeds on each segment. The animation changes as we’re shown different parts of the speed distribution on each segment.
Not totally sure if it’s useful yet, but it is kind of pretty.
Some news from the thesis front:
I think I’ve finally perfected my method for linking real-time data with scheduled stops. This is a comparison of the average (weekly) scheduled speeds to the observed average speed for each stop->stop segment. Results that look roughly as expected are what we all hope for.
Note that each classification is broken into eight equal sized quantiles
There is a lot of information in that little gif! More than I can explain here. More to come…
Higher resolution here by the way. It’s interesting to look at even if you don’t know Toronto. Also, the line widths are determined by the number of trips scheduled for each segment.
Just some preliminary results from my first attempt to archive real-time bus data, these from the Champaign-Urbana ‘Mass Transit’ District:
This is a look at variance in the distribution of delayed buses throughout the day. It’s only looking at off-schedule buses right now so we aren’t seeing any change in the proportion of precisely on-time buses (if there is any such change). The little clock in the top right is the time of day the event was recorded, and right below that is the number of events used to ascertain the momentary distribution. For now, this sample size is as much a reflection of when I was running my computer as it is of schedule frequency.
I assumed that the first and last percentiles of the overall distribution were outliers and clipped them off.
I don’t actually see much going on here except random fluctuation, but I suspect this will get much more interesting with larger samples and many more and more diverse agencies included. I’m actually quite eager to see what that turns up! Right now, I’m working on developing a tool to query APIs from the Toronto Transit Commission and Philly’s SEPTA. Unfortunately, because neither Cincinnati transit agency is willing to share their data, which they’ve been collecting and using for years, it will be impossible to include them in this sort of analysis.
I read a clever little article while I was researching R graphics for this project. It started out with a whole paragraph just making the point that no one would read the paragraph itself first. Instead, our eyes would all flash down to the brightly colored graphic right below. Mine certainly did. Did yours? I could write pretty much anything here, but you won’t read it until you’ve satisfied yourself with the silly flashy GIF:
But since we’re not interested in psychology(see above, if you haven’t), some description is perhaps in order: blue is a balance in favour of people boarding buses, red of people getting off the buses. Circle area equals the absolute difference between boardings and alightings at each scheduled stop. This means among other things that stops with balanced passenger boardings and alightings will not show up at all. Each time-step is a half-hour period.
The idea here is simply to show the temporal unbalance of passenger flow in the transit system: at some times of day, more people are going in one direction than in the other. This is why you occasionally hear the complaint that “buses are running empty” and implicitly that no one is using the system or that parts of it could bear trimming. The routes are not usually inefficient so much as the passengers are, with their chaotic plans and schedules, failing to neatly balance themselves and set each other off as more orderly citizens might do.
Notice how the overall color of the outlying stops changes at the rush hours from blue (boarding) in the morning to red (alighting) in the evening, the reverse for downtown and most of uptown. Clearly, the overall pattern we’re seeing is that a lot of commuters are coming in from the outer neighborhoods for daytime work in the central ones.
As the title says though, these are preliminary results. I made the circles transparent so colors can blend and become more opaque where activity is more intense, but there’s still a tremendous amount that’s obscured in this map. The next step is to change it from a map of mutually interfering circles into something clearer at the busy confluences of multiple lines. I’m thinking, and if you’ve been following this blog lately it should be on the tip of your tongue already, of creating a kernel density surface to properly deal with the busy areas.
In the meantime, I’ll attempt to assuage your hungry eyes with a couple more GIFs.
My first attempt at a GIF, using a much less automated method, shows this same basic pattern, but in the context of Cincinnati neighborhoods.
Another one breaks it down a further than the first one I showed, dropping the time-interval to two minutes rather a half-hour. Again, blue is a balance in favour of boardings, red in favour of alightings.
This one is particularly interesting, I think, because you can really start to see individual buses flashing through the city. I love the finale, right around 25:10 (1:10AM) where the buses all explode out of government square on their last run at around the same time to deposit their passengers in an adorably pathetic little fizzle of red from blue.
Anyhoo, I’ll say yet again, this is preliminary and I share it now because I think this data is tremendously exciting. We’ll see what I can make of it in the next few days!