Reducing energy usage in advance

ThermaSave was a project created during the HackTheMIST 2023 12-hour hackathon. The goal of the hackathon was to make a project with a machine learning focus. Check out the Devpost hackathon submission link and the source code for the project.

When planning our project, we knew that in order to utilize machine learning, we needed a foundation of data from which to work and make inferences. Inspired by the recent increase in the cost of living and intrigued by how temperature affected energy usage, we decided to create an app that would help Toronto residents reduce their energy usage and save money. By looking at Toronto temperatures and energy usage data in the past, we could make models to identify a correlation between the two datasets and use that to predict future temperatures and provide energy usage recommendations.

This project was created in collaboration with Tyler Yan, Ahmet Hamamcioglu, and and Owen Ristic.

Tech Stack:
Python SciKitLearn Pandas NumPy

Data Collection

To create an accurate model that would make predictions years in advance, we needed decades of temperature and energy usage data so that our model's predictions would not be biased towards recent events. For this reason, we took publically available Toronto temperature and energy usage data for the past 30 years. Seen left is an excerpt of the Toronto weather data that we used to train our model.

Creating the model

Given the short timeline and the lack of experience we had with machine learning, we decided we would use Python to build our app, given its plethora of machine learning and data cleaning libraries. Through some research, we identified Random Forest Regression, a supervised learning method, as our model of choice. Random Forest Regression works by creating multiple decision trees and outputting the average prediction of the individual trees. Since we were working with data many years in the past, having many predictions averaged out would, in our minds, have avoided reliance on any outliers in the data.

A simple user interface

To complete our project, we decided to make a simple user interface allowing the user to select a range of dates; the program in return would output the suggested energy usage for that time period and provide recommendations on how to achieve those energy usage levels. Due to the time constraint of the hackathon, we were unable to spend a lot of time on this aspect as we focused most of our efforts on data collection and the formation of our machine learning models.

Future Development Steps

Through thermaSave and the HackTheMIST hackathon, we gained an insight into machine learning models and how they formulate predictions given a dataset. However, due to the 12-hour time limit, we were unable to fully refine our model. The app could be improved by incorporating additional variables such as location (ie. a building's proximity to water bodies) in an effort to improve our model's predictions. Furthermore, the user interface could be improved to provide a better experience when using the app.