Abstract:
A method and system is provided for predicting loads within a power system through the training of on-line and an off-line neural networks. Load data and load increments are used with an on-line load prediction scheme to generate predicted load values 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.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS  
       [0001]     This application claims the benefit of U.S. Provisional Applications Nos. 60/703,803, 60/703,082, 60/703, 801 filed on Jul. 28, 2005. 
     
    
     FIELD OF THE INVENTION  
       [0002]     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.  
       BACKGROUND OF THE INVENTION  
       [0003]     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.  
         [0004]     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.  
         [0005]     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.  
         [0006]     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.  
       SUMMARY OF THE INVENTION  
       [0007]     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. 
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0008]     A wide variety of potential embodiments will be more readily understood through the following detailed description, with reference to the accompanying drawings in which:  
         [0009]      FIG. 1  is a graphical representation of an energy management system incorporating the use of the present invention;  
         [0010]      FIG. 2  is a flowchart of the training of an Off-line Neural Network;  
         [0011]      FIG. 3  is a flowchart of the training of an On-line Neural Network; and  
         [0012]      FIG. 4  is a flowchart of the finalization of predicted load values.  
     
    
     DETAILED DESCRIPTION  
       [0013]     Shown in  FIG. 1  is an overview of a portion of an energy management system incorporating the use of the present invention. Load data  110  contains current and historical load data as captured from the field. In order to predict load values based on the training of off-line neural network  120  and on-line neural network  140 , load data  110  is provided to both the on-line and off-line neural networks  140   120 . An on-line load prediction module is used along with the load data to train both neural networks. Based on the accuracy of the load predictions or other decision based criteria, a prediction scheme based on decision algorithm  150  is adopted to generate a final load prediction  160 .  
         [0014]     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.  
         [0015]     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  FIGS. 1-4  may be stored in a computer readable media for use in an energy management system. The load prediction process of the present invention is detailed below.  
         [0016]     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. 
 
         [0017]     For the discrete case, 
 
 h ( P   n−N   , . . . , P   n−1   ,P   n   ,n )=0   (2) 
 
         [0018]     Assume that a continuous mapping from (P n−1 ,P n−2 , . . . ,P n−N ,n) to P n  exists. Then 
 
 P   n   =f ( P   n−1   ,P   n−2   , . . . ,P   n−N   ,n )   (3) 
 
 where function f may be viewed as the inverse of function h. 
 
         [0019]     As such, P n+1 ,P n+2 , . . . ,P n+M  (M is an arbitrary positive integer) can be obtained in terms of P n ,P n−1 , . . . ,P n−N+1 , n in the following: 
 
 P   n+1   =f ( P   n   ,P   n−1   , . . . ,P   n−N+1   ,n+ 1)= f   1 ( P   n   ,P   n−1   , . . . ,P   n−N+1   ,n ) 
 
