Context-Aware Parameter Estimation for Forecast Models in the Energy Domain
Lars Dannecker1,2, Robert Schulze1, Matthias Böhm2, Wolfgang Lehner2, Gregor Hackenbroich1
1SAP Research Dresden, 2Technische Universität Dresden
© 2011 SAP AG. All rights reserved. 2
Agenda
1. Forecasting in the Energy Domain
2. Context-Aware Forecast Model Repository
3. Experimental Evaluation
4. Summary and Future Work
Forecasting in the Energy Domain
© 2011 SAP AG. All rights reserved. 4
Forecasting Process and Characteristics
Predicting the Future ! Quantitative model describing
historic time series behavior ! Uses parameters to represent
specific characteristic ! Estimated model mathematically
calculates future behavior
Specific Characteristics… …for energy time series • Multi-Seasonality • Dependence on external influences • Evolving over time • Negligible linear trend • Continuous stream of
measurements
!
X t = "yt
It#S
+ 1#"( ) X t#1 + bt#1( )
bt = $ X t # X t#1( )+ 1# $( )bt#1
It = %Xt
X t+ 1# %( )It#S
Base Component
Trend Component
Season Component
ε ε
© 2011 SAP AG. All rights reserved. 5
European Energy Market
Market Organizer
TSO TSO
BG2 BG3
Supply Demand
Balancing
Forecasting Aggregation
BG1
Balancing Energy Demand and Supply Guarantee stable grids ! Energy Demand has to be satisfied ! Penalties for oversupply ! Day-Ahead & intraday market ! Integration of more RES in power mix " Accurate predictions at any point in time
Renewable Energy Sources (RES) Increasing support ! Depending on uncertain influences ! Not plannable like traditional power " Accurate prediction for next day RES
supply necessary
© 2011 SAP AG. All rights reserved. 6
Energy Data Management for Evolving Time Series
Energy Data Management Analytics close to the data ! Quick reactions to changing time series ! Always up-to-date forecasts
Appending new values over time ! Optimal parameters change and reoccur over time ! Multiple local minima in parameter space ! Continuous forecast model evaluation ! Efficient forecast model adaptation
New Measurements(consumption/
production)
Time Series
Forecast Model
( , , , state)
1
Model Update
Error Metric (SMAPE)
2 Model Evaluation Techniques
, , 3 Model Adaptation
Techniques
', , ,
Subsection 3.2 Subsection 3.3
Time Series
!!"#!"$
!"%
!"&###$#%#&
'!
'#
'$
'%
'&
$!
$#
$$
$%
!!"(!"#!"'!"$!")!"%!"*!"&!"+
,-./.
012,
3
,-425
!"
!#$"
!#%"
!#&"
!#'"
!#("
!#)"
!#*"
!#+"
!#,"
$"
%!!'-./0-%,"
%!!'-123-!'"
%!!(-456-$$"
%!!)-7/8-$+"
%!!*-9:;-%%"
%!!*-123-%,"
%!!+-<:=-!'"
%!!,-9:;-$,"
>/?/@:A:?"
">BC4<D" ">B7E1F4G" ">B<D>HD7CDI"
Context-Aware Forecast Model Repository
© 2011 SAP AG. All rights reserved. 8
Context of Energy Time Series
Influences for Supply and Demand ! Time series development influenced
by background processes ! Changing context causes changes
demand and supply behavior ! Calendar: Special Days, Season ! Meteorological: Wind speed, Temp. ! Economical: Population
Context Drift Different types of drifting context
!
!
! !! !!
! ! ! !
! ! !!
!
! !!
!
!
! ! ! !
! ! !!
!
!
!
!
!
!
! ! ! !
! ! !
© 2011 SAP AG. All rights reserved. 9
Case-Based Reasoning = Learning how to solve new problems from past experience Energy domain: Seasonal reoccurring contexts ! Reuse previous forecast models ! Retain: Save old parameter combinations with their respective context ! Retrieve: Search repository for a context most similar to the current context ! Revise: Use parameter combinations of similar context as input for optimization
Basic Idea
Problem-Solution Case Base
Start Values
Updating trigger
Continuous Insertions Continuous Forecasts
Updated Parameters
})({1 it pfz =+Time series
Current Forecast Model
3. Parameter Re-Estimation
Global Search Local Search
Forecast Error Calculation
Retrieve
Retain
Starting Values for Estimation
2. Parameter Storing and Retrieval
1. Model Evaluation
Model History Tree
}{ ip}{ ip}{ ipInsert
Retrieve
Distance Compuation
Revise Retain
Revise
Retrieve
© 2011 SAP AG. All rights reserved. 10
Parameter Insertion
ContextSummary Parameters End Index
day hour year mean temperature p1 p2 K C1 3 5 2005 324 -12.3 0.684 0.34 16
C2 2 6 2006 648 -4.9 0.673 0.32 104
C3 5 5 2008 112 12.5 0.623 0.38 573
C4 4 8 2009 272 7.3 0.629 0.41 692
day
temperature
! 7 <7
<11.3
hour <10 ! 10
!11.3 <8 hour
! 8
year <2004 ! 2004
year <2005 ! 2005
mean <500 ! 500
ContextSummary Parameters End Index
day hour year mean temperature p1 p2 K C1 3 5 2005 324 -12.3 0.684 0.34 16
C2 2 6 2006 648 -4.9 0.673 0.32 104
C3 5 5 2008 112 12.5 0.623 0.38 573
C4 4 8 2009 272 7.3 0.629 0.41 692
C5 4 1 2009 291 30.3 0.636 0.31 1024
ContextSummary Parameters End Index
day hour year mean temperature p1 p2 K C1 3 5 2005 324 -12.3 0.684 0.34 16
C2 2 6 2006 648 -4.9 0.673 0.32 104
C3 5 5 2008 112 12.5 0.623 0.38 573
C4 4 8 2009 272 7.3 0.629 0.41 692
C5 4 1 2009 291 30.3 0.636 0.31 1024
PIQR 0.33 0.28 0.46 0.27 0.35
ContextSummary Parameters End Index
day hour year mean temperature p1 p2 K C1 3 5 2005 324 -12.3 0.684 0.34 16
C2 2 6 2006 648 -4.9 0.673 0.32 104 ContextSummary Parameters End Index
day hour year mean temperature p1 p2 K C1 5 5 2008 112 12.5 0.623 0.38 573
C2 4 8 2009 272 7.3 0.629 0.41 692
C3 4 1 2009 291 30.3 0.636 0.31 1024
year <2008 ! 2008
1. Traverse to leaf node
2. Insert
4. Chose attribute with highest 5. Split
Tree Structured Repository ! Decision nodes: Splitting
attribute, splitting value ! Leaf nodes: Set of parameter
combinations, end index ! Splitting attributes chosen using
Partial Interquartil Range (PIQR) ! Split via partitioning median
3. " True/Split
!
c = 5 " 4 = cmax ?
!
PIQR =
˜ a 3 " ˜ a 1
2#
$ %
&
' (
aN " a1
© 2011 SAP AG. All rights reserved. 11
Parameter Retrieval
x !"#"
$"
%"
&"
'"("
)"
J K
*"+"
,"
-"
."
/"
0"
1"
*2345674589:""+2345;97458:"
-2345<974569:"",2345;974599:"
/234569745;9:".23456=745<9:"
1. Traverse to corresponding leaf node
Find R as nearest neighbour
Find O as nearest neighbor Find P as nearest neighbor
!
a2
!
a1 = 0.65
!
a2 = 0.65
!
a1 = 0.9
!
a2 = 0.4
!
a1 = 0.35
!
a1 = 0.25
!"#"" $"%"&" '"(")" >"?" 1"0"
!
a1 = 0.7
4589" 456"
45@"
45A9"
45=9" 45A9"
!
a145<9"
2. Bob-test with " False " Ascent
!
a1 = 0.7
3. Bob-test with cyclical " True " Descent
!
a2 = 0.4
4. Bob-test with " False
!
a1 = 0.65
1
2
3 4
© 2011 SAP AG. All rights reserved. 12
Optimization
Subsequence Similarity ! Find parameters that are associated with most similar time series shape ! Using Pearson Cross Correlation Coefficient
Subsequent Parallel Optimization ! Parallel local and global parameter optimization ! Local: Nelder Mead; Global: Simulated Annealing ! Results from local optimization directly used ! Parallel global search to consider areas not covered ! Global search continues after local search finished ! Quick accuracy recovery + global coverage
Current subsequence Old subsequence 2 Old subsequence 1
!
RZ " Z #( ) =zi $ z ( )
i=1
N $#
% " z i+# $ " z ( )&z2& " z
2
Local Optimization
ddrr
Global OptimizationParameterCandidates
CFMR
Experiments
NOTE: (Delete this element)
Sample of title slide image.
See SAP Image Library for other
available images.
© 2011 SAP AG. All rights reserved. 14
Settings
DataSets ! UK National Grid: Aggregated Demand United Kingdom ! MeRegio: MeRegio project data 86 single customer demand ! NREL Wind: Aggregated data from US wind parks ! CRES PPV: Single appliance photovoltaic supply
Forecast Models ! Triple Seasonal Exponential Smoothing (5 parameters) ! EGRV multi-equation autoregressive model (up to 31 parameters
Comparison Scenario ! Time vs. Accuracy against 4 common approaches
Error Metric ! Symetric Mean Absolute Percentage Error (SMAPE)
Plattform ! AMD Athlon 4850e (2.5 GHz), 4GB RAM, Windows 7 ! Visual C++ 2010
Subsequent Parallel Optimization ! Parallel local and global parameter optimization ! Results from local optimization directly used ! Parallel global search to consider areas not covered ! Global search continues after local search finished ! Quick accuracy recovery + global coverage
© 2011 SAP AG. All rights reserved. 15
Results: Triple Seasonal Exponential Smoothing
TS-Exponential Smoothing " Small number of parameters, quick to estimate ! MHT quickly reaches good accuracy ! Our method is not superior on all data sets ! Large result divergence for other approaches ! MHT overhead: Eval (100 models) " 4 msec, 20000 models " 0.6 sec
© 2011 SAP AG. All rights reserved. 16
Results: EGRV Model (Energy Domain Specific)
EGRV " Large number of parameters, hard to estimate ! MHT achieved best results on all data sets ! Difference between best and worst approach much larger ! MHT better suited for more complex models ! MHT overhead: Eval (100 models) " 6 msec, 20000 models " 1.1 sec
Summary and Future Work
© 2011 SAP AG. All rights reserved. 18
Summary & Future Work
Problem • Evolving energy time series require efficient forecast model estimation
Summary • Time series context influences time series development • Case-based reasoning approach • Store previous forecast model parameters for reuse with similar contextual situation
• Tree organized Context-Aware Forecast Model Repository • Retrieve parameter by comparing current context to past context • Parameters serve as input for optimization approaches
Future Work • Evaluate accuracy for approach without subsequent optimization • Order attributes in tree using information criterion • Further parallelization
© 2011 SAP AG. All rights reserved. 20
No part of this publication may be reproduced or transmitted in any form or for any purpose without the express permission of SAP AG. The information contained herein may be changed without prior notice. Some software products marketed by SAP AG and its distributors contain proprietary software components of other software vendors. Microsoft, Windows, Excel, Outlook, and PowerPoint are registered trademarks of Microsoft Corporation. IBM, DB2, DB2 Universal Database, System i, System i5, System p, System p5, System x, System z, System z10, System z9, z10, z9, iSeries, pSeries, xSeries, zSeries, eServer, z/VM, z/OS, i5/OS, S/390, OS/390, OS/400, AS/400, S/390 Parallel Enterprise Server, PowerVM, Power Architecture, POWER6+, POWER6, POWER5+, POWER5, POWER, OpenPower, PowerPC, BatchPipes, BladeCenter, System Storage, GPFS, HACMP, RETAIN, DB2 Connect, RACF, Redbooks, OS/2, Parallel Sysplex, MVS/ESA, AIX, Intelligent Miner, WebSphere, Netfinity, Tivoli and Informix are trademarks or registered trademarks of IBM Corporation. Linux is the registered trademark of Linus Torvalds in the U.S. and other countries. Adobe, the Adobe logo, Acrobat, PostScript, and Reader are either trademarks or registered trademarks of Adobe Systems Incorporated in the United States and/or other countries. Oracle is a registered trademark of Oracle Corporation. UNIX, X/Open, OSF/1, and Motif are registered trademarks of the Open Group. Citrix, ICA, Program Neighborhood, MetaFrame, WinFrame, VideoFrame, and MultiWin are trademarks or registered trademarks of Citrix Systems, Inc. HTML, XML, XHTML and W3C are trademarks or registered trademarks of W3C®, World Wide Web Consortium, Massachusetts Institute of Technology. Java is a registered trademark of Sun Microsystems, Inc.
JavaScript is a registered trademark of Sun Microsystems, Inc., used under license for technology invented and implemented by Netscape. SAP, R/3, SAP NetWeaver, Duet, PartnerEdge, ByDesign, SAP BusinessObjects Explorer, StreamWork, and other SAP products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of SAP AG in Germany and other countries.
© 2011 SAP AG. All rights reserved
Business Objects and the Business Objects logo, BusinessObjects, Crystal Reports, Crystal Decisions, Web Intelligence, Xcelsius, and other Business Objects products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of Business Objects Software Ltd. Business Objects is an SAP company.
Sybase and Adaptive Server, iAnywhere, Sybase 365, SQL Anywhere, and other Sybase products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of Sybase, Inc. Sybase is an SAP company. All other product and service names mentioned are the trademarks of their respective companies. Data contained in this document serves informational purposes only. National product specifications may vary. The information in this document is proprietary to SAP. No part of this document may be reproduced, copied, or transmitted in any form or for any purpose without the express prior written permission of SAP AG. This document is a preliminary version and not subject to your license agreement or any other agreement with SAP. This document contains only intended strategies, developments, and functionalities of the SAP® product and is not intended to be binding upon SAP to any particular course of business, product strategy, and/or development. Please note that this document is subject to change and may be changed by SAP at any time without notice. SAP assumes no responsibility for errors or omissions in this document. SAP does not warrant the accuracy or completeness of the information, text, graphics, links, or other items contained within this material. This document is provided without a warranty of any kind, either express or implied, including but not limited to the implied warranties of merchantability, fitness for a particular purpose, or non-infringement. SAP shall have no liability for damages of any kind including without limitation direct, special, indirect, or consequential damages that may result from the use of these materials. This limitation shall not apply in cases of intent or gross negligence. The statutory liability for personal injury and defective products is not affected. SAP has no control over the information that you may access through the use of hot links contained in these materials and does not endorse your use of third-party Web pages nor provide any warranty whatsoever relating to third-party Web pages.