Inspiration
Our team came together as a group of like-minded individuals hoping to create impactful change through our project. As we sat down to brainstorm which pieces of infrastructure we wanted to help, we found ourselves gravitating towards the LA Metro.
As college students, we've experienced our fair share of struggles with the Metro. One of our team members, Shlok, recalls a time when he was taking the Metro back to USC, but halfway through, a problem was found in the tracks. He was asked to leave the train. From there, he had to Uber back, and if you know anything about Los Angeles, Uber isn't cheap. Many of us shared similar frustrations and were tired of Metro delays. We put our heads together in hopes of doing something to improve the lives of LA residents as a whole.
One specific incident stuck out to us as we began our research. In 2019, one Metro track shifted slightly, and this fault led to a significant slowdown on the Metro E and A Lines. The track had been shifting slowly over time, and fixing it on short notice was time-consuming and expensive. We decided that something should be done to make finding track defects more efficient: a solution should be in place to fix problems before they can even happen.
What it does
The project we created features an interactive map of the E Line showing exactly which points are of concern and should be inspected.
How we built it
Collecting our own data
We embarked on a journey on the E Line, riding back and forth to Culver City and collecting data on our phones with the phyphox app:
- Sensors: accelerometer, location and gyroscope
- Placement: phones taped still to the seats in the 5th row of either the first or last car
Exploring the data in RStudio
We then took all of our data to RStudio to run some simple analysis. This part was very informative because it clarified what kind of data we were working with and how the magnitude picked up by the accelerometer behaved at different locations.
Training a model on the Beijing Metro dataset
Still, we didn't have enough data for our machine learning (ML) model. So we found a dataset from the Beijing Metro, where sensors were mounted near the seats. Using this existing dataset, we trained our ML model to validate the results we got from our own data.
Challenges we ran into
Getting this far didn't come without hiccups.
- Turning an idea into a product. We initially struggled with how we could actually create a product for the Metro system.
- Collecting clean data. Once we settled on collecting data ourselves, we had to be specific about where we sat on the Metro and how we kept our phones still, so we weren't interfering with the data collection.
- Loading the data into RStudio. Each Excel file had 3 subsections, which were difficult to load into the platform, but we were able to troubleshoot and solve the problem.
- Not enough data for our own model. We had planned to build an ML model from our data alone, but with the limited number of trips we could make, we didn't have enough data to train, validate and test an effective model.
- Adapting another city's data. After finding the Beijing dataset, we had to normalize the data so it made sense and find new ways to apply it to completely different infrastructure. It was also helpful as a proof of concept.
What we learned
Through this project, we learned how simple it is to tackle a problem as long as you can envision a solution. We came to realize that with a willingness and passion to tackle a real-world problem, it is possible.
Built With
- claude
- express.js
- geojson
- ggplot2
- github
- javascript
- la-metro-gtfs
- maplibre-gl-js
- matplotlib
- node.js
- nodemailer
- numpy
- openstreetmap
- pandas
- phyphox
- python
- r
- scikit-learn
- scipy
- usgs-national-map
- vercel
Log in or sign up for Devpost to join the conversation.