Forecasting electricity demand distributions using a semiparametric additive model Rob J Hyndman Joint work with Shu Fan Forecasting electricity demand distributions 1 Outline 1 The problem 2 The model 3 Long-term forecasts 4 Short term forecasts Forecasting electricity demand distributions The problem 2 The problem in 2007 We want to forecast the peak electricity demand in a half-hour period in ten years time. We have twelve years of half-hourly electricity data, temperature data and some economic and demographic data. The location is South Australia: home to the most volatile electricity demand in the world. Sounds impossible? Forecasting electricity demand distributions The problem 3 The problem in 2007 We want to forecast the peak electricity demand in a half-hour period in ten years time. We have twelve years of half-hourly electricity data, temperature data and some economic and demographic data. The location is South Australia: home to the most volatile electricity demand in the world. Sounds impossible? Forecasting electricity demand distributions The problem 3 The problem in 2007 We want to forecast the peak electricity demand in a half-hour period in ten years time. We have twelve years of half-hourly electricity data, temperature data and some economic and demographic data. The location is South Australia: home to the most volatile electricity demand in the world. Sounds impossible? Forecasting electricity demand distributions The problem 3 The problem in 2007 We want to forecast the peak electricity demand in a half-hour period in ten years time. We have twelve years of half-hourly electricity data, temperature data and some economic and demographic data. The location is South Australia: home to the most volatile electricity demand in the world. Sounds impossible? Forecasting electricity demand distributions The problem 3 The problem in 2007 We want to forecast the peak electricity demand in a half-hour period in ten years time. We have twelve years of half-hourly electricity data, temperature data and some economic and demographic data. The location is South Australia: home to the most volatile electricity demand in the world. Sounds impossible? Forecasting electricity demand distributions The problem 3 South Australian demand data Forecasting electricity demand distributions The problem 4 South Australian demand data 2.0 1.5 South Australia state wide demand (GW) 2.5 South Australia state wide demand (winter 09/10) Jul 09 Aug 09 Sept 09 Forecasting electricity demand distributions Apr 10 May 10 The problem June 10 4 South Australian demand data Forecasting electricity demand distributions The problem 4 South Australian demand data Black Saturday → Forecasting electricity demand distributions The problem 4 2.0 2.5 3.0 South Australia state wide demand (summer 10/11) 1.5 South Australia state wide demand (GW) 3.5 South Australian demand data Oct 10 Nov 10 Dec 10 Forecasting electricity demand distributions Jan 11 Feb 11 The problem Mar 11 4 South Australian demand data 3.0 2.5 2.0 1.5 South Australian demand (GW) 3.5 South Australia state wide demand (January 2011) 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 Date in January Forecasting electricity demand distributions The problem 4 Demand boxplots (Sth Aust) 2.5 ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● Fri Sat Sun ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● Tue Wed Thu 1.5 2.0 ● 1.0 Demand (GW) 3.0 3.5 Time: 12 midnight ● ● Mon Day of week Forecasting electricity demand distributions The problem 5 Temperature data (Sth Aust) 3.5 Time: 12 midnight 2.5 2.0 1.5 1.0 Demand (GW) 3.0 Workday Non−workday 10 20 30 40 Temperature (deg C) Forecasting electricity demand distributions The problem 6 Demand densities (Sth Aust) 2 1 0 Density 3 4 Density of demand: 12 midnight 1.0 1.5 2.0 2.5 3.0 3.5 South Australian half−hourly demand (GW) Forecasting electricity demand distributions The problem 7 Outline 1 The problem 2 The model 3 Long-term forecasts 4 Short term forecasts Forecasting electricity demand distributions The model 8 Predictors calendar effects prevailing and recent weather conditions climate changes economic and demographic changes changing technology Modelling framework Semi-parametric additive models with correlated errors. Each half-hour period modelled separately for each season. Variables selected to provide best out-of-sample predictions using cross-validation on each summer. Forecasting electricity demand distributions The model 9 Predictors calendar effects prevailing and recent weather conditions climate changes economic and demographic changes changing technology Modelling framework Semi-parametric additive models with correlated errors. Each half-hour period modelled separately for each season. Variables selected to provide best out-of-sample predictions using cross-validation on each summer. Forecasting electricity demand distributions The model 9 Predictors calendar effects prevailing and recent weather conditions climate changes economic and demographic changes changing technology Modelling framework Semi-parametric additive models with correlated errors. Each half-hour period modelled separately for each season. Variables selected to provide best out-of-sample predictions using cross-validation on each summer. Forecasting electricity demand distributions The model 9 Predictors calendar effects prevailing and recent weather conditions climate changes economic and demographic changes changing technology Modelling framework Semi-parametric additive models with correlated errors. Each half-hour period modelled separately for each season. Variables selected to provide best out-of-sample predictions using cross-validation on each summer. Forecasting electricity demand distributions The model 9 Predictors calendar effects prevailing and recent weather conditions climate changes economic and demographic changes changing technology Modelling framework Semi-parametric additive models with correlated errors. Each half-hour period modelled separately for each season. Variables selected to provide best out-of-sample predictions using cross-validation on each summer. Forecasting electricity demand distributions The model 9 Predictors calendar effects prevailing and recent weather conditions climate changes economic and demographic changes changing technology Modelling framework Semi-parametric additive models with correlated errors. Each half-hour period modelled separately for each season. Variables selected to provide best out-of-sample predictions using cross-validation on each summer. Forecasting electricity demand distributions The model 9 Predictors calendar effects prevailing and recent weather conditions climate changes economic and demographic changes changing technology Modelling framework Semi-parametric additive models with correlated errors. Each half-hour period modelled separately for each season. Variables selected to provide best out-of-sample predictions using cross-validation on each summer. Forecasting electricity demand distributions The model 9 Predictors calendar effects prevailing and recent weather conditions climate changes economic and demographic changes changing technology Modelling framework Semi-parametric additive models with correlated errors. Each half-hour period modelled separately for each season. Variables selected to provide best out-of-sample predictions using cross-validation on each summer. Forecasting electricity demand distributions The model 9 Predictors calendar effects prevailing and recent weather conditions climate changes economic and demographic changes changing technology Modelling framework Semi-parametric additive models with correlated errors. Each half-hour period modelled separately for each season. Variables selected to provide best out-of-sample predictions using cross-validation on each summer. Forecasting electricity demand distributions The model 9 Monash Electricity Forecasting Model log(yt ) = hp (t ) + fp (w1,t , w2,t ) + J X cj zj,t + nt j =1 yt denotes per capita demand (minus offset) at time t (measured in half-hourly intervals) and p denotes the time of day p = 1, . . . , 48; hp (t ) models all calendar effects; fp (w1,t , w2,t ) models all temperature effects where w1,t is a vector of recent temperatures at location 1 and w2,t is a vector of recent temperatures at location 2; zj,t is a demographic or economic variable at time t nt denotes the model error at time t. Forecasting electricity demand distributions The model 10 Monash Electricity Forecasting Model log(yt ) = hp (t ) + fp (w1,t , w2,t ) + J X cj zj,t + nt j =1 yt denotes per capita demand (minus offset) at time t (measured in half-hourly intervals) and p denotes the time of day p = 1, . . . , 48; hp (t ) models all calendar effects; fp (w1,t , w2,t ) models all temperature effects where w1,t is a vector of recent temperatures at location 1 and w2,t is a vector of recent temperatures at location 2; zj,t is a demographic or economic variable at time t nt denotes the model error at time t. Forecasting electricity demand distributions The model 10 Monash Electricity Forecasting Model log(yt ) = hp (t ) + fp (w1,t , w2,t ) + J X cj zj,t + nt j =1 yt denotes per capita demand (minus offset) at time t (measured in half-hourly intervals) and p denotes the time of day p = 1, . . . , 48; hp (t ) models all calendar effects; fp (w1,t , w2,t ) models all temperature effects where w1,t is a vector of recent temperatures at location 1 and w2,t is a vector of recent temperatures at location 2; zj,t is a demographic or economic variable at time t nt denotes the model error at time t. Forecasting electricity demand distributions The model 10 Monash Electricity Forecasting Model log(yt ) = hp (t ) + fp (w1,t , w2,t ) + J X cj zj,t + nt j =1 yt denotes per capita demand (minus offset) at time t (measured in half-hourly intervals) and p denotes the time of day p = 1, . . . , 48; hp (t ) models all calendar effects; fp (w1,t , w2,t ) models all temperature effects where w1,t is a vector of recent temperatures at location 1 and w2,t is a vector of recent temperatures at location 2; zj,t is a demographic or economic variable at time t nt denotes the model error at time t. Forecasting electricity demand distributions The model 10 Monash Electricity Forecasting Model log(yt ) = hp (t ) + fp (w1,t , w2,t ) + J X cj zj,t + nt j =1 yt denotes per capita demand (minus offset) at time t (measured in half-hourly intervals) and p denotes the time of day p = 1, . . . , 48; hp (t ) models all calendar effects; fp (w1,t , w2,t ) models all temperature effects where w1,t is a vector of recent temperatures at location 1 and w2,t is a vector of recent temperatures at location 2; zj,t is a demographic or economic variable at time t nt denotes the model error at time t. Forecasting electricity demand distributions The model 10 Monash Electricity Forecasting Model log(yt ) = hp (t ) + fp (w1,t , w2,t ) + J X cj zj,t + nt j =1 hp (t ) includes handle annual, weekly and daily seasonal patterns as well as public holidays: hp (t ) = `p (t ) + αt,p + βt,p + γt,p + δt,p `p (t) is “time of summer” effect (a regression spline); αt,p is day of week effect; βt,p is “holiday” effect; γt,p New Year’s Eve effect; δt,p is millennium effect; Forecasting electricity demand distributions The model 11 Monash Electricity Forecasting Model log(yt ) = hp (t ) + fp (w1,t , w2,t ) + J X cj zj,t + nt j =1 hp (t ) includes handle annual, weekly and daily seasonal patterns as well as public holidays: hp (t ) = `p (t ) + αt,p + βt,p + γt,p + δt,p `p (t) is “time of summer” effect (a regression spline); αt,p is day of week effect; βt,p is “holiday” effect; γt,p New Year’s Eve effect; δt,p is millennium effect; Forecasting electricity demand distributions The model 11 Monash Electricity Forecasting Model log(yt ) = hp (t ) + fp (w1,t , w2,t ) + J X cj zj,t + nt j =1 hp (t ) includes handle annual, weekly and daily seasonal patterns as well as public holidays: hp (t ) = `p (t ) + αt,p + βt,p + γt,p + δt,p `p (t) is “time of summer” effect (a regression spline); αt,p is day of week effect; βt,p is “holiday” effect; γt,p New Year’s Eve effect; δt,p is millennium effect; Forecasting electricity demand distributions The model 11 Monash Electricity Forecasting Model log(yt ) = hp (t ) + fp (w1,t , w2,t ) + J X cj zj,t + nt j =1 hp (t ) includes handle annual, weekly and daily seasonal patterns as well as public holidays: hp (t ) = `p (t ) + αt,p + βt,p + γt,p + δt,p `p (t) is “time of summer” effect (a regression spline); αt,p is day of week effect; βt,p is “holiday” effect; γt,p New Year’s Eve effect; δt,p is millennium effect; Forecasting electricity demand distributions The model 11 Monash Electricity Forecasting Model log(yt ) = hp (t ) + fp (w1,t , w2,t ) + J X cj zj,t + nt j =1 hp (t ) includes handle annual, weekly and daily seasonal patterns as well as public holidays: hp (t ) = `p (t ) + αt,p + βt,p + γt,p + δt,p `p (t) is “time of summer” effect (a regression spline); αt,p is day of week effect; βt,p is “holiday” effect; γt,p New Year’s Eve effect; δt,p is millennium effect; Forecasting electricity demand distributions The model 11 Monash Electricity Forecasting Model log(yt ) = hp (t ) + fp (w1,t , w2,t ) + J X cj zj,t + nt j =1 hp (t ) includes handle annual, weekly and daily seasonal patterns as well as public holidays: hp (t ) = `p (t ) + αt,p + βt,p + γt,p + δt,p `p (t) is “time of summer” effect (a regression spline); αt,p is day of week effect; βt,p is “holiday” effect; γt,p New Year’s Eve effect; δt,p is millennium effect; Forecasting electricity demand distributions The model 11 Fitted results (Summer 3pm) 0 50 100 150 0.4 0.0 Mon Tue Wed Thu Fri Sat Sun 0.0 0.4 Day of week −0.4 Effect on demand Day of summer −0.4 Effect on demand 0.4 0.0 −0.4 Effect on demand Time: 3:00 pm Normal Day before Holiday Day after Holiday Forecasting electricity demand distributions The model 12 Monash Electricity Forecasting Model log(yt ) = hp (t ) + fp (w1,t , w2,t ) + J X cj zj,t + nt j =1 6 fp (w1,t , w2,t ) = X fk,p (xt−k ) + gk,p (dt−k ) + qp (xt+ ) + rp (xt− ) + sp (x̄t ) k =0 + 6 X Fj,p (xt−48j ) + Gj,p (dt−48j ) j=1 xt is ave temp across two sites (Kent Town and Adelaide Airport) at time t; dt is the temp difference between two sites at time t; xt+ is max of xt values in past 24 hours; xt− is min of xt values in past 24 hours; x̄t is ave temp in past seven days. Each function is smooth & estimated using regression splines. Forecasting electricity demand distributions The model 13 Monash Electricity Forecasting Model log(yt ) = hp (t ) + fp (w1,t , w2,t ) + J X cj zj,t + nt j =1 6 fp (w1,t , w2,t ) = X fk,p (xt−k ) + gk,p (dt−k ) + qp (xt+ ) + rp (xt− ) + sp (x̄t ) k =0 + 6 X Fj,p (xt−48j ) + Gj,p (dt−48j ) j=1 xt is ave temp across two sites (Kent Town and Adelaide Airport) at time t; dt is the temp difference between two sites at time t; xt+ is max of xt values in past 24 hours; xt− is min of xt values in past 24 hours; x̄t is ave temp in past seven days. Each function is smooth & estimated using regression splines. Forecasting electricity demand distributions The model 13 Monash Electricity Forecasting Model log(yt ) = hp (t ) + fp (w1,t , w2,t ) + J X cj zj,t + nt j =1 6 fp (w1,t , w2,t ) = X fk,p (xt−k ) + gk,p (dt−k ) + qp (xt+ ) + rp (xt− ) + sp (x̄t ) k =0 + 6 X Fj,p (xt−48j ) + Gj,p (dt−48j ) j=1 xt is ave temp across two sites (Kent Town and Adelaide Airport) at time t; dt is the temp difference between two sites at time t; xt+ is max of xt values in past 24 hours; xt− is min of xt values in past 24 hours; x̄t is ave temp in past seven days. Each function is smooth & estimated using regression splines. Forecasting electricity demand distributions The model 13 Monash Electricity Forecasting Model log(yt ) = hp (t ) + fp (w1,t , w2,t ) + J X cj zj,t + nt j =1 6 fp (w1,t , w2,t ) = X fk,p (xt−k ) + gk,p (dt−k ) + qp (xt+ ) + rp (xt− ) + sp (x̄t ) k =0 + 6 X Fj,p (xt−48j ) + Gj,p (dt−48j ) j=1 xt is ave temp across two sites (Kent Town and Adelaide Airport) at time t; dt is the temp difference between two sites at time t; xt+ is max of xt values in past 24 hours; xt− is min of xt values in past 24 hours; x̄t is ave temp in past seven days. Each function is smooth & estimated using regression splines. Forecasting electricity demand distributions The model 13 Monash Electricity Forecasting Model log(yt ) = hp (t ) + fp (w1,t , w2,t ) + J X cj zj,t + nt j =1 6 fp (w1,t , w2,t ) = X fk,p (xt−k ) + gk,p (dt−k ) + qp (xt+ ) + rp (xt− ) + sp (x̄t ) k =0 + 6 X Fj,p (xt−48j ) + Gj,p (dt−48j ) j=1 xt is ave temp across two sites (Kent Town and Adelaide Airport) at time t; dt is the temp difference between two sites at time t; xt+ is max of xt values in past 24 hours; xt− is min of xt values in past 24 hours; x̄t is ave temp in past seven days. Each function is smooth & estimated using regression splines. Forecasting electricity demand distributions The model 13 Monash Electricity Forecasting Model log(yt ) = hp (t ) + fp (w1,t , w2,t ) + J X cj zj,t + nt j =1 6 fp (w1,t , w2,t ) = X fk,p (xt−k ) + gk,p (dt−k ) + qp (xt+ ) + rp (xt− ) + sp (x̄t ) k =0 + 6 X Fj,p (xt−48j ) + Gj,p (dt−48j ) j=1 xt is ave temp across two sites (Kent Town and Adelaide Airport) at time t; dt is the temp difference between two sites at time t; xt+ is max of xt values in past 24 hours; xt− is min of xt values in past 24 hours; x̄t is ave temp in past seven days. Each function is smooth & estimated using regression splines. Forecasting electricity demand distributions The model 13 Monash Electricity Forecasting Model log(yt ) = hp (t ) + fp (w1,t , w2,t ) + J X cj zj,t + nt j =1 6 fp (w1,t , w2,t ) = X fk,p (xt−k ) + gk,p (dt−k ) + qp (xt+ ) + rp (xt− ) + sp (x̄t ) k =0 + 6 X Fj,p (xt−48j ) + Gj,p (dt−48j ) j=1 xt is ave temp across two sites (Kent Town and Adelaide Airport) at time t; dt is the temp difference between two sites at time t; xt+ is max of xt values in past 24 hours; xt− is min of xt values in past 24 hours; x̄t is ave temp in past seven days. Each function is smooth & estimated using regression splines. Forecasting electricity demand distributions The model 13 Fitted results (Summer 3pm) 40 30 40 Lag 1 day temperature 0.2 0.4 30 40 10 20 30 40 0.0 −0.2 Effect on demand 0.2 0.4 Lag 3 temperature 0.4 Effect on demand Forecasting electricity demand distributions 0.0 Effect on demand 20 Lag 2 temperature −0.4 10 15 20 25 30 Last week average temp −0.2 −0.4 10 0.4 0.2 0.0 Effect on demand −0.4 20 0.2 0.4 30 −0.2 0.4 0.2 0.0 −0.2 10 0.0 Effect on demand 20 Lag 1 temperature −0.4 Effect on demand −0.4 10 −0.4 40 0.2 30 0.0 20 Temperature −0.2 10 −0.2 0.4 0.2 0.0 Effect on demand −0.4 −0.2 0.2 0.0 −0.2 −0.4 Effect on demand 0.4 Time: 3:00 pm 15 25 35 Previous max temp The model 10 15 20 25 Previous min temp 14 Monash Electricity Forecasting Model log(yt ) = hp (t ) + fp (w1,t , w2,t ) + J X cj zj,t + nt j =1 Other variables described by linear relationships with coefficients c1 , . . . , cJ . Estimation based on annual data. Forecasting electricity demand distributions The model 15 Monash Electricity Forecasting Model log(yt ) = hp (t ) + fp (w1,t , w2,t ) + J X cj zj,t + nt j =1 Other variables described by linear relationships with coefficients c1 , . . . , cJ . Estimation based on annual data. Forecasting electricity demand distributions The model 15 Split model log(yt ) = hp (t ) + fp (w1,t , w2,t ) + J X cj zj,t + nt j =1 log(yt ) = log(yt∗ ) + log(ȳi ) log(yt∗ ) = hp (t ) + fp (w1,t , w2,t ) + et log(ȳi ) = J X cj zj,i + εi j =1 ȳi is the average demand for year i where t is in year i. yt∗ is the standardized demand for time t. Forecasting electricity demand distributions The model 16 Split model Forecasting electricity demand distributions The model 17 Split model Forecasting electricity demand distributions The model 17 Annual model log(ȳi ) = X log(ȳi ) − log(ȳi−1 ) = X cj zj,i + εi j cj (zj,i − zj,i−1 ) + ε∗i j First differences modelled to avoid non-stationary variables. Predictors: Per-capita GSP, Price, Summer CDD, Winter HDD. Forecasting electricity demand distributions The model 18 Annual model log(ȳi ) = X log(ȳi ) − log(ȳi−1 ) = X cj zj,i + εi j cj (zj,i − zj,i−1 ) + ε∗i j First differences modelled to avoid non-stationary variables. Predictors: Per-capita GSP, Price, Summer CDD, Winter HDD. Forecasting electricity demand distributions The model 18 Annual model log(ȳi ) = X log(ȳi ) − log(ȳi−1 ) = X cj zj,i + εi j cj (zj,i − zj,i−1 ) + ε∗i j First differences modelled to avoid non-stationary variables. Predictors: Per-capita GSP, Price, Summer CDD, Winter HDD. zCDD = X max(0, T̄ − 18.5) summer T̄ = daily mean Forecasting electricity demand distributions The model 18 Annual model log(ȳi ) = X log(ȳi ) − log(ȳi−1 ) = X cj zj,i + εi j cj (zj,i − zj,i−1 ) + ε∗i j First differences modelled to avoid non-stationary variables. Predictors: Per-capita GSP, Price, Summer CDD, Winter HDD. zHDD = X max(0, 18.5 − T̄ ) winter T̄ = daily mean Forecasting electricity demand distributions The model 18 Annual model Cooling and Heating degree days 400 950 1050 850 whdd 200 scdd 600 Cooling and Heating Degree Days 1990 1995 Forecasting electricity demand distributions 2000 2005 The model 2010 19 Annual model Variable Coefficient ∆gsp.pc 2.02×10−6 ∆price −1.67×10−8 ∆scdd 1.11×10−10 ∆whdd 2.07×10−11 Std. Error t value P value 5.05×10−6 0.38 0.711 6.76×10−9 −2.46 0.026 2.48×10−11 4.49 0.000 −11 3.28×10 0.63 0.537 GSP needed to stay in the model to allow scenario forecasting. All other variables led to improved AICC . Forecasting electricity demand distributions The model 20 Annual model Variable Coefficient ∆gsp.pc 2.02×10−6 ∆price −1.67×10−8 ∆scdd 1.11×10−10 ∆whdd 2.07×10−11 Std. Error t value P value 5.05×10−6 0.38 0.711 6.76×10−9 −2.46 0.026 2.48×10−11 4.49 0.000 −11 3.28×10 0.63 0.537 GSP needed to stay in the model to allow scenario forecasting. All other variables led to improved AICC . Forecasting electricity demand distributions The model 20 Annual model Variable Coefficient ∆gsp.pc 2.02×10−6 ∆price −1.67×10−8 ∆scdd 1.11×10−10 ∆whdd 2.07×10−11 Std. Error t value P value 5.05×10−6 0.38 0.711 6.76×10−9 −2.46 0.026 2.48×10−11 4.49 0.000 −11 3.28×10 0.63 0.537 GSP needed to stay in the model to allow scenario forecasting. All other variables led to improved AICC . Forecasting electricity demand distributions The model 20 Actual Fitted 1.4 1.3 1.2 1.1 1.0 Annual demand 1.5 1.6 1.7 Annual model 89/90 91/92 93/94 95/96 97/98 99/00 01/02 03/04 05/06 07/08 09/10 Year Forecasting electricity demand distributions The model 21 Half-hourly models log(yt ) = log(yt∗ ) + log(ȳi ) log(yt∗ ) = hp (t ) + fp (w1,t , w2,t ) + et Separate model for each half-hour. Same predictors used for all models. Predictors chosen by cross-validation on summer of 2007/2008 and 2009/2010. Each model is fitted to the data twice, first excluding the summer of 2009/2010 and then excluding the summer of 2010/2011. The average out-of-sample MSE is calculated from the omitted data for the time periods 12noon–8.30pm. Forecasting electricity demand distributions The model 22 Half-hourly models log(yt ) = log(yt∗ ) + log(ȳi ) log(yt∗ ) = hp (t ) + fp (w1,t , w2,t ) + et Separate model for each half-hour. Same predictors used for all models. Predictors chosen by cross-validation on summer of 2007/2008 and 2009/2010. Each model is fitted to the data twice, first excluding the summer of 2009/2010 and then excluding the summer of 2010/2011. The average out-of-sample MSE is calculated from the omitted data for the time periods 12noon–8.30pm. Forecasting electricity demand distributions The model 22 Half-hourly models log(yt ) = log(yt∗ ) + log(ȳi ) log(yt∗ ) = hp (t ) + fp (w1,t , w2,t ) + et Separate model for each half-hour. Same predictors used for all models. Predictors chosen by cross-validation on summer of 2007/2008 and 2009/2010. Each model is fitted to the data twice, first excluding the summer of 2009/2010 and then excluding the summer of 2010/2011. The average out-of-sample MSE is calculated from the omitted data for the time periods 12noon–8.30pm. Forecasting electricity demand distributions The model 22 Half-hourly models log(yt ) = log(yt∗ ) + log(ȳi ) log(yt∗ ) = hp (t ) + fp (w1,t , w2,t ) + et Separate model for each half-hour. Same predictors used for all models. Predictors chosen by cross-validation on summer of 2007/2008 and 2009/2010. Each model is fitted to the data twice, first excluding the summer of 2009/2010 and then excluding the summer of 2010/2011. The average out-of-sample MSE is calculated from the omitted data for the time periods 12noon–8.30pm. Forecasting electricity demand distributions The model 22 Half-hourly models log(yt ) = log(yt∗ ) + log(ȳi ) log(yt∗ ) = hp (t ) + fp (w1,t , w2,t ) + et Separate model for each half-hour. Same predictors used for all models. Predictors chosen by cross-validation on summer of 2007/2008 and 2009/2010. Each model is fitted to the data twice, first excluding the summer of 2009/2010 and then excluding the summer of 2010/2011. The average out-of-sample MSE is calculated from the omitted data for the time periods 12noon–8.30pm. Forecasting electricity demand distributions The model 22 Half-hourly models 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 x x1 x2 x3 x4 x5 x6 x48 x96 x144 x192 x240 x288 d d1 d2 d3 d4 d5 d6 d48 d96 d144 d192 d240 d288 x+ x− x̄ dow hol dos MSE • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • 1.037 • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • 1.034 • • • • • • • • • • • • • • • • • • • • • • • • • • • • • 1.031 • • • • • • • • • • • • • • • • • • • • • • • • • • • • 1.027 • • • • • • • • • • • • • • • • • • • • • • • • • • • 1.025 • • • • • • • • • • • • • • • • • • • • • • • • • • 1.020 • • • • • • • • • • • • • • • • • • • • • • • • • 1.025 • • • • • • • • • • • • • • • • • • • • • • • • • 1.026 • • • • • • • • • • • • • • • • • • • • • • • • 1.035 • • • • • • • • • • • • • • • • • • • • • • • 1.044 • • • • • • • • • • • • • • • • • • • • • • 1.057 • • • • • • • • • • • • • • • • • • • • • 1.076 • • • • • • • • • • • • • • • • • • • • 1.102 • • • • • • • • • • • • • • • • • • • • • • • • • 1.018 • • • • • • • • • • • • • • • • • • • • • • • • 1.021 • • • • • • • • • • • • • • • • • • • • • • • 1.037 • • • • • • • • • • • • • • • • • • • • • • 1.074 • • • • • • • • • • • • • • • • • • • • • 1.152 • • • • • • • • • • • • • • • • • • • • 1.180 • • • • • • • • • • • • • • • • • • • • • • • • 1.021 • • • • • • • • • • • • • • • • • • • • • • • 1.027 • • • • • • • • • • • • • • • • • • • • • • 1.038 • • • • • • • • • • • • • • • • • • • • • 1.056 • • • • • • • • • • • • • • • • • • • • 1.086 • • • • • • • • • • • • • • • • • • • 1.135 • • • • • • • • • • • • • • • • • • • • • • • • 1.009 • • • • • • • • • • • • • • • • • • • • • • • • 1.063 • • • • • • • • • • • • • • • • • • • • • • • • 1.028 • • • • • • • • • • • • • • • • • • • • • • • • 3.523 • • • • • • • • • • • • • • • • • • • • • • • • 2.143 • • • • • • • • • • • • • • • • • • • • • • • • 1.523 • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • Forecasting electricity demand distributions The model 23 Half-hourly models 80 70 60 R−squared (%) 90 R−squared 12 midnight 3:00 am 6:00 am 9:00 am 12 noon 3:00 pm 6:00 pm 9:00 pm 12 midnight Time of day Forecasting electricity demand distributions The model 24 Half-hourly models 1.5 2.0 2.5 3.0 3.5 Actual Fitted 1.0 South Australian demand (GW) 4.0 South Australian demand (January 2011) 1 3 5 7 9 11 Forecasting electricity demand distributions 13 15 17 19 Date in January 21 23 The model 25 27 29 31 24 Half-hourly models Forecasting electricity demand distributions The model 24 Half-hourly models Forecasting electricity demand distributions The model 24 Adjusted model Original model log(yt ) = hp (t ) + fp (w1,t , w2,t ) + J X cj zj,t + nt j =1 Model allowing saturated usage qt = hp (t ) + fp (w1,t , w2,t ) + J X cj zj,t + nt j=1 log(yt ) = if qt ≤ τ ; τ + k(qt − τ ) if qt > τ . qt Forecasting electricity demand distributions The model 25 Adjusted model Original model log(yt ) = hp (t ) + fp (w1,t , w2,t ) + J X cj zj,t + nt j =1 Model allowing saturated usage qt = hp (t ) + fp (w1,t , w2,t ) + J X cj zj,t + nt j=1 log(yt ) = if qt ≤ τ ; τ + k(qt − τ ) if qt > τ . qt Forecasting electricity demand distributions The model 25 Outline 1 The problem 2 The model 3 Long-term forecasts 4 Short term forecasts Forecasting electricity demand distributions Long-term forecasts 26 Peak demand forecasting qt,p = hp (t ) + fp (w1,t , w2,t ) + J X cj zj,t + nt j=1 Multiple alternative futures created: hp (t ) known; simulate future temperatures using double seasonal block bootstrap with variable blocks (with adjustment for climate change); use assumed values for GSP, population and price; resample residuals using double seasonal block bootstrap with variable blocks. Forecasting electricity demand distributions Long-term forecasts 27 Peak demand forecasting qt,p = hp (t ) + fp (w1,t , w2,t ) + J X cj zj,t + nt j=1 Multiple alternative futures created: hp (t ) known; simulate future temperatures using double seasonal block bootstrap with variable blocks (with adjustment for climate change); use assumed values for GSP, population and price; resample residuals using double seasonal block bootstrap with variable blocks. Forecasting electricity demand distributions Long-term forecasts 27 Peak demand forecasting qt,p = hp (t ) + fp (w1,t , w2,t ) + J X cj zj,t + nt j=1 Multiple alternative futures created: hp (t ) known; simulate future temperatures using double seasonal block bootstrap with variable blocks (with adjustment for climate change); use assumed values for GSP, population and price; resample residuals using double seasonal block bootstrap with variable blocks. Forecasting electricity demand distributions Long-term forecasts 27 Peak demand forecasting qt,p = hp (t ) + fp (w1,t , w2,t ) + J X cj zj,t + nt j=1 Multiple alternative futures created: hp (t ) known; simulate future temperatures using double seasonal block bootstrap with variable blocks (with adjustment for climate change); use assumed values for GSP, population and price; resample residuals using double seasonal block bootstrap with variable blocks. Forecasting electricity demand distributions Long-term forecasts 27 Seasonal block bootstrapping Conventional seasonal block bootstrap Same as block bootstrap but with whole years as the blocks to preserve seasonality. But we only have about 10–15 years of data, so there is a limited number of possible bootstrap samples. Double seasonal block bootstrap Suitable when there are two seasonal periods (here we have years of 151 days and days of 48 half-hours). Divide each year into blocks of length 48m. Block 1 consists of the first m days of the year, block 2 consists of the next m days, and so on. Bootstrap sample consists of a sample of blocks where each block may come from a different randomly selected year but must be at the correct time of year. Forecasting electricity demand distributions Long-term forecasts 28 Seasonal block bootstrapping Conventional seasonal block bootstrap Same as block bootstrap but with whole years as the blocks to preserve seasonality. But we only have about 10–15 years of data, so there is a limited number of possible bootstrap samples. Double seasonal block bootstrap Suitable when there are two seasonal periods (here we have years of 151 days and days of 48 half-hours). Divide each year into blocks of length 48m. Block 1 consists of the first m days of the year, block 2 consists of the next m days, and so on. Bootstrap sample consists of a sample of blocks where each block may come from a different randomly selected year but must be at the correct time of year. Forecasting electricity demand distributions Long-term forecasts 28 Seasonal block bootstrapping Conventional seasonal block bootstrap Same as block bootstrap but with whole years as the blocks to preserve seasonality. But we only have about 10–15 years of data, so there is a limited number of possible bootstrap samples. Double seasonal block bootstrap Suitable when there are two seasonal periods (here we have years of 151 days and days of 48 half-hours). Divide each year into blocks of length 48m. Block 1 consists of the first m days of the year, block 2 consists of the next m days, and so on. Bootstrap sample consists of a sample of blocks where each block may come from a different randomly selected year but must be at the correct time of year. Forecasting electricity demand distributions Long-term forecasts 28 Seasonal block bootstrapping Conventional seasonal block bootstrap Same as block bootstrap but with whole years as the blocks to preserve seasonality. But we only have about 10–15 years of data, so there is a limited number of possible bootstrap samples. Double seasonal block bootstrap Suitable when there are two seasonal periods (here we have years of 151 days and days of 48 half-hours). Divide each year into blocks of length 48m. Block 1 consists of the first m days of the year, block 2 consists of the next m days, and so on. Bootstrap sample consists of a sample of blocks where each block may come from a different randomly selected year but must be at the correct time of year. Forecasting electricity demand distributions Long-term forecasts 28 Seasonal block bootstrapping Conventional seasonal block bootstrap Same as block bootstrap but with whole years as the blocks to preserve seasonality. But we only have about 10–15 years of data, so there is a limited number of possible bootstrap samples. Double seasonal block bootstrap Suitable when there are two seasonal periods (here we have years of 151 days and days of 48 half-hours). Divide each year into blocks of length 48m. Block 1 consists of the first m days of the year, block 2 consists of the next m days, and so on. Bootstrap sample consists of a sample of blocks where each block may come from a different randomly selected year but must be at the correct time of year. Forecasting electricity demand distributions Long-term forecasts 28 Seasonal block bootstrapping Conventional seasonal block bootstrap Same as block bootstrap but with whole years as the blocks to preserve seasonality. But we only have about 10–15 years of data, so there is a limited number of possible bootstrap samples. Double seasonal block bootstrap Suitable when there are two seasonal periods (here we have years of 151 days and days of 48 half-hours). Divide each year into blocks of length 48m. Block 1 consists of the first m days of the year, block 2 consists of the next m days, and so on. Bootstrap sample consists of a sample of blocks where each block may come from a different randomly selected year but must be at the correct time of year. Forecasting electricity demand distributions Long-term forecasts 28 Seasonal block bootstrapping Conventional seasonal block bootstrap Same as block bootstrap but with whole years as the blocks to preserve seasonality. But we only have about 10–15 years of data, so there is a limited number of possible bootstrap samples. Double seasonal block bootstrap Suitable when there are two seasonal periods (here we have years of 151 days and days of 48 half-hours). Divide each year into blocks of length 48m. Block 1 consists of the first m days of the year, block 2 consists of the next m days, and so on. Bootstrap sample consists of a sample of blocks where each block may come from a different randomly selected year but must be at the correct time of year. Forecasting electricity demand distributions Long-term forecasts 28 Seasonal block bootstrapping 25 20 10 15 degrees C 30 35 40 Actual temperatures 0 10 20 30 40 50 60 50 60 Days 25 20 10 15 degrees C 30 35 40 Bootstrap temperatures (fixed blocks) 0 10 20 30 40 Days Bootstrap temperatures (variable blocks) 40 Forecasting electricity demand distributions Long-term forecasts 29 Seasonal block bootstrapping Problems with the double seasonal bootstrap Boundaries between blocks can introduce large jumps. However, only at midnight. Number of values that any given time in year is still limited to the number of years in the data set. Forecasting electricity demand distributions Long-term forecasts 30 Seasonal block bootstrapping Problems with the double seasonal bootstrap Boundaries between blocks can introduce large jumps. However, only at midnight. Number of values that any given time in year is still limited to the number of years in the data set. Forecasting electricity demand distributions Long-term forecasts 30 Seasonal block bootstrapping Variable length double seasonal block bootstrap Blocks allowed to vary in length between m − ∆ and m + ∆ days where 0 ≤ ∆ < m. Blocks allowed to move up to ∆ days from their original position. Has little effect on the overall time series patterns provided ∆ is relatively small. Use uniform distribution on (m − ∆, m + ∆) to select block length, and independent uniform distribution on (−∆, ∆) to select variation on starting position for each block. Forecasting electricity demand distributions Long-term forecasts 31 Seasonal block bootstrapping Variable length double seasonal block bootstrap Blocks allowed to vary in length between m − ∆ and m + ∆ days where 0 ≤ ∆ < m. Blocks allowed to move up to ∆ days from their original position. Has little effect on the overall time series patterns provided ∆ is relatively small. Use uniform distribution on (m − ∆, m + ∆) to select block length, and independent uniform distribution on (−∆, ∆) to select variation on starting position for each block. Forecasting electricity demand distributions Long-term forecasts 31 Seasonal block bootstrapping Variable length double seasonal block bootstrap Blocks allowed to vary in length between m − ∆ and m + ∆ days where 0 ≤ ∆ < m. Blocks allowed to move up to ∆ days from their original position. Has little effect on the overall time series patterns provided ∆ is relatively small. Use uniform distribution on (m − ∆, m + ∆) to select block length, and independent uniform distribution on (−∆, ∆) to select variation on starting position for each block. Forecasting electricity demand distributions Long-term forecasts 31 Seasonal block bootstrapping Variable length double seasonal block bootstrap Blocks allowed to vary in length between m − ∆ and m + ∆ days where 0 ≤ ∆ < m. Blocks allowed to move up to ∆ days from their original position. Has little effect on the overall time series patterns provided ∆ is relatively small. Use uniform distribution on (m − ∆, m + ∆) to select block length, and independent uniform distribution on (−∆, ∆) to select variation on starting position for each block. Forecasting electricity demand distributions Long-term forecasts 31 Seasonal block bootstrapping 25 20 10 15 degrees C 30 35 40 Actual temperatures 0 10 20 30 40 50 60 50 60 50 60 Days 25 20 10 15 degrees C 30 35 40 Bootstrap temperatures (fixed blocks) 0 10 20 30 40 Days 25 20 10 15 degrees C 30 35 40 Bootstrap temperatures (variable blocks) 0 10 20 30 40 Days Forecasting electricity demand distributions Long-term forecasts 32 Seasonal block bootstrapping Forecasting electricity demand distributions Long-term forecasts 32 Peak demand forecasting qt,p = hp (t ) + fp (w1,t , w2,t ) + J X cj zj,t + nt j=1 Multiple alternative futures created: hp (t ) known; simulate future temperatures using double seasonal block bootstrap with variable blocks (with adjustment for climate change); use assumed values for GSP, population and price; resample residuals using double seasonal block bootstrap with variable blocks. Forecasting electricity demand distributions Long-term forecasts 33 Peak demand backcasting qt,p = hp (t ) + fp (w1,t , w2,t ) + J X cj zj,t + nt j=1 Multiple alternative pasts created: hp (t ) known; simulate past temperatures using double seasonal block bootstrap with variable blocks; use actual values for GSP, population and price; resample residuals using double seasonal block bootstrap with variable blocks. Forecasting electricity demand distributions Long-term forecasts 33 Estimated historical quantiles 4.0 PoE (annual interpretation) 3.5 10 % 50 % 90 % ● ● 3.0 ● ● ● ● ● ● 2.5 ● ● ● ● ● 2.0 PoE Demand ● 98/99 00/01 02/03 04/05 06/07 08/09 10/11 Year Forecasting electricity demand distributions Long-term forecasts 34 Peak demand forecasting qt,p = hp (t ) + fp (w1,t , w2,t ) + J X cj zj,t + nt j=1 Multiple alternative futures created: hp (t ) known; simulate future temperatures using double seasonal block bootstrap with variable blocks (with adjustment for climate change); use assumed values for GSP, population and price; resample residuals using double seasonal block bootstrap with variable blocks. Forecasting electricity demand distributions Long-term forecasts 35 120 South Australia GSP 60 80 100 High Base Low 40 billion dollars (08/09 dollars) Peak demand forecasting 1990 1995 2000 2005 2010 2015 2020 2015 2020 2015 2020 Year 2.0 South Australia population 1.4 1.6 million 1.8 High Base Low 1990 1995 2000 2005 2010 Year Average electricity prices 18 16 12 14 c/kWh 20 22 High Base Low 1990 1995 2000 2005 2010 Year 0 Forecasting electricity demand distributions Major industrial offset demand Long-term forecasts 36 Peak demand distribution 4.0 PoE (annual interpretation) 3.5 10 % 50 % 90 % ● ● 3.0 ● ● ● ● ● ● 2.5 ● ● ● ● ● 2.0 PoE Demand ● 98/99 00/01 02/03 04/05 06/07 08/09 10/11 Year Forecasting electricity demand distributions Long-term forecasts 37 Peak demand distribution 5 6 Annual POE levels 4 ● 3 ● ● ● ● ● ● ● ● ● ● ● ● 2 PoE Demand ● 1 % POE 5 % POE 10 % POE 50 % POE 90 % POE Actual annual maximum 98/99 00/01 02/03 04/05 06/07 08/09 10/11 12/13 14/15 16/17 18/19 20/21 Year Forecasting electricity demand distributions Long-term forecasts 37 Peak demand forecasting Base 1.0 Density 0.5 1.0 0.0 0.0 0.5 Density 1.5 1.5 Low 2.5 3.0 3.5 4.0 4.5 5.0 5.5 Demand (GW) 2.5 3.0 3.5 4.0 4.5 5.0 5.5 Demand (GW) 1.0 2011/2012 2012/2013 2013/2014 2014/2015 2015/2016 2016/2017 2017/2018 2018/2019 2019/2020 2020/2021 0.0 0.5 Density 1.5 High 2.5 3.0 3.5 4.0 4.5 5.0 5.5 Demand (GW) Forecasting electricity demand distributions Long-term forecasts 38 Outline 1 The problem 2 The model 3 Long-term forecasts 4 Short term forecasts Forecasting electricity demand distributions Short term forecasts 39 Short term forecasts qt,p = hp (t ) + fp (w1,t , w2,t ) + J X cj zj,t + nt j=1 Bootstrapping temperatures and residuals is ok for long-term forecasts because short-term dynamics wash out after a few weeks. But short-term forecasts need to take account of recent temperatures and recent residuals due to serial correlation. Short-term temperature forecasts are available. Building a separate model for nt is possible, but there is a simpler approach. Forecasting electricity demand distributions Short term forecasts 40 Short term forecasts qt,p = hp (t ) + fp (w1,t , w2,t ) + J X cj zj,t + nt j=1 Bootstrapping temperatures and residuals is ok for long-term forecasts because short-term dynamics wash out after a few weeks. But short-term forecasts need to take account of recent temperatures and recent residuals due to serial correlation. Short-term temperature forecasts are available. Building a separate model for nt is possible, but there is a simpler approach. Forecasting electricity demand distributions Short term forecasts 40 Short term forecasts qt,p = hp (t ) + fp (w1,t , w2,t ) + J X cj zj,t + nt j=1 Bootstrapping temperatures and residuals is ok for long-term forecasts because short-term dynamics wash out after a few weeks. But short-term forecasts need to take account of recent temperatures and recent residuals due to serial correlation. Short-term temperature forecasts are available. Building a separate model for nt is possible, but there is a simpler approach. Forecasting electricity demand distributions Short term forecasts 40 Short term forecasts qt,p = hp (t ) + fp (w1,t , w2,t ) + J X cj zj,t + nt j=1 Bootstrapping temperatures and residuals is ok for long-term forecasts because short-term dynamics wash out after a few weeks. But short-term forecasts need to take account of recent temperatures and recent residuals due to serial correlation. Short-term temperature forecasts are available. Building a separate model for nt is possible, but there is a simpler approach. Forecasting electricity demand distributions Short term forecasts 40 Short term forecasts qt,p = hp (t ) + fp (w1,t , w2,t ) + J X cj zj,t + nt j=1 Bootstrapping temperatures and residuals is ok for long-term forecasts because short-term dynamics wash out after a few weeks. But short-term forecasts need to take account of recent temperatures and recent residuals due to serial correlation. Short-term temperature forecasts are available. Building a separate model for nt is possible, but there is a simpler approach. Forecasting electricity demand distributions Short term forecasts 40 Short-term forecasting model log(yt,p ) = hp (t ) + fp (w1,t , w2,t ) + ap (y t−1 ) + J X cj zj,t + nt j=1 yt,p denotes per capita demand (minus offset) at time t (measured in half-hourly intervals) during period p, p = 1, . . . , 48; hp (t ) models all calendar effects; fp (w1,t , w2,t ) models all temperature effects where w1,t is a vector of recent temperatures at location 1 and w2,t is a vector of recent temperatures at location 2; zj,t is a demographic or economic variable at time t nt denotes the model error at time t y t = [yt , yt−1 , yt−2 , . . . ] ap (y t−1 ) models effects of recent demands. Forecasting electricity demand distributions Short term forecasts 41 Short-term forecasting model log(yt,p ) = hp (t ) + fp (w1,t , w2,t ) + ap (y t−1 ) + J X cj zj,t + nt j=1 yt,p denotes per capita demand (minus offset) at time t (measured in half-hourly intervals) during period p, p = 1, . . . , 48; hp (t ) models all calendar effects; fp (w1,t , w2,t ) models all temperature effects where w1,t is a vector of recent temperatures at location 1 and w2,t is a vector of recent temperatures at location 2; zj,t is a demographic or economic variable at time t nt denotes the model error at time t y t = [yt , yt−1 , yt−2 , . . . ] ap (y t−1 ) models effects of recent demands. Forecasting electricity demand distributions Short term forecasts 41 Short-term forecasting model log(yt,p ) = hp (t ) + fp (w1,t , w2,t ) + ap (y t−1 ) + J X cj zj,t + nt j=1 yt,p denotes per capita demand (minus offset) at time t (measured in half-hourly intervals) during period p, p = 1, . . . , 48; hp (t ) models all calendar effects; fp (w1,t , w2,t ) models all temperature effects where w1,t is a vector of recent temperatures at location 1 and w2,t is a vector of recent temperatures at location 2; zj,t is a demographic or economic variable at time t nt denotes the model error at time t y t = [yt , yt−1 , yt−2 , . . . ] ap (y t−1 ) models effects of recent demands. Forecasting electricity demand distributions Short term forecasts 41 Short-term forecasting model log(yt,p ) = hp (t ) + fp (w1,t , w2,t ) + ap (y t−1 ) + J X cj zj,t + nt j=1 yt,p denotes per capita demand (minus offset) at time t (measured in half-hourly intervals) during period p, p = 1, . . . , 48; hp (t ) models all calendar effects; fp (w1,t , w2,t ) models all temperature effects where w1,t is a vector of recent temperatures at location 1 and w2,t is a vector of recent temperatures at location 2; zj,t is a demographic or economic variable at time t nt denotes the model error at time t y t = [yt , yt−1 , yt−2 , . . . ] ap (y t−1 ) models effects of recent demands. Forecasting electricity demand distributions Short term forecasts 41 Short-term forecasting model log(yt,p ) = hp (t ) + fp (w1,t , w2,t ) + ap (y t−1 ) + J X cj zj,t + nt j=1 yt,p denotes per capita demand (minus offset) at time t (measured in half-hourly intervals) during period p, p = 1, . . . , 48; hp (t ) models all calendar effects; fp (w1,t , w2,t ) models all temperature effects where w1,t is a vector of recent temperatures at location 1 and w2,t is a vector of recent temperatures at location 2; zj,t is a demographic or economic variable at time t nt denotes the model error at time t y t = [yt , yt−1 , yt−2 , . . . ] ap (y t−1 ) models effects of recent demands. Forecasting electricity demand distributions Short term forecasts 41 Short-term forecasting model log(yt,p ) = hp (t ) + fp (w1,t , w2,t ) + ap (y t−1 ) + J X cj zj,t + nt j=1 yt,p denotes per capita demand (minus offset) at time t (measured in half-hourly intervals) during period p, p = 1, . . . , 48; hp (t ) models all calendar effects; fp (w1,t , w2,t ) models all temperature effects where w1,t is a vector of recent temperatures at location 1 and w2,t is a vector of recent temperatures at location 2; zj,t is a demographic or economic variable at time t nt denotes the model error at time t y t = [yt , yt−1 , yt−2 , . . . ] ap (y t−1 ) models effects of recent demands. Forecasting electricity demand distributions Short term forecasts 41 Short-term forecasting model log(yt,p ) = hp (t ) + fp (w1,t , w2,t ) + ap (y t−1 ) + J X cj zj,t + nt j=1 yt,p denotes per capita demand (minus offset) at time t (measured in half-hourly intervals) during period p, p = 1, . . . , 48; hp (t ) models all calendar effects; fp (w1,t , w2,t ) models all temperature effects where w1,t is a vector of recent temperatures at location 1 and w2,t is a vector of recent temperatures at location 2; zj,t is a demographic or economic variable at time t nt denotes the model error at time t y t = [yt , yt−1 , yt−2 , . . . ] ap (y t−1 ) models effects of recent demands. Forecasting electricity demand distributions Short term forecasts 41 Short-term forecasting model ap (y t−1 ) = n X bk,p (yt−k ) + k =1 m X Bj,p (yt−48j ) j =1 + Qp (yt+ ) + Rp (yt− ) + Sp (ȳt ) where yt+ is maximum of yt values in past 24 hours; yt− is minimum of yt values in past 24 hours; ȳt is average demand in past 7 days bk,p , Bj,p , Qp , Rp and Sp are estimated using cubic splines. Forecasting electricity demand distributions Short term forecasts 42 Short-term forecasting model ap (y t−1 ) = n X bk,p (yt−k ) + k =1 m X Bj,p (yt−48j ) j =1 + Qp (yt+ ) + Rp (yt− ) + Sp (ȳt ) where yt+ is maximum of yt values in past 24 hours; yt− is minimum of yt values in past 24 hours; ȳt is average demand in past 7 days bk,p , Bj,p , Qp , Rp and Sp are estimated using cubic splines. Forecasting electricity demand distributions Short term forecasts 42 Short-term forecasting model ap (y t−1 ) = n X bk,p (yt−k ) + k =1 m X Bj,p (yt−48j ) j =1 + Qp (yt+ ) + Rp (yt− ) + Sp (ȳt ) where yt+ is maximum of yt values in past 24 hours; yt− is minimum of yt values in past 24 hours; ȳt is average demand in past 7 days bk,p , Bj,p , Qp , Rp and Sp are estimated using cubic splines. Forecasting electricity demand distributions Short term forecasts 42 Short-term forecasting model ap (y t−1 ) = n X bk,p (yt−k ) + k =1 m X Bj,p (yt−48j ) j =1 + Qp (yt+ ) + Rp (yt− ) + Sp (ȳt ) where yt+ is maximum of yt values in past 24 hours; yt− is minimum of yt values in past 24 hours; ȳt is average demand in past 7 days bk,p , Bj,p , Qp , Rp and Sp are estimated using cubic splines. Forecasting electricity demand distributions Short term forecasts 42 References Hyndman, R.J. and Fan, S. (2010) “Density forecasting for long-term peak electricity demand”, IEEE Transactions on Power Systems, 25(2), 1142–1153. Fan, S. and Hyndman, R.J. (2012) “Short-term load forecasting based on a semi-parametric additive model”. IEEE Transactions on Power Systems, 27(1), 134–141. Forecasting electricity demand distributions References 43