1. The case
- The PJM RTO, organizes prices by Locational Marginal Prices (LMP) incorporating the cost of producing and delivering energy from individual nodes, or locations on the grid, where the transmission lines and generation interconnect. PJM also publishes the System Marginal Price (SMP) which is LMPs minus system loss and system congestion at a given node.
- PJM allows trading at trading hubs: Chicago Hub, Dominion Hub, Illinois Hub, New Jersey Hub, Eastern Hub, Western Hub, Ohio Hub, AEP GEN HUB and AEP Dayton Hub, in an intraday 5-minute and Hourly market, as well as an Hourly DA market.
- This case study reviews a day-ahead (DA) price forecast model for PJM System price, at an hourly resolution. The price forecast model is implemented using QR AI Forecaster .
- The DA market opens for bids and schedules seven days before and closes the day prior to the trade date at around noon. We therefore execute and publish our DA forecast at 8:00 a.m. market time for the next day, to allow ample time for traders to plan their DA trading strategies. QR AI Forecaster serves as the key input of QR Trading Optimizer to optimize the bidding of your assets.
2. The Data
- Actual data: PJM system price is published by the PJM RTO at 1:30 PM for the next day. This is the price we are going to forecast.
- Demand side data: This is our own DA System demand forecast for PJM system demand.
- Supply side data: Different DA solar and wind generation forecasts, and outages (planned, maintenance, forced, total) data all published by PJM RTO.
3. Data Exploration
In order to do that, the QR data science team uses different data analysis and visualization tools to extract information from raw data. You can see below the 6 months hourly PJM system price DA used for training.
The above price data shows seasonality change in the trend. These were due to weather factors leading to increased demand and therefore prices. We need more granular analysis to define the right features for this model.
The plot below displays the hourly PJM system price averages across the 6 months training data ranging from February 1st to August 1st. This data can help us see the daily pattern and daily Peak and off Peak.
- The PJM system price peaks at 7:00 a.m. and 5:00 p.m., and bottoms at 3:00 a.m.The forecast model is required to capture these.
- This plot suggests to split the day in 3 periods and train the model on each data set, midnight to 7 a.m., 7 a.m. to 5 p.m., and 5 p.m. to midnight. This can be automatically accomplished by checking the Model Splitter feature of QR AI Forecaster.
- The price is clearly hour dependent. We therefore must use the built-in feature Hour-of-the-day .
- a) Saturday and Sunday average PJM system price are lower than the rest of the days of the week and even the first peak pattern is different for Saturday and Sunday.
- b) Average PJM system price for Fridays and Thursdays is higher than the remaining weekdays.
- c) Monday, Tuesday and Wednesday have the same price levels and pattern.
- Weekday as a built-in feature or predictor to the AI Model to indicate the days of the week.
- 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-Wednesday, Thursday-Friday, Saturday, Sunday.
4. Feature & Correlation Analysis
The PJM DA price data, including PJM system price, present several challenges in the 6 months period considered in this Case Study. Our data science team resolves these by configuring the right AI model so as to produce accurate price forecasts for our clients.
Factoring in demand effects
- PJM demand time series should be included as an external feature or predictor in the AI model, to guide the forecast in predicting such irregularities.
- The Outlier Treatment feature of QR AI Forecaster needs to be enforced for this PJM DA system price forecast model to handle abnormal data .
5. The AI Forecast Model
1) Data Preprocessing
- a) Gap Filling can be accomplished by several methods (Linear Interpolation, Weekly Pattern, Daily Pattern, etc. ), for price data we use Linear Interpolation.
- b) Outlier Detection can be accomplished by several methods. For the current price forecast case study, we use a standard deviation method, removing data at 3 SD, and replacing it with local average.
- c) Calendar is used by a processor to swap mid–week holiday data with Sundays in the future, and with a regular day in the past during forecast and training respectively, as well as labeling working days and weekends for the AI modeling.
2) Feature Engineering
Previous Point (which here is previous hour), Previous Day
Hour, Enhanced Weekday, Month
External Time Series Predictors
Demand forecast, Wind forecast, Outage and a QR designed formula with combination of predictors
3) AI Model
- a) 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 this case considering the structure of the data, discussed in the previous chapter, we want to model specific days of the week, with a total of four models forecasting for Monday-Wednesday, Thursday-Friday, Saturday, Sunday.
- We are using augmentation in this job, the data has been scaled by 10%.
- b) Model Optimization:
- We configured a range of deep learning AI models for this case study. They have their own advantages. We present here 3 machine learning models, NGBoots, LightGBM and XGBoost. These can be configured to perform with nearly equal accuracy levels.
|booster||number of estimators||gamma|
min child weight
max delta step
l1 regularization coefficient
l2 regularization coefficient
- c) Model Execution:
- Once the model is finalized, training one of the machine learning models over 6 months of hourly PJM DA system price data, and executing a DA forecast takes about 1 minute .
6. Forecast and Accuracy Analysis
1) The Forecast Display Dashboard
- a) Our forecast PJM system price data, computed and published at 8:00 a.m NY time.
- b) The actual PJM system price data, published around 1:30 p.m., after the DA market had closed around 1:30 p.m.
- c) Forecast error is computed by MAPE (mean absolute percentage error), and MAE (mean absolute error). These are listed in table format and gauges.
2) Accuracy Analysis
- The PJM DA system price forecast has a MAPE of 6.4%.
- Other PJM trading hubs DA price forecasts, using the same machine learning model, have a similar accuracy.
- As you can compare with other Case Studies we have published for DA price forecasting, in MISO and PJM, using the same machine learning model, with different parameters and features, results in a MAPE of 6 to 7%. This is mainly due to the fact that:
- The dynamic of price level change from one day to the next can be very different across markets. E.g. CAISO DA prices are a lot more correlated to fuel.
- Each market publishes different sets of supply and renewable data. Some are better correlated to DA prices.