Inspiration
At present, there is no reliable method for seismologists to forecast significant earthquakes, which continue to have devastating effects across the globe. Although there have been attempts to use classic neural networks as a way to address this issue, they fail to consider examples of when earthquakes do not happen during supervised training. If modeled as a classification problem, the model then runs with a multi-class classifier on positive examples only, resulting in inaccurate results.
To mitigate this issue, we model our problem as a regression task with the earthquake’s magnitude being the output and use data augmentation to generate and represent data for when the earthquakes are insignificant or do not occur at all. We set a range of -100 to -10 for those magnitudes. For the model, we used Microsoft’s AutoML to select the most powerful model for our dataset, instead of selecting one ourselves. AutoML used LightGBM to train our models.
We have also cleaned the original dataset to extract the needed features. The dataset covers registered earthquakes around the world from 1970 to March 2019, with the earthquake data obtained from the USGS. Last but not least, the backend was implemented mainly with Flask, Gunicorn, Python, HTML and CSS. The designs are hand drawn and animated with Procreate.
What it does
This application features a user-friendly and colorful interface that allows users to fill in various text boxes. Users have the option to fill in all of the text boxes or leave some with their default values, such as the current location and time. Once the form is submitted, the backend service uses a pre-trained machine learning model to generate a quick prediction of potential earthquake magnitudes (usually indicating no impending earthquake). Based on the machine learning score or magnitude provided, the application changes the background to depict the current conditions. For instance, if the score is high, the background shows a world in peril, while a low score shows a peaceful and glowing Earth as the background. The backgrounds are animated in gif-form.
Challenges we ran into
This is our first Devfest, so the biggest challenges are we are nor familiar with some stacks and workflows. Another challenge was that we only had data for positive earthquakes. There were no data for times when no earthquakes occur. Hence, the model would at first only predict earthquakes everywhere, which is thankfully not true. We had to generate our own set of negative data points to counteract this. Ultimately, we learned how to work together as a team and collaborate across front and back end!
What's next for TECHtonic Tracer
We hope to refine the UI and make the animations actually show across all screens. We would also make it media responsive. Due to time constraints, we downsampled the total dataset to 100,000 examples. Using a larger dataset to improve accuracy is one future extension. We also think using more features relevant to earthquakes would improve accuracy.
Log in or sign up for Devpost to join the conversation.