This is a short overview of the major components and steps in building a Jupyter Book. See the other pages in this guide for more in-depth information.
Electricity is an essential requirement for modern society and plays a crucial role in driving societal progress. Over the last few decades, the power industry has undergone a process of deregulation in many countries, with electricity becoming a tradable commodity in the market. With the emergence of this new market structure, there has been an increasing demand for accurate and reliable forecasting methods across various time scales, such as hourly, daily, and long-term. Consequently, the development of such forecasting methods has become a significant research area in the field. Furthermore, energy demand forecast is crucial for electricity storage and cost optimization, and it allows grid operators to plan for and manage the supply of electricity in order to serve the needs of consumers while ensuring system stability.
Our project intends to explore several solutions for Ontario energy demand and price forecasting using statistical models, classical machine learning models, and deep learning models. We develop a dataset consist of daily energy price, energy demand, and average temperature for the span of 3 years from 2020 - 2022. The energy price and demand data are collected from the Independent Electricity System Operator (IESO) website, and the weather data is collected from the Environment and Climate Change Canada website (see the Data part for the details). For the statistical and machine learning models, we use the first 2 years in the dataset as the training data, and keep the last year as the test data. For the deep learning models, we keep the last year data (2022) as the test set, and for the data from 2020 - 2021, we take first 70% of the data to be the training set, and the latter 30% to be the validation set. The performance of the proposed models is evaluated on the test set, using 3 commonly used error metrics for regression/time series models: Mean Squared Error (MSE), Mean Absolute Error (MAE), and Mean Absolute Percentage Error (MAPE). We use both R and Python programming language for this project, with Jupyter Notebook/Google Colab as the main IDE. We can write R code in Python environment using rpy2 package.