1. Introduction
Forecasting is the prediction of the behavior of elements that are intermittent in nature [
1] based on historical data or from other parameters related to the elements. Forecasting is an important tool for any industry as it helps to plan ahead and choose the best possible solution [
2]. Researchers use different artificial intelligence (AI)-based techniques for different types of forecasting. AI techniques are based on the development of computational techniques and algorithms that automatically improve from experience and learn from historical data. Some AI-based forecasting models include machine learning, deep learning, neural network, and support vector machines [
3]. These methods are also combined with lagged and additional regressors (i.e., weather information, statistical features, demographic data) to improve their accuracy. Although these AI models are more complex than traditional forecasting models, they provide more accurate predictions for different types of forecasting [
3]. Nevertheless, not all of them are suitable for different types of forecasting (i.e., some may provide better solutions for a short prediction period, some may require a larger data set, some may require more time, etc). Researchers have also tried to combine several of these models with classical models to improve the accuracy of forecasting, as well as its interpretability [
4].
Electric load forecasting or load forecasting (LF) is an estimation of load in advance to predict the behavior of load consumption in an area. In the power industry, load forecasting has already become a vital tool. LF has also become an essential part of modern grids due to the high utilization of renewable energy resources such as wind and solar [
5]. Starting from generation, through to end-user consumption, along with transmission and distribution, all the companies in these sectors need load forecasting to plan their scheduling and to maintain the system’s reliability [
6]. Moreover, LF has now become more vital with the inclusion of smart grids, or smart energy management systems, as they require accurate prediction to ensure optimum grid performance. LF depends on several components. Major factors that affect LF are [
7]:
Demographic factors: population, income, type of industry, and so on;
Time factors: seasonal effects, day of the week, hour of the day, holidays, and so on;
Weather factors: temperature, dew point, humidity, wind speed, cloud cover, and so on;
Pricing factors: real-time electricity pricing, fuel pricing.
These factors impact differently on LF depending on the types of forecasting. LF can generally be classified into three categories [
8]: (a) short-term load forecasting, (b) medium-term load forecasting, and (c) long-term load forecasting. Short-term load forecasting (STLF) predicts the load in the range of minutes to weeks ahead [
9]. STLF is essential to perform daily operations, such as load flow estimation (to prevent overloading and take necessary corrective actions), scheduling the generating units economically, and so on. Medium-term load forecasting (MTLF) has a time horizon over weeks to months. MTLF is helpful for planning maintenance of the generating units [
10], predicting the necessary power required to purchase from or sell to the neighboring networks, and scheduling energy storage facilities [
11]. Finally, long-term load forecasting (LTLF) has a time horizon over years to decades [
9]. LTLF is vital to make decisions regarding increasing the number of generating units, estimating the fuel supply required for the future, and so on.
Over the decades, LF has been performed using many different methods with reasonable prediction accuracy. Among all the techniques, the regression model is one of the simpler and more traditional used for load forecasting [
12,
13]. Different types of regression analysis have been used for load forecasting, such as linear regression [
14], multiple regression [
15], exponential regression [
16], and so on. The authors used an incremental regression tree to predict the load in [
17] using historical data, and support vector regression was used to predict load forecasting [
18]. The authors in [
19] used deep residual networks to predict the load for the short term only but did not investigate the performance of the model for medium- or long-term forecasting. Most of these are only used for short-term load forecasting as they are not suitable for long-term load forecasting. Another popular way to predict different kinds of load forecasting is using artificial neural networks [
20,
21,
22]. In [
10], the authors used an improved artificial neural network (ANN) technique to forecast short-term load using 10-year historical data for New England and showed the proposed model performed better than the regular ANN. However, the prediction was only performed for STLF, while performance on either MTLF or LTLF of the model was not shown in the article. Researchers have recently been using deep neural networks (DNN) for load forecasting [
7,
23]. For example, DNN was used to predict substation-based hourly load forecast in [
24], and residential hourly load forecast in [
25]. Long short-term memory was used in [
26,
27,
28] to predict short-term load forecasting for a small region due to its recurrent nature. Most of the techniques that have been implemented to predict the load are focused on short-term load forecasting. Therefore, more research is needed on medium- and long-term load forecasting to improve the accuracy [
29]. The aim of this paper is to predict load for three different types of forecasts with different prediction periods.
As technologies are evolving, additional new parameters such as integration of renewable resources and weather-related events are affecting prediction accuracy. In [
16], the authors showed that the mean average percentage error for predicting MTLF was approximately 10 using different regression techniques. However, this number is on the higher side of the expected outcomes for this kind of forecasting [
11]. Chen et al. used a support vector machine to solve a daily maximum peak load forecasting problem where the prediction period was one month [
30]. The paper did not show the effects of adding weather data as input features on the forecasting results. The authors used decision trees to perform a long-term forecast in [
31], but the error percentage of the model was on the higher side. Short-term correlation data were extracted from each of these models, and later, an iterative algorithm was designed for forecasting long-term electric load consumption by decomposing the forecasting problem into multiple simple linear regression models in [
32]. Researchers have also been trying to use enhanced models and combine multiple models for power systems applications [
33]. In [
11], the authors tested their enhanced deep network model for medium-term load forecasting, resulting in improved accuracy compared to the traditional model. However, these deep networks tend to take a lot of time for training, which is true for this case as well. Authors in [
34,
35,
36,
37] combined different classical models and/or different AI-based models to predict the load of a power system and showed that the hybrid models improve the accuracy of the prediction.
From the discussion above, it can be stated that load forecasting is an important topic and many methods have been proposed to solve the forecasting problem. However, with the rapid increase of time series data and machine learning techniques, developing explainable forecasting techniques still remains a challenging task in the decision-making process. That is why hybrid solutions are needed to decrease the gap between classical interpretable techniques and machine learning models. Moreover, most of the load forecasting methods discussed above are focused on predicting load for a short time horizon, where higher accuracy can be found quite often. However, it is harder to get high accuracy for long-term forecast models. In this paper, a novel hybrid solution is proposed by combining neural prophet (NP) with long short-term memory (LSTM) network through an ANN that can perform prediction with better accuracy than the individual ones. Selection of LSTM for the hybrid model is due to LSTM’s recurrent nature and the fact that short-term power demand is closely related to its previous time step values. NP is one of the newest entry in the field of time series forecasting, and its application in electric load forecasting is yet to be explored. NP can be more interpretable than the traditional AI-based models [
4]. Thus, this paper adds these interpretable elements to the solution. The paper also focuses on both short-term and long-term load forecasting. Multiple real-world tests of the model are performed using a real data set from the National Renewable Energy Laboratory (NREL), USA, and the Electric Reliability Council of Texas (ERCOT) for different kinds of load forecasting.
3. Training of the Model
In order to train and test the model, a data set from a city in Florida is initially used. For this, the model is trained with hourly load demand data sets from 2016–2019 for the city, which are collected from [
42], and weather information, taken from [
43]. Temperature data is taken at different city locations, and the calculated average is used for the training and testing phase. Three years of load demand, from 2016 to 2018, are used for the training phase, and the data set is split into 75:25 for training and validation. The model is tested using the data set of year 2019. The variation of load for 2016, 2017, and 2018 are provided in
Figure 5.
From the figure, it can be seen that the load consumption over the years is pretty similar, with slight variations. However, there are power dips for very short periods in the month of September in 2016 and 2017 and in the month of October in 2018. All these drops are caused by hurricanes, as power lines are destroyed by them. There are some power spikes that can be found in the month of January in 2016, 2017, and 2018 due to sudden drop of temperature during those periods. There is also a power spike in the month of July in 2018, along with some other spikes, which could be because of festivals, the addition of huge loads, weather-related events, and so on. Next, the 15-year electrical load data set for the state of Texas collected from [
44] is used to train and test the model. The three kinds of time horizons of load forecasting used to test the model are mentioned below.
3.1. Feature Selection
Hour Ahead Load Forecasting: For this case, the objective is to forecast the load every day one hour ahead of time. Two prediction periods are used here: one for winter, and one for summer. The training is performed using different statistical and weather features, and it is empirically observed that the selection of the variables mentioned below provides better results [
45]. Moreover, there is a close relationship between temperature and power load.
- (a)
Year
- (b)
Month
- (c)
Hour of the day
- (d)
Day of the week
- (e)
Holidays
- (f)
One-hour prior load
- (g)
Average load
- (h)
Temperature
Day Ahead Load Forecasting: The objective for this type of forecasting is to forecast electrical load consumption one day ahead. Therefore, the one-hour prior load cannot be used as an input variable for prediction. That is why the previous 24 h average load and 1-day prior load are used as input features for this type of forecasting. Other input variables used for this case are similar to the previous one. However, the temperature needs to be predicted a day ahead as well. According to [
46], the error percentage for day ahead weather temperature is less than 1.5. Therefore, the error in predicted temperature will not have any significant impact on the results. Two prediction periods are used for this case as well, winter and summer.
Year Ahead Load Forecasting: The objective of this forecasting is to estimate daily peak load consumption a year ahead. The error percentage is relatively high for predicting weather temperature a year ahead, which will affect our results significantly. Initially, predicted temperature is added as an input feature to predict the load. Later, this forecasting is performed only based on the historical load data set, ignoring the temperature. The rest of the input variables used for this case are provided in the list below.
- (a)
Year
- (b)
Month
- (c)
Day of the week
- (d)
Holidays
- (e)
Temperature
Four performance metrics are used to evaluate the test result. They are the mean average percentage error (MAPE), the root mean square error (RMSE), the sum of square error (SSE), and the coefficient of determination (
). Equations (
11)–(
14) are used for calculating the performance parameters, where
N is the number of data points,
is the actual value, and
is the forecasted value.
3.2. Hyperparameter Tuning
With the three years of training data set, different models are trained. The proposed hybrid model is compared with regression tree (RT), ANN, LSTM, and NP. The number of hidden units for ANN is optimized based on the error percentage. The training is done multiple times with different numbers of hidden units, and the number of hidden units is chosen from the best solution. The momentum of the ANN model is set to 0.9. For the case of LSTM model, if the hidden unit’s number is increased, the performance improves, but it also takes more time to train the model. At a certain point, the performance does not improve significantly; rather, it becomes computationally expensive. Therefore, the number of hidden units is chosen to be 200 to train the LSTM model to get the best possible outcome considering both situations. For the case of the NP model, the number of hidden layers is chosen to be 2, as the model gives good results with this number. Other important hyperparameters used for the hybrid model are provided in
Table 1. Optimized parameters of the table are dissimilar for different data sets. The same hyperparameters are also used for testing each model individually. In the case of RT, the performance depends on the size of the leaf node. The leaf size of the RT model is optimized with an optimization algorithm where the objective is to minimize the percentage of error for different cases while changing the number of leaf sizes.