Data Science in Solar Power. Generation forecasting: from problem to solution
By: Slava Koval
Tags: Data Science, Forecasting, Renewable Energy, Solar Power

Hello everyone,

This is a new part of the series Data Science in Solar Power and this time I want to talk a little about forecasting of power generation from PV plant. This topic is not new, there are a lot of talks about it, there are many different solutions to this problem, but nevertheless, it cannot be called as finally resolved. Here I will focus on the relevance of this problem and what its solution consists of and whether there is any reason in such forecasting. So, anyone who is interested — welcome.

First of all, I want to discuss the difference between Predicting and Forecasting (at least within the scope of this article), I am sorry in advance to those who know this very well, nevertheless, it will not be superfluous to mention it one more time.

Predicting — you create a function/model

where G is the PV plant output power, and x, x1, …, xn are some known parameters. In other words, knowing x, x1, …, xn at a certain moment, you find the corresponding value of the Generation G.

Forecasting — you create a function/model

which, being based on the current and past values of the PV plant output power and other parameters, forecasts the next output power value. In other words, knowing current and historical values of the output power and other parameters, the function is trying to foresee the future value of the output power (for example, tomorrow). Exactly this problem will be in my focus this time.

So, Forecasting. What time intervals it should have and who are interested in it at all?

Long-term forecasts, i.e. annual, monthly intervals. This information is useful for the owner of the PV plant and the Asset Management, at the initial stage to understand whether there is a point in building such a station, then for planning the budget, income/expenses. Usually, such forecasts are rather static and are made on the basis of statistical information about the climate in the region and the actual parameters of the PV plant. This is done at the design stage when simulations are performed, for example in PVSyst. Another feature of such forecasts is their low variability, i.e. there is often a single annual forecast, and the real values, although different, do not differ significantly, within +- 10%. There is not so much even to talk about.

Short-term forecasts, i.e. daily, hourly intervals. For example, hourly values ​​of the output power of the PV plant within the next day. For the Owner, Asset Manager such kind of information seems to be not very useful, the plant generates and thanks to God. But for the Power Grid, this information is extremely important. Due to the growth of renewable energy in the total energy balance of the Power Grid, the process of maintaining a sustainable regime becomes more and more difficult. In short, the Power Grid works like a single organism and the process of energy generation and consumption occurs almost instantly. Consequently, if the generation suddenly changes dramatically, these changes will affect consumers easily. Therefore, the Power Grid managers would like to forecast such changes in order to be ready for them. Of course, we can talk about distributed generation and its balance, various compensations, but this is another question. The important thing is that the Power Grid is very interested in accurate short-term forecasts and sometimes so much that they may oblige the generating companies to provide such forecasts by introducing appropriate penalties or vice versa, rewards. And at this moment these forecasts become more interesting, let’s talk more about them.

Firstly, a few words about the things that don’t work — all sorts of autoregressive models (ARIMA, SARIMA, …). They do not work for the reason that a PV plant power output is not just divorced from reality, but very much depends on the weather, and you cannot forecast it in this way (of course some forecast can be made, but the quality…).

And if I say that the power depends on the weather, let me demonstrate how. I simply make for example a linear model that will predict the generation of a solar power plant knowing: solar irradiance, ambient temperature, wind speed. Taking the data for a couple of days in a 10-minute resolution, I can get a model whose MAE (Mean Absolute Error) will not exceed 2.5 - 4% of the installed capacity and the feature’s contribution will have the following order:

Based on these results, it is possible to say with certainty that knowing the weather conditions it is possible to predict accurately the generation of a solar power plant. Also, considering the coefficients of the features, it can be seen that the solar irradiance makes the largest contribution to the forecast as it was expected. Thus, knowing this we can say, well, let’s train a model for our PV plant using known weather and generation parameters, take the weather forecast for tomorrow and that’s it, all is done.

But I would not do so. The first reason for that is IMHO obvious; it is quite difficult to get a high-level weather forecast for the next day. I think many people had such experience when rain was forecasted for the next day, but it didn’t happen so or vice versa.

The second, less obvious, is that you cannot use actual weather data to train the model. And the thing is that if you train the model on the actual data, it will be overfitted for them in the sense that they will be considered as reliable (and we remember how much solar irradiance and power generation are correlated) and then when the model will be used with non-super precise weather forecasts the results will be worse, really worse.

The third reason is that usually you do not have the weather forecast specifically for your location, but rather for some region, therefore, the model should learn how to localize the forecast and find systemic bias in it (if there is any, of course). To summarize the above, I can say that if you use the weather forecast to predict PV plant generation, then you need to train the model on the forecasts. It is a simple but crucial thing.

Using this approach, it is possible to achieve some stable results. Of course, I don’t say about super high accuracy, and this approach doesn’t have to be considered as the only correct one. But nevertheless, this approach gives a strong baseline for sure. Lastly, I want to leave a link to the work of DeepMind, who forecasted wind power generation.

That is it for today. Stay Tuned!