Day-Ahead Utility Load Forecast

1. The case

This case study reviews a day-ahead load forecast model at a 5 min resolution, for a utility with a peak load of 900 MW in an urban area servicing mainly residential customers, big malls, business and shopping districts. The load forecast model is implemented using QR AI Forecaster.

This utility trades its sourcing portfolio of physical PPA and callable contracts in an hourly day-ahead market. Revisions on buy-sell orders for the next day can be made until noon of the previous day. The utility uses QR Trading Optimizer as its trading platform. 

The utility’s total load forecast is a key input of trading optimization. Indeed, this is the global constraint of the optimal dispatch for each trading period forward: the sum of optimal dispatch / buy-sell for each trading period must be equal to this load forecast. Therefore, this utility requires accurate day-ahead load forecasts at 5 min resolution.

2. The Data

The forecast in this case study uses 5 months of data in hourly resolution.

Input data used by the model:
  • Actual meter data are published by the transmission / ISO authority, with one-day delay, at a network of load nodes where the utility draws its energy. We fetch every load node meter data and aggregate them as the utility total load or demand. It should be noted that intraday we don’t have access to actual meter data.
  • SCADA data is available in real-time. We use this as an intraday proxy for the utility’s real-time load. We fetch SCADA meter readings in real-time every 5 minutes, 24/7, via the API provided by the Utility. Similar to the meter data, SCADA is also published for the network of load nodes where the utility draws its energy, we fetch every load node and aggregate them as the utility total load.
Output data of the model:
Output data of the model: hourly load forecast day-ahead, revised at 9:00, 12:00 and 17:00.
Note: Weather data was not used in this sample load forecast. Adding weather as a predictor may lower the error MAPE discussed further below.

3. Data Exploration

Large city utility hourly average
Hourly Average Load from May and July Data.
Note the dips in load at 13:00 and 18:00. The load forecast is required to capture these.
Large city utility daily load average
Daily Load Average in May and June
The above plot suggests:
  • Sunday load is lower than the rest of the week.
  • Saturday and Monday consumptions are similar except for the low consumption at the beginning of the day in the former.
  • Tuesdays until Fridays have very similar load profiles.
The above observations lead to the following configuration of our AI Load Forecast model:
  • Weekday as a predictor to the AI Model to indicate the days of the week
  • Model Splitter feature in the AI modeling in which multiple models are trained. In the above observations, we train 4.
  • The Model Splitter feature of the QR Forecaster should be activated to split data at run time and create and train 4 different Models to forecast different days of the week: Monday, Tuesday – Friday, Saturday, Sunday.

4. Data Issues

This utility load and SCADA data present several challenges.
Large city utility 5 min load
Load Utility for May and June in 5-Minute Resolution
The above graph shows two (2) months of data, May and June, in 5 minute resolution. As mentioned above, the Actual data are fetched a day after while SCADA data is fetched real-time at 5 minute intervals.

As with most utilities, fetching data from the SCADA metering system often creates additional difficulties. We also mentioned above that this utility uses hourly data to place its buy-sell order for the next day. The next section will discuss the conversion from 5 Minute to Hourly resolution and how it coincidentally helped us with the SCADA issue.
Remarks:
  • The SCADA meter is sometimes unable to publish data in real-time and leaves gaps in the data.
  • SCADA publishes erroneous data; sharp increase and decrease.
  • SCADA accumulates readings from previous intervals, and releases data at the end of a period, resulting in zigzag shape in the data.
We mentioned at the beginning of this test case that the utility requires hourly data. This coincidentally helped us solve the issues above for the most part.
Aggregating 5 min load data to derive hourly load profile
In the image above we convert the data from 5 min to hourly resolution, by taking the sum of 12 (twelve) 5-min period loads, the small irregularities discussed above are then removed.

However, we still have an issue when several 5 min data in the same hour have very low values which causes the drop in period 12 above. The same is true on the other extreme side where load level increases too high.
Average SCADA data in hourly resolution
Averaging 5 min load data to derive hourly load profile
To address the limitation above, we propose to take the average of the 5-min load instead, as seen in the above image. This strategy can address both the issues mentioned above.We will refer to this data as Average SCADA. This approach is robust to few missing periods.
Missing SCADA and SCADA average data
Above graph shows SCADA and Average SCADA from June 8 - June 9.
On the other hand, if the gap in SCADA data expands to more than 12 periods as seen in the above image, the QR AI Forecaster will handle that via its Fill Gap routine. We will review this configuration in the next section.

5. The Forecast Model

