How it works
How energy forecasting works
General approach
Energy forecasting is about creating mathematical models to predict future energy supply and demand.
The idea behind forecasting in general is making use of what we know today to predict what might happen tomorrow. This knowledge might be based a theoretical understanding (such as calculating how much solar radiation is incident on a tilted plane) or more empirical (such as finding trends and seasonality in data). In reality, forecasting is usually done with a blend of these approaches.
For energy forecasting specifically, one of the main uncertain factors is in many cases the weather, which is why weather forecasting becomes of high importance. In other cases, such as for behaviour-driven or industrial electricity demand, the best predictor is the time series itself that is forecasted. It contains information regarding how behaviour is correlated specific times of the day, days of the week or days of the year.
Input data sources
The input data sources used in the energy forecasting models are:
- Target time series itself
- Weather forecasts
- Other exogenous information
Other exogenous information typically consist of day types (as mentioned previously), but can also be production plans, planned maintenance and even historical weather measurements. Find more information about our data APIs here.
Approaches and frameworks
Any Python framework and code can be used in the Rebase Platform to develop an energy forecast models. Several of the more common frameowrks already have pre-implemented energy forecasting models. Below is a list of frameworks that have an implemented model:
Model | Developer | Model type | Code and docs |
---|---|---|---|
sklearn.LinearRegression | Scikit-learn | Linear regression | Code, Docs |
statsmodels.ARIMA | Statsmodels | ARIMA | Code, Docs |
sklearn.RandomForestRegressor | Scikit-learn | Random forest regression | Code, Docs |
sklearn.RandomForestRegressor | Scikit-learn | Random forest regression | Code, Docs |
LightGBM | Microsoft | Gradient boosting decision trees | Code, Docs |
XGBoost | DMLC | Gradient boosting decision trees | Code, Docs |
tensorflow | Neural networks | Code, Docs |