The present invention relates to method and system for predicting short term load trends through the use of historical load data and short term load forecast data. Neural Networks are used to analyze load data and trends for an interval of time. Patterns within certain months, weeks, days, hours are analyzed and neural network techniques are applied to predict very short term load forecasts.
In the advent of deregulation, load forecasting has taken center stage in providing a means of scheduling energy generation in a marketplace where energy demand may at times appear random. System operators, market operators, transmission owners, and other power industry participants all require a forecasting system and methodology which is fast and accurate in order to operate a reliable system and to remain profitable. Accordingly, forecasting is a necessity in a free market.
However, the restructuring of the power industry from a regulated monopoly to a free market system in which transmission operators are required to operate under regulatory scrutiny has further added a level of complexity in meeting energy demands. Often the manner in which market participants are required to operate is in direct conflict with technical and economic constraints. These constraints are imposed by regulatory agencies, economic concerns, and equipment performance limitations.
At the moment, operators provide regulatory agencies with schedule information detailing the quantity of energy and the time that energy will be produced. These schedules of energy vary over the course of a year, month, week, day, hour and other intervals of time such as seasons and special days such as holidays and weekends. Despite knowing that such energy requirements vary considerably at times, operators are often tasked with the burden of meeting demand for real-time and unanticipated shortage in energy. Meeting these unanticipated demands is often the cause of increased energy costs. Alternatively, decreases in energy costs may be the result of having to provide less energy when a glut of unanticipated energy exists in the marketplace.
As readily apparent, there is a significant need for a method and system which optimizes the performance of a power system performance by predicting in the short term the expect energy demand. The present invention is a solution to the needs of energy producers which must control their production capacity to meet regulatory requirements and to minimize costs and optimize profitability by utilizing field data, historical load and forecast data as well forecasts from other forecasting techniques.
The present invention is intended to provide a method and system by which energy producers are able to optimize power generation and minimize costs. This objective is achieved by employing a method and system which predicts short term load trends through the use of historical load data and short term load forecast data. Demand patterns are analyzed and used to train neural networks to predict energy demands. The load increments are used in off-line neural network training and on-line prediction. An algorithm is used for load predictions and another algorithm is used for On-line training. Moreover, on-line and off-line training are used to make load predictions. The present invention makes use of on-line neural network training, and integrates the prediction process based on the online trained neural networks and the prediction process based on the offline trained neural networks, thereby providing a mechanism to allow system operators to choose either the online neural network training based load prediction scheme, or the offline neural network training based load prediction scheme, or a careful combination of the predictions from both the online and offline neural network training based load prediction schemes. The online neural network training captures the latest load pattern changes (not seen in offline neural network training)and incorporates such changes into load prediction, thus providing a mechanism to improve the prediction accuracy from the offline neural network training based load prediction.
A wide variety of potential embodiments will be more readily understood through the following detailed description, with reference to the accompanying drawings in which:
Shown in
The architecture and operation of an energy management system and in particular the hardware, control modules, neural networks, short term load forecast modules and other related components are described in greater detail in co-pending U.S. patent application Ser. No. 10/844,137 filed May 12, 2004, entitled “Very Short Term Load Prediction in an Energy Management System” and is incorporated herein by reference.
The above methodology utilizes conventional processing software and equipment. An energy management application stored on a storage media containing the above referenced functions may be used with a system processor, internal and/or external memory, including counters, and registers, and real time or nearly real time operating systems. The components and steps depicted in
For load prediction purpose, assume that a dynamic load model exists in the context of automatic generation control, and may be expressed in the following form:
g(P(N), . . . , {dot over (P)}, P, t)=0 (1)
where N denotes the order of load dynamics, P the load, and t the time.
For the discrete case,
h(Pn−N, . . . , Pn−1, Pn, n)=0 (2)
Assume that a continuous mapping from (Pn−1, Pn−2, . . . , Pn−N, n) to Pn exists. Then
Pn=ƒ(Pn−1, Pn−2, . . . , Pn−N, n) (3)
where function ƒ may be viewed as the inverse of function h.
As such, Pn+1, Pn+2, . . . , Pn+M (M is an arbitrary positive integer) can be obtained in terms of Pn, Pn−1, . . . , Pn−N+1, n in the following:
Pn+1=ƒ(Pn, Pn−1, . . . , Pn−N+1, n+1)=ƒ1(Pn, Pn−1, . . . , Pn−N+1, n)
Pn+2=ƒ(Pn+1, Pn, . . . , Pn−N+2, n+2)=ƒ(ƒ1(Pn, Pn−1, . . . , Pn−N+1, n), Pn, . . . , Pn−N+2, n+2) =ƒ2(Pn, Pn−1, . . . , Pn−N+1, n)
. . .
Pn+M=ƒ(Pn+M−1, Pn+M−2, . . . , Pn−N+M−1, n+M)=ƒ(ƒM−1, ƒM−2, . . . , ƒ1, . . . , n+2) =ƒM(Pn, Pn−1, . . . , Pn−N+1, n) (4)
The load prediction model can now be established as follows:
{circumflex over (P)}n+i=ƒi(Pn, Pn−1, . . . , Pn−N+1, n) (5)
where {circumflex over (P)}n+i(1≦i≦M) is the predicted load for the future ith step from current time n.
Pn, Pn−1, . . . , Pn−N+1 are the actual load values for current time and the previous (N−1) time steps.
Define ΔPn=Pn+1−Pn. Then Pn+1=Pn+ΔPn, Pn+2=Pn+1+ΔPn+1=Pn+ΔPn+ΔPn+1=Pn+Σk=nn+1Pk. Similarly, Pn+i=Pn+Σk=nn+i−1Pk. Substitution of Pn=Pn−N+1+Σk=n−N+1n−1Pk yields Pn+i=Pn−N+1+Σk=n−N+1n+i−1Pk.
As such, the above load prediction model can be rewritten in terms of ΔPk.
Pn+i=ƒi(Pn−N+1+Σk=n−N+1n−1ΔPk, Pn−N+1+Σk=n−N+1n−1ΔPk, . . . , Pn−N+1, n) =gi(Pn−N+1, ΔPn−N+1, . . . , ΔPn−1, n)
The choice of N, however, depends on the complexity of load dynamics, and may be determined through a trial-and-error experimental approach along with any available a priori information on load dynamics. It is reasonable, though, that N may be assigned a value of 12, which is compatible with the requirement of the 120 minutes prediction time horizon and 5-minute time step in the ISO energy market application. With this choice, the load predictions can be made for the next 60 minutes using load values for the previous 60 minutes; the load predictions for the following 60 minutes can be made using the just obtained load predictions for the next 60 minutes, thus achieving two hours of load prediction horizon in 5 minute time intervals.
It is observed that in the above equation, the load dynamics are time varying. However, the time varying effect may be neglected within any of the individual time periods that are properly segmented within a whole day and cover a fewer hours each. In other words, load dynamics are considered in such a way that they vary from one individual time period to another while being time independent for individual time period. This is approximately true on the basis of the observations from load shapes recorded in various power utilities.
Accordingly, the load prediction model for its own effective time period can be simplified as follows:
Pn+i=gi(Pn−N+1, ΔPn−N+1, . . . , ΔPn−1)
where 1≦i≦M.
It follows that
ΔPn+i−1=gi(Pn−N+1, ΔPn−N+1, . . . , ΔPn−1)−(Pn−N+1+Σk=n−N+1n+i−2ΔPk)
Define
ψ1(Pn−N+1, ΔPn−N+1, . . . , ΔPn−1)=g1(Pn−N+1, ΔPn−N+1, . . . , ΔPn−1)−(Pn−N+1+Σk=n−N+1n−1ΔPk)
Then the following equation holds for i=1:
ΔPn−i+1=ψi(Pn−N+1, ΔPn−N+1, . . . , ΔPn−1)
For i=2, we have
ΔPn+1=g2(Pn−N+1, ΔPn−N+1, . . . , ΔPn−1)−(Pn−N+1+Σk=n−N+1nΔPk) =g2(Pn−N+1, ΔPn−N+1, . . . , ΔPn−1)−(Pn−N+1+Σk=n−N+1nΔPk)−ΔPn=g2(Pn−N+1, ΔPn−N+1, . . . , ΔPn−1)−(Pn−N+1+Σk=n−N+1nΔPk)−ψ1(Pn−N+1, ΔPn−N+1, . . . , ΔPn−1)
Define
ψ2(Pn−N+1, ΔPn−N+1, . . . , ΔPn−1) =g2(Pn−N+1, ΔPn−N+1, . . . , ΔPn−1)−(Pn−N+1+Σk=n−N+1nΔPk)−ψ1(Pn−N+1, ΔPn−N+1, . . . , ΔPn−1)
Then the following equation holds for i=2:
ΔPn−i+1=ψi(Pn−N+1, ΔPn−N+1, . . . , ΔPn−1)
By repeating the above procedures and defining appropriate functions ψ1(Pn−N+1, ΔPn−N+1, . . . , ΔPn−1) for i=3, . . . , M, we establish the following relationship:
ΔPn−i+1=ψi(Pn−N+1, ΔPn−N+1, . . . , ΔPn−1)
where 1≦i≦M.
It is observed that when N is large enough, the relationship between Pn−N+1 and Pn+i−1 becomes weaker and weaker as n and i increase. If this relationship becomes weak enough to be neglected, the above equation can be simplified as follows:
ΔPn−i+1=ψi(ΔPn−N+1, . . . , ΔPn−1)
where 1≦i≦M.
Rewriting the above equations in vector format yields the following:
Since the exact forms of functions ψi's are unknown, with historical load data available, a feedforward neural network with proper layers may be trained to approximate such functions. As is well known, neural networks have the capability to approximate any continuous function defined on a compact support with any arbitrary small positive error. Though the actual bound for ΔPk is not known explicitly, it is always practical to assume that all the load increments are all bounded. In other words, it is always reasonable to assume that the support of functions ψi's is compact.
Thus, there exists a neural network that can approximate the above relationship in an arbitrary small positive error:
where Θ is a parameter vector that contains weights between neighboring layers, and biases for all the hidden neurons, and is to be tuned in a way that the discrepancy between the calculated values for the future times and the actual values is minimized in terms of performance index. Neural networks are trained off-line using historical load data. After the completion of neural network training and validation, they are ready for use on-line.
The flow chart shown in
The off-line neural network training methodology is described below. In step 201, filter the five-minutely load data used to train neural networks. This filtering process retrieves historical data according to a pre-specified selection criteria. The filter can be designed as h(t) whose Laplace transfer function is specified by
where τ is designated as 30 minutes. Let Pkh denote the filtered load data. Then
where T is 5 minutes.
In step 202, form load increments from filtered load data. Mathematically, ΔPnh=Pn+1h−Pnh. If load data comes from different data sources, the symbol for load increments needs to identify this as well. That is, ΔPn,ΔC
In step 203, normalize load increments. Load increments are normalized using respective mean m{ΔCj} and standard deviation σ{ΔCj} of the incremental data derived from its corresponding data source. Mathematically,
In step 204, apply the gradient descent method with the momentum term to perform neural network training using data obtained at Step 3 ahead of time before it is used. At the end of training, the following relationship is realized with optimal Θ*off (locally optimal if not globally optimal) such that
Steps 1 to 4 represent the off-line neural network training. The rest steps represent the off-line neural network training based on-line load prediction.
In step 205, load neural network parameters and set up neural networks for on-line prediction for the current time segment (one of [00:05, 04:00], [04:05, 08:00], [08:05, 12:00], [12:05,16:00], [16:05, 20:00], [20:05, 24:00]).
In step 206, load conventional short-term load forecast corresponding to the current four-hour time segment. Compute the load average for the current time segment.
In step 207, load the standard deviation of the best matching date calculated in off-line neural network training.
In step 208, load the load values for the previous hour, and feed them to the low-pass filter as used in Step 201. Form the load increments from the filtered load data.
In step 209, perform data normalization with the parameters determined in Steps 207 and 208.
In step 210, feed the normalized data into the trained neural network and compute the predicted values for the next hour.
In step 211, feed the predicted values computed for the next hour into the same trained neural network. Compute the predicted values for the following hour.
In step 212, denormalize the predicted values for the next two hours computed at Steps 210 and 211.
In step 213, compute the predicted load values for the next two hours by converting the denormalized data obtained at step 212 to absolute load quantities.
In step 214, when conventional hourly (or half-hourly) short term load forecast is deemed as meeting forecast accuracy requirement, the load predictions obtained at step 213 are scaled to satisfy the hourly energy obtained from the short term load forecast for the current hour and following two hours.
When the actual load exhibits load patterns that are not used in the off-line neural network training, the off-line neural network training based on-line load prediction scheme will not be able to make accurate load predictions for the unlearned load patterns. A mechanism needs to be introduced to cope with this situation. This is where the on-line neural network training is needed.
The on-line neural network training based load prediction scheme starts with on-line neural network training. For on-line neural network training, the neural network is initialized with the parameter values obtained from off-line neural network training. The actual load data for the past two hours is used to adjust the neural network parameters so that a performance index that measures the distance in some sense between the target data and the actual output data of the neural network.
The flow chart shown in
The on-line neural network training methodology is described below. In step 301, load neural network parameters obtained from off-line neural network training and set up neural networks for on-line training for the current time segment (one of [00:05, 04:00], [04:05, 08:00], [08:05,12:00], [12:05,16:00], [16:05, 20:00], [20:05, 24:00]).
In step 302, filter the five-minutely load data used to train neural networks. This filtering process retrieves historical data according to a pre-specified selection criteria. The filter can be designed as h(t) whose Laplace transfer function is specified by
where τ is designated as 30 minutes. Let Pkh denote the filtered load data. Then
where T is 5 minutes. The load data used in on-line neural network training includes load data for the past 2 hours in 5 minute intervals.
In step 303, form load increments from filtered load data. Mathematically, Δ=Pnh=Pn+1h−Pnh.
In step 304, load conventional short-term load forecast corresponding to the current four-hour time segment and compute the load average for the current time segment.
In step 305, load the standard deviation of the best matching date calculated in off-line neural network training.
In step 306, normalize load increments. Load increments are normalized using mean m and standard deviation σ of the incremental data derived from steps 304 and 305. Mathematically,
In step 307, adopt the conjugate gradient optimization approach to perform neural network training using data obtained at step 306 ahead of time before it is used. At the end of training, the following relationship is realized with optimal Θ*on (locally optimal if not globally optimal) such that
Steps 301 to 307 represent the on-line neural network training. The remaining steps represent the on-line neural network training based on-line load prediction.
In step 308, load the load values for the previous hour, and feed them to the low-pass filter as used in step 301 and calculate the load increments from the filtered load data.
In step 309, perform data normalization as done in step 306 with the parameters determined in steps 304 and 305.
In step 310, feed the normalized data into the trained neural network and compute the predicted values for the next hour.
In step 311, feed the predicted values computed for the next hour into the same trained neural network and compute the predicted values for the following hour.
In step 312, denormalize the predicted values for the next two hours computed at steps 310 and 311 by performing the inverse procedure of the normalization operation.
In step 313, compute the predicted load values for the next two hours by converting the denormalized data obtained at step 312 to absolute load quantities.
In step 314, when conventional hourly (or half-hourly) short term load forecast is deemed as meeting forecast accuracy requirement, the load predictions obtained at step 313 are scaled to satisfy the hourly energy obtained from the short term load forecast for the current hour and following two hours. When the load predictions made by the off-line neural network training based on-line prediction scheme and the on-line neural network training based prediction scheme are made available, a mechanism is introduced to finalize the load predictions by combining the prediction results obtained with two different approaches. This mechanism is presented below.
The flow chart shown in
In step 401, the user selects one of the prediction schemes to finalize the load prediction, i.e., off-line training based prediction scheme, on-line training based prediction scheme, manual entry based prediction scheme, and automatic combination based prediction scheme.
In step 402, if the user selects one of the following options, off-line training based prediction scheme, on-line training based prediction scheme, or manual entry based prediction scheme, then the finalized predictions are given by the following equation:
In step 403, if the user selects the automatic combination based prediction scheme, the λi's are calculated based on the performance statistics of both off-line training based prediction scheme and on-line training based prediction scheme. Each λi is calculated as follows:
For the off-line training based prediction scheme, we maintain a counter with initial value 0. For each 5 minute cyclic execution, compare the off-line training based prediction results to the actual load data, if any of the prediction results is within the desired prediction accuracy of the corresponding actual load, then the counter is incremented by 1; do the similar thing for the on-line training based prediction results. These two counters are maintained continuously.
For the current five minute interval, check the values in these two counters. Let us denote the value in the counter for the off-line training based prediction scheme by Noffi, and the value in the counter for the on-line training based prediction scheme by Noni. Then λi is given by
The statistics Noffi and Noni are maintained on a per time segment (six different four-hour time segments per day) basis.
When Noffi and Noni are large enough, if for each time interval, at least one of the off-line training based prediction scheme and the on-line training based prediction scheme performs acceptably, λi represents the probability that the off-line training based prediction scheme performs acceptably for the ith 5-minute time interval of the prediction horizon. The results represent the expectation of the neural network based prediction results. When for significantly number of time intervals, neither the off-line training based prediction scheme nor the on-line training based prediction scheme performs acceptably, when λi is still calculated using the above equation, there is a significant non-zero probability that the combined results will deviate beyond acceptable ranges.
Then finalize the prediction results by using the following equation:
In step 404, feed the predicted values computed for the next hour into the same trained neural network. Compute the predicted values for the following hour.
In step 405, denormalize the predicted values for the next two hours by performing the inverse procedure of the normalization operation.
In step 406, compute the predicted load values for the next two hours by converting the denormalized data to absolute load quantities, the inverse procedure of finding load increments.
In step 407, when conventional hourly (or half-hourly) short term load forecast is deemed as meeting forecast accuracy requirement, the load predictions obtained at step 407 are scaled to satisfy the hourly energy obtained from the short term load forecast for the current hour and following two hours.
While the inventive method and system have been particularly shown and described with reference to an embodiment hereof, it should be understood by those skilled in the art that various changes in form and detail may be made therein without departing from the spirit and scope of the invention.
This application claims the benefit of U.S. Provisional Applications Nos. 60/703,803 filed Jul. 29, 2005, 60/703,082, 60/703,801 filed on Jul. 28, 2005.
Number | Name | Date | Kind |
---|---|---|---|
5311421 | Nomura et al. | May 1994 | A |
5444820 | Tzes et al. | Aug 1995 | A |
7013227 | Harley et al. | Mar 2006 | B2 |
7058522 | Chen | Jun 2006 | B2 |
20040246643 | Chen | Dec 2004 | A1 |
20040260489 | Mansingh et al. | Dec 2004 | A1 |
20050192915 | Ahmed et al. | Sep 2005 | A1 |
20060173640 | Harley et al. | Aug 2006 | A1 |
Number | Date | Country |
---|---|---|
1 478 075 | Nov 2004 | EP |
WO 9202867 | Feb 1992 | WO |
WO 0169329 | Sep 2001 | WO |
Number | Date | Country | |
---|---|---|---|
20070185823 A1 | Aug 2007 | US |
Number | Date | Country | |
---|---|---|---|
60703803 | Jul 2005 | US | |
60703082 | Jul 2005 | US | |
60703081 | Jul 2005 | US |