Recall that this utility requires a day-ahead load forecast for trading. Since multiple revisions can be made on the buy-sell orders throughout the day, we revise the load forecast every hour from Hr + 1 to D + 2.
Day-ahead Model
Recall that this feature allows the AI machine to split the data and define and train multiple models at run-time to forecast specific profiles. In our case we want to model specific days of the week, with a total of four (4) models forecasting Monday, Tuesday-Friday, Saturday and Sunday.
Model “Splitter”
Recall that this feature allows the AI machine to split the data and define and train multiple models at run-time to forecast specific profiles. In our case we want to model specific days of the week, with a total of four (4) models forecasting Monday, Tuesday-Friday, Saturday and Sunday.
Time Scale Conversion
Recall that the load data fetched are in 5-minute resolution, we can configure the Data Module of the AI machine to convert them to hourly load by multiplying by a factor of 12 the average of 12 5-min period load.
The AI models
We use the machine learning XGBoost (Distributed Gradient Boosting) model for this DA Load Forecast. XGBoost is an optimized implementation of gradient boosted decision trees. Our model used the following parameters. The actual parameter values are proprietary information:
Booster Number of estimators   

Gamma

Max depth Min child weight  Max delta step
Subsample l1 regularization coefficient l2  regularization coefficient
Base score Evaluation metric Objective
Seed
Data Preprocessing & Features
With the above parameters fine-tuned using 5 months of training data and 5-10 features the model is able to train in an average of 3 seconds.
  • Gap Filling. Gaps in data are prevalent and occur at random. QR AI Forecaster offers various Gap Filling Methods, e.g., Linear Interpolation, Weekly Pattern, Daily Pattern, etc. Typical option for load forecasting can be the Weekly Pattern. This takes the average of the previous weeks of the same weekday and period as the gap.
  • Outlier Detection. QR AI Forecaster Offers Two-step outlier detection method. First we use the min-max method to catch the unreasonable highs in the data. These values would typically shoot up more than 10 times of the ordinary data. Then, we use a standard deviation method to clean up the rest of the erroneous data.
  • The following predictors are also set:
Predictor Type Predictor
Lagged Predictors Previous Period, Previous Day, Previous Week, Previous 2 Weeks
Built-in Predictors Hour, Period, Weekday Enhanced, Workingday
Additional Predictors 6-Hour Moving Average
QR AI Forecaster data processing and predictor dashboard for a load forecast model
QR AI Forecaster data processing and predictor dashboard for a load forecast model
QR Forecaster Auto-ML
This toolbox is used to optimize the AI model by identifying the value of 5 to 10 key parameters of the XGBoost model that minimize the MAPE of the forecast. This is done by genetic computing rather than exhaustive search. Indeed, examining individually the combinations of 5 parameters, each with 10 possible values, would amount to 100,000 AI models. The Auto-ML tool box runs under 90 minutes for this task and identifies the optimal model parameter set that minimize MAPE.
Model training

QR AI Forecaster allows offline training. A scheduler can be set for training the model, maybe once a day, and it can be used to forecast throughout the day.

What about execution?
Each forecast job can have its own schedule. We set the day-ahead forecasts to be executed every hour to forecast H+1 : D+2. Job schedule is flexible; it can be run as many times as required. Typical DA load forecast could run at 9, 10, 11 am to allow trading for DA.

6. Forecast and accuracy analysis

Although load forecasts are revised every hour, the most important forecasts that the utility considers are those that are made at 5:00, 9:00 and 17:00. For this reason, we provide a comparison among these hours below.
Forecast error is computed by MAPE
Hourly resolution: Scada, Actual and Forecast Data are plotted for June 17 to June 23
Execution Time of DA Forecast Average Weekly MAPE
5:00 6.16 %
9:00 5.94 %
17:00 4.98 %

Recall that this is a day-ahead market and that bilateral contract nomination and buy-sell  are submitted for the next day. However we forecast between Hr +1 and D + 2 since SCADA is available throughout the day. SCADA helps the model adjust its levels. This is evident in the MAPE table above: MAPE gets better as the forecast execution time gets closer to the next day. E.g. The 5:00 DA forecast has the highest error and the 17:00 forecast has the smallest error.

Download Brochure​

QR AI Forecaster offers a wide range of ready-for-use, advanced AI forecasting solutions, learn more about our forecasting solutions.

Download Brochure
Next Step
We look forward to exploring the range of options for your projects. Please write to us and one of our project managers will get back to you at once.

Resource

Our Clients Say

After thorough investigations, we commissioned a “Proof of Concept” implementation of QR System for a period of 2 months. The goal was to implement core functionality out-of-the-box. The POC was a resounding success in all its goals. The system was configured to handle wholesale trading, billing, invoicing and reporting, as well as our bilateral OTC power procurements and sample retail contracts. QuantRisk Platform delivered outstanding performance in all areas of functionality. The advanced analytics offered very impressive precision in forecasting load, and the dispatch optimization module was able to recommend very valuable trading strategies that we found to be possible to implement over time.
COO of a Utility Group

Lets Talk About Your Needs

We look forward to exploring the range of options for your projects. Please write to us and one of our project managers will get back to you at once.
Consult Us
Our Contact Details:
Product Brochures