By Alberto Quesada and Roberto Lopez, Artelnics.
Forecasting of power demand plays an essential role in the electric industry, as it provides the basis for making decisions in power system planning and operation.
A great variety of methods for predicting electricity demand are being used by electrical companies, which apply to short-term, medium-term, or long-term forecasting.
But the use of electricity arises from complex interactions between meteorological and socio-economic factors. In such a dynamic environment, ordinary forecasting techniques are not sufficient, and more sophisticated methods are needed.
The objective is to effectively untangle all the factors that lead to demand change and to determine the underlying causes. In this post, we explain how machine learning can help to predict the demand of energy accurately.
To illustrate this process, we build a neural network for predicting the demand for electricity using a real data set taken from Kaggle, one of the most important repositories of data science.
A good model for predicting the demand for electricity requires to analyze the following types of variables:
The data set of our example contains information about 2.000 days records with 48 attributes (hourly temperatures and demands). This adds up to more than 100.000 data.
The first column represents the date when the measure of each instance was done. The next 24 columns represent the ambient temperatures for each hour of the day. Finally, the last 24 columns represent the electric power demand for each hour of the day.
The time series charts are represented here. The next one is the temperature at 1:00 for the period of our data set.
This figure shows that the data set starts (t=0) in winter when the temperature gets its lowest value. Then in t≈200, it gets the summertime and maximum temperatures.
The time-series charts of the demand at 7:00, 11:00, 17:00, and 24:00 are represented in the next figure.
In this picture, we can see that at 7:00, the demand is much more significant in winter. On the other hand, at 11:00, the demand in summer is growing up until 17:00, where demand in summer exceeds demand in winter. Subsequently, at 24:00, the demand is again higher in winter than in summer.
This is because it is freezing at 7:00 in winter, so people usually spend more electricity in the heating system. However, at 7:00 in summer, the temperature is pleasant, and there is no electricity expenditure. As it gets closer to midday, summer temperatures are higher and more electricity is needed for the air conditioner. In summer, higher temperatures are around 17:00, so it is the point of the day where summer demand gets its maximum value. Finally, at 24:00 temperatures in summer are more pleasant, and winter demand grows up again.
The data set is transformed into a group of instances whose inputs represent the data from the past and whose targets represent the information from the future.
The temperature associated with future demand will also be used as an input variable because we can know it in advance.
In this case, we have set the project configuration to predict the coming day from the data of the previous two days.
For that purpose, the number of input variables will be 120, and the number of target variables will be 24.
Scatter charts can help us to understand how electric power demand depends on the different features.
The first scatter chart represents the dependence of the demand with the temperature. In this case, it is represented the demand for tomorrow against the temperature of today at the same hour.
As we can see in the previous picture, there is a minimum demand for tomorrow when the temperature is the most pleasant (55-65°F). Then, the demand grows up as the temperature moves away from that value.
In this case, it is represented the scatter chart of the demand and the past demands. We plot the demand for tomorrow at 12:00 against the demand of today at the same hour.
There is also a minimum value for the demand of tomorrow when the demand of today gets its minimum value.
These data are brought together in a single predictive model to discover associations between all the above variables.
This will give us a more in-depth understanding than ever before on the causes of demand and allow better decision making.
Neural networks can anticipate customer response and changing attitudes about energy consumption by looking at all types of factors.
The results are improved forecast accuracy, which means better information to decide what the best course of action is.
Order selection algorithms are used to get the optimal number of neurons in a neural network. In this case, the incremental order method is used.
The next chart shows the loss history for the different subsets during the incremental order selection process. The blue line represents the training loss, and the red line symbolizes the selection error.
As we can see in the previous picture, the optimal order is 7. The next table shows the order selection results by the incremental order algorithm.
|Optimum training loss||0.013|
|Optimum selection error||0.168|
|Elapsed time||1118 s|
By looking at the loss values, we can notice that our predictive model has a good accuracy because of the low loss values. Finally, the architecture of this neural network can be written as 120:7:24.
The testing analysis objective is to evaluate the predictive power of the neural network on new data that have not been seen before, the testing instances.
This process will determine if the predictive model is good enough to be moved into the deployment phase.
First, we perform the linear regression analysis between the scaled neural network outputs and the corresponding targets for an independent testing subset.
The next figure represents the linear regression chart of the predicted demand at 1:00.
The next table lists the linear regression parameters average for the scaled outputs (demand 1-24h).
The intercept, slope, and correlation are very similar to 0, 1, and 1. Therefore, the neural network is predicting well the testing instances.
Finally, we calculate the error statistics. As we have 24 target variables, we calculate the average of all these error statistics.
All in all, the mean percentage error is 5,113%. It is a low value when we are studying demand forecasting, so the model can be deployed now.
Once we have our predictive model tested, we can apply it to predict the electric power demand for tomorrow. This process is called model deployment.
The next figure shows the hourly electric power demand prediction for tomorrow in kW, considering the following inputs: yesterday, today, and tomorrow's temperatures and yesterday and today power demands.
As we can see, the graph looks as expected. Between 5:00 and 8:00, the electricity demand will increase its value by 4.6 MW. This phenomenon matches the beginning of residential, industrial, and services activities.
Then, between 16:00 and 20:00, its value will increase by 3.2 MW. The reason is that most people come back home at these hours, which implies that people turn on the heating system, etc.
Machine learning permits us to model and understand very complex systems that allow companies to represent the complexity of electricity demand in a way previously unachievable.
More specifically, the objective is to achieve more accurate forecasts for the demand for electricity.
Due to predictive analytics, we can predict tomorrow's electric demand with highly successful results. For that reason, this will be a significant advance for companies in the energy sector.
The use of machine learning means better information to decide what the best course of action is. Therefore, companies that use this technology will have a competitive advantage over their competitors.
You can use the neural network software Neural Designer to build your predictive models in just a few clicks. Download Neural Designer now and try it for free.