Inspiration

We were inspired to start a project in weather forecasting to pursue our interests in complex system of weather forecasting. Our group wanted to use manage this data in an innovative way, to allow users of an application to control their weather forecasts on their own, as opposed to relying on other services.

What it does

Our system intends on giving control of predicting weather forecasts to users by allowing them to run their own prediction models locally.

This project takes historical weather data, cleans it up, and adds extra insights like rolling averages to capture recent trends. Then, it uses a specialized regression model to predict future weather conditions and checks how well these predictions match reality. In essence, it turns past weather patterns into a tool for forecasting tomorrow's weather.

How we built it

To build this weather prediction model, we first gathered historical weather data from NOAA (National Oceanic and Atmospheric Administration) and processed it by cleaning any missing or infinite values. We added new features based on time, like rolling averages, to capture recent weather patterns effectively. For the modeling, we used Ridge regression, which helps reduce the impact of correlated features and improves the predictions. Lastly, we evaluated the model's accuracy, ensuring the predictions were reliable, and tried to set up an API to automatically forecast future weather based on the model's output. Finally, we saved the model to a pickle file which gives the users access to the model's interface and allows them to use the factors they need to make their own weather predictions.

Challenges we ran into

There were multiple challenges in terms of scope, implementation and concept ideation for how our application would function, particularly in the planning phase. We had two main directions that we could take for the application: a customizable mobile weather application which displays information only relevant to a user's preference, and a mobile application which allows users to prompt for quick questions relating to a forecast dynamically, which responds with a short recommendation. An example question would be, "should I keep an umbrella in my backpack this week."

For more technical challenges, we struggled on connecting the current system in Google Colab to the front-end system using React and dealing with infinite values for the input variables of the prediction models.

Accomplishments that we're proud of

We were able to utilize publically accessible data to create a system which allows the general public to create and visualize weather forecasts locally on their personal machines. These local predictions for our robust system are comparable to industry standards for weather predictions, providing a reasonable alternative to mainstream weather predictions.

What we learned

We learned how to appropriate manage the scope of a custom, multidisciplinary project, as well as to overcome the different challenges faced along the way. We learned how to assess each team member's skills and capabilities, as well as how to utilize them in a group setting. We ultimately learned how to plan for and make adjustments for tight deadlines.

What's next for Weather or Not

  • Utilize more complicated models like XGBoost to improvise accuracy metrics or make a comparative study with our own baseline model
  • Add more predictors
  • Create the front end for a mobile application which builds off of the predictions made, as well as directly market the application to users

Built With

Share this project:

Updates

Submission history