Uber’s Data Visualization team builds software that enables us to better understand how cities move through dynamic visualizations. The Uber Engineering Blog periodically highlights visualizations that showcase how these technologies can turn aggregated data into actionable insights.
For SpeedsUp, our latest Uber Visualization highlight, we wanted to discover daily speed patterns over various streets in a city by applying machine learning to Uber Movement data. On the right side of the above animation, we represent streets as a time series of speeds over the course of the day. We cluster these time series by similarity: streets where cars always travel fast, always travel slow, travel fast and slow at similar times, and other permutations. On the left side, we overlay our clusters on a map so we can get a better understanding of where traffic bottlenecks occur.
Uber Movement combines data sets covering city speeds and travel times, anonymized and aggregated from all the rideshare trips we serve, and visualization tools that can help planners and administrators understand traffic patterns in their cities. For SpeedsUp, we used Apache Arrow to load a very large dataset of Uber Movement speeds in the browser and TensorFlow.js for efficient in-browser machine learning. We created our visualization of the data using loaders.gl.
This visualization could help identify streets where cars move too quickly, potentially endangering residents, or move too slowly, causing traffic tie-ups. Either situation could potentially be remedied through traffic calming measures or changing infrastructure to increase traffic flow.