P n+2   =f ( P   n+1   ,P   n   , . . . ,P   n−N+2   ,n+ 2)= f ( f   1 ( P   n   , P   n−1   , . . . ,P   n−N+1   ,n ), P   n   , . . . ,P   n−N+2   , n+ 2)= f   2 ( P   n   ,P   n−1   , . . . ,P   n−N+1   ,n ) 
 
 P   n+M   =f ( P   n+M−1   ,P   n+M−2   , . . . ,P   n−N+M−1   ,n+M )= f ( f   M−1   ,f   M−2   , . . . ,f   1   , . . . ,n+ 2)= f   M ( P   n   ,P   n−1   , . . . ,P   n−N+1   ,n )   (4) 
 
         [0020]     The load prediction model can now be established as follows: 
 
 {circumflex over (P)}   n+i   =f   i ( P   n   ,P   n−1   , . . . ,P   n−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. 
 
         [0021]     P n ,P n−1 , . . . ,P n−N+1  are the actual load values for current time and the previous (N−1) time steps.  
         [0022]     Define ΔP n =P n+1 −P n . Then P n+1 =P n +ΔP n , P n+2 =P n+1 +ΔP n+1 =P n +ΔP n +ΔP n+1 =P n +Σ k=n   n+1 P k . Similarly, P n+i =P n +Σ k=n   n+i−1 P k . Substitution of P n =P n−N+1 +Σ k=n−N+1   n−1  P k  yields P n+i =P n−N+1 +Σ k=n−N+1   n+i−1 P k .  
         [0023]     As such, the above load prediction model can be rewritten in terms of ΔP k . 
 
 P   n+i   =f ( P   n−N+1 +Σ k=n−N+1   n−1 ΔP n−N+1 +Σ k=n−N+1   n−1 ΔP k   , . . . ,P   n−N+1   ,n )− g   i ( P   n−N+1   ,ΔP   n−N+1   , . . . ,ΔP   n−1   ,n ) 
 
         [0024]     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.  
         [0025]     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.  
         [0026]     Accordingly, the load prediction model for its own effective time period can be simplified as follows: 
 
 P   n+i   =g   i ( P   n−N+1   ,ΔP   n−N+1   , . . . ,ΔP   n−1 ) 
 
 where 1≦i≦M 
 
         [0027]     It follows that 
 
ΔP n+i−1   =g   i ( P   n−N+1   ,ΔP   n−N+1   , . . . ,ΔP   n−1 )−( P   n−N+1 +Σ k=n−N+1   n+i−2   ΔP   k ) 
 
         [0028]     Define 
 
ψ 1 ( P   n−N+1   ,ΔP   n−N+1   , . . . ,ΔP   n−1 )= g   1 ( P   n−N+1   ,ΔP   n−N+1   , . . . ,ΔP   n−1 )−( P   n−N+1 +Σ k=n−N+1   n−1   ΔP   k ) 
 
         [0029]     Then the following equation holds for i=1: 
 
Δ P   n−i+1 =ψ i ( P   n−N+1   ,ΔP   n−N+1   , . . . ,ΔP   n−1 ) 
 
         [0030]     For i=2, we have 
 
Δ P   n+1   =g   2 ( P   n−N+1 ,ΔP n−N+1   , . . . ,ΔP   n−1 )−( P   n−N+1 +Σ k=n−N+1   n   ΔP   k )= g   2 ( P   n−N+1   ,ΔP   n−N+1   , . . . ,ΔP   n−1 )−( P   n−N+1 +Σ k=n−N+1   n   ΔP   k )−ΔP n   g   2 ( P   n−N+1   ,ΔP   n−N+1   , . . . ,ΔP   n−1 )−( P   n−N+1 +Σ k=n−N+1   n   ΔP   k )−ψ 1 ( P   n−N+1   ,ΔP   n−N+1   , . . . ,ΔP   n−1 ) 
 
         [0031]     Define 
 
ψ 2 (P n−N+1   , ΔP   n−N+1   , . . . ,ΔP   n−1 )=g 2 ( P   n−N+1   ,ΔP   n−N+1   , . . . ,ΔP   n−1 )−( P   n−N+1 +Σ k=n−N+1   n ΔP k )−ψ 1 ( P   n−N+1   ,ΔP   n−N+1   , . . . ,ΔP   n−1 ) 
 
         [0032]     Then the following equation holds for i=2: 
 
Δ P   n−i+1 =ψ i ( P   n−N+1   ,ΔP   n−N+1   , . . . ,ΔP   n−1 ) 
 
         [0033]     By repeating the above procedures and defining appropriate functions ψ 1 ( P   n−N+1   ,ΔP   n−N+1   , . . . ,ΔP   n−1 ) for i=3, . . . ,M, we establish the following relationship: 
 
Δ P   n−i+1 =ψ i ( P   n−N+1   ,ΔP   n−N+1   , . . . ,ΔP   n−1 ) 
 
 where 1≦i≦M. 
 
         [0034]     It is observed that when N is large enough, the relationship between P n−N+1  and P n+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: 
 
ΔP n−i+1 =ψ i (ΔP n−N+1   , . . . ,ΔP   n−1 ) 
 
 where 1≦i≦M. 
 
         [0035]     Rewriting the above equations in vector format yields the following:  
               [           Δ   ⁢           ⁢     P   n                 Δ   ⁢           ⁢     P     n   +   1                 ⋯             Δ   ⁢           ⁢     P     n   +   M   -   1               ]     =       ⁢     [             ψ   1     ⁡     (       Δ   ⁢           ⁢     P     n   -   N   +   1         ,   …   ⁢           ,     Δ   ⁢           ⁢     P     n   -   1           )                   ψ   2     ⁡     (       Δ   ⁢           ⁢     P     n   -   N   +   1         ,   …   ⁢           ,     Δ   ⁢           ⁢     P     n   -   1           )               ⋯               ψ   M     ⁡     (       Δ   ⁢           ⁢     P     n   -   N   +   1         ,   …   ⁢           ,     Δ   ⁢           ⁢     P     n   -   1           )             ]                 =       ⁢       [           ψ   1               ψ   2             ⋯             ψ   M           ]     ⁢     (       Δ   ⁢           ⁢     P     n   -   N   +   1         ,   ⋯   ⁢           ,     Δ   ⁢           ⁢     P     n   -   1           )                 
 
         [0036]     Since the exact forms of functions ψ i &#39;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 ΔP k  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 &#39;s is compact.  
         [0037]     Thus, there exists a neural network that can approximate the above relationship in an arbitrary small positive error:  
         [           Δ   ⁢           ⁢     P   n                 Δ   ⁢           ⁢     P     n   +   1                 ⋯             Δ   ⁢           ⁢     P     n   +   M   -   1               ]     =     NN   ⁡     (       Δ   ⁢           ⁢     P     n   -   N   +   1         ,   ⋯   ⁢           ,       Δ   ⁢           ⁢     P     n   -   1         ;   Θ       )           
 
 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. 
 
         [0038]     The flow chart shown in  FIG. 2  demonstrates the use of on-line load predictions to train an off-line neural network. More specifically, the process makes uses of load increments, appropriate data pre-processing and post-processing, and conventional short-term load forecast. Although the process is illustrated in an embodiment which executes a cycle every 5 minutes and in real time or nearly real time, the process may be executed in any other temporal span and frequency.  
         [0039]     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  
         H   ⁡     (   s   )       =     1     1   +     τ   ⁢           ⁢   s             
 
 where τ is designated as 30 minutes. Let P k   h  denote the filtered load data. Then  
         P   k   h     =           1     1   +     τ   /   T         ⁢     P     k   -   1     h       +         τ   /   T       1   +     τ   /   T         ⁢     P   k         =         1   7     ⁢     P     k   -   1     h       +       6   7     ⁢     P   k               
 
 where T is 5 minutes. 
 
         [0040]     In step  202 , form load increments from filtered load data. Mathematically, ΔP n   h =P n+1   h −P n   h . If load data comes from different data sources, the symbol for load increments needs to identify this as well. That is, ΔP n,ΔC   h =P n+1,C     j     h −P n,C     j      h  where C j ={n|P n,C     j     h  } and ΔC j ={n|P n,ΔC     j     h  } with the subscript j representing the index of different load data sources corresponding to respective best matching dates.  
         [0041]     In step  203 , normalize load increments. Load increments are normalized using respective mean m{ΔC j } and standard deviation σ{ΔC j } of the incremental data derived from its corresponding data source. Mathematically,  
         q   n     =         Δ   ⁢           ⁢     P     n   ,     Δ   ⁢           ⁢     C   j         h       _     =           Δ   ⁢           ⁢     P     n   ,     Δ   ⁢           ⁢     C   j         h       -     m   ⁢     {     Δ   ⁢           ⁢     C   j       }           σ   ⁢     {     Δ   ⁢           ⁢     C   j       }         .           
 
         [0042]     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  
         [             q   ^     n   off                 q   ^       n   +   1     off             ⋯               q   ^       n   +   M   -   1     off           ]     =         NN   off     ⁡     (       q     n   -   N   +   1       ,     …   ⁢           ⁢     q     n   -   1         ,     ;     Θ   off   *         )       .         
 
 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. 
 
         [0043]     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]).  
         [0044]     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.  
         [0045]     In step  207 , load the standard deviation of the best matching date calculated in off-line neural network training.  
         [0046]     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.  
         [0047]     In step  209 , perform data normalization with the parameters determined in Steps  207  and  208 .  
         [0048]     In step  210 , feed the normalized data into the trained neural network and compute the predicted values for the next hour.  
         [0049]     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.  
         [0050]     In step  212 , denormalize the predicted values for the next two hours computed at Steps  210  and  211 .  
         [0051]     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.  
         [0052]     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.  
         [0053]     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.  
         [0054]     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.  
         [0055]     The flow chart shown in  FIG. 3  demonstrates the use of on-line load predictions to train an on-line neural network. The process makes use of load increments, appropriate data pre-processing and post-processing, and conventional short-term load forecast. Although the process is illustrated in an embodiment which executes the cycle every 5 minutes and in real time or nearly real time, the process may be executed in any other temporal span and frequency.  
         [0056]     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]).  
         [0057]     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  
         H   ⁡     (   s   )       =     1     1   +     τ   ⁢           ⁢   s             
 
 where τ is designated as 30 minutes. Let P k   h  denote the filtered load data. Then  
         P   k   h     =           1     1   +     τ   /   T         ⁢     P     k   -   1     h       +         τ   /   T       1   +     τ   /   T         ⁢     P   k         =         1   7     ⁢     P     k   -   1     h       +       6   7     ⁢     P   k               
 
 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. 
 
         [0058]     In step  303 , form load increments from filtered load data. Mathematically, Δ=P n   h =P n+1   h −P h .  
         [0059]     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.  
         [0060]     In step  305 , load the standard deviation of the best matching date calculated in off-line neural network training.  
         [0061]     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,  
         q   n     =         Δ   ⁢           ⁢     P   n   h       _     =           Δ   ⁢           ⁢     P   n   h       -   m     σ     .           
 
         [0062]     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  
         [             q   ^     n   on                 q   ^       n   +   1     on             ⋯               q   ^       n   +   M   -   1     on           ]     =         NN   on     ⁡     (       q     n   -   N   +   1       ,     …   ⁢           ⁢     q     n   -   1         ,     ;     Θ   on   *         )       .         
 
 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. 
 
         [0063]     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.  
         [0064]     In step  309 , perform data normalization as done in step  306  with the parameters determined in steps  304  and  305 .  
         [0065]     In step  310 , feed the normalized data into the trained neural network and compute the predicted values for the next hour.  
         [0066]     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.  
         [0067]     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.  
         [0068]     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.  
         [0069]     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.  
         [0070]     The flow chart shown in  FIG. 4  demonstrates the use of on-line load predictions from trained on-line and off-line neural networks to finalize load predictions. The process makes a combination of the prediction results obtained with both the off-line and on-line training based prediction schemes. Although the process is illustrated in an embodiment which executes the cycle every 5 minutes and in real time or nearly real time, the process may be executed in any other temporal span and frequency.  
         [0071]     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.  
         [0072]     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:  
         [             q   ^     n                 q   ^       n   +   1               ⋮               q   ^       n   +   M   -   1             ]     =       Diag   ⁢     {       λ   1     ,     λ   2     ,   …   ⁢           ,     λ   N       }     ⁢       NN   off     ⁡     (       q     n   -   N   +   1       ,     …   ⁢           ⁢     q     n   -   1         ,     ;     Θ   off   *         )         +       (     I   -     Diag   ⁢           ⁢     {       λ   1     ,     λ   2     ,   …   ⁢           ,     λ   N       }         )     ⁢       NN   off     ⁡     (       q     n   -   N   +   1       ,     …   ⁢           ⁢     q     n   -   1         ,     ;     Θ   off   *         )               
        where Diag{λ 1 ,λ 2 , . . . ,λ N } is a diagonal matrix, I a unitary matrix. When the off-line training based prediction scheme is selected, all these λ i &#39;s are 1; when the on-line training based prediction scheme is selected, all these λ i &#39;s are 0; when the manual entry based prediction scheme is selected, all these λ i &#39;s are manually entered values.        
 
         [0074]     In step  403 , if the user selects the automatic combination based prediction scheme, the λ i &#39;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:  
         [0075]     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.  
         [0076]     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 N off   i , and the value in the counter for the on-line training based prediction scheme by N on   i . Then λ i  is given by  
         λ   i     =         N   off   i         N   off   i     +     N   on   i         .         
 
         [0077]     The statistics N off   i  and N on   i  are maintained on a per time segment (six different four-hour time segments per day) basis.  
         [0078]     When N off   i  and N on   i  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.  
         [0079]     Then finalize the prediction results by using the following equation:  
         [             q   ^     n                 q   ^       n   +   1               ⋮               q   ^       n   +   M   -   1             ]     =       Diag   ⁢     {       λ   1     ,     λ   2     ,   …   ⁢           ,     λ   N       }     ⁢       NN   off     ⁡     (       q     n   -   N   +   1       ,     …   ⁢           ⁢     q     n   -   1         ,     ;     Θ   off   *         )         +       (     I   -     Diag   ⁢           ⁢     {       λ   1     ,     λ   2     ,   …   ⁢           ,     λ   N       }         )     ⁢       NN   off     ⁡     (       q     n   -   N   +   1       ,     …   ⁢           ⁢     q     n   -   1         ,     ;     Θ   off   *         )               
 
         [0080]     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.  
         [0081]     In step  405 , denormalize the predicted values for the next two hours by performing the inverse procedure of the normalization operation.  
         [0082]     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.  
         [0083]     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.  
         [0084]     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.