Abstract:
A system and method for predicting failures of machinery such as a gas turbine. The system and method utilizes computer-based system to annotate historical data locate a prior failure event. Data associated with sensor readings prior to the failure event is annotated to note that it is likely associated with a failure and is compared to normal operating condition data. A fast boxes algorithm is used to learn the location of the pre-event data (positive class, minority group) with respect to the normal operation data (negative class, majority group). An evaluation is performed to analyze the discriminatory strength of the pre-event data with respect to the normal data, and if a relatively strong difference is found, the associated pre-event data is stored and used as a “symptom” to monitor the on-going performance of a machine and predict the possibility of an unexpected failure days before it would otherwise occur.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
       [0001]    This application claims the benefit of U.S. Provisional Application Ser. No. 62/048,577, filed Sep. 10, 2014 and herein incorporated by reference. 
     
    
     TECHNICAL FIELD 
       [0002]    The present invention relates to the supervision of gas turbines utilized in power generation networks and a methodology for recognizing pre-fault conditions in a turbine that allow for preventative maintenance operations to be deployed. 
       BACKGROUND 
       [0003]    Efficient use of fossil fuels is crucial in maintaining a stable power network. A particularly efficient means of transforming this type of fuel into electrical energy is the gas turbine. Gas turbine components operate in a very high temperature environment and under a variety of loading conditions. Deterioration of parts due to thermal fatigue and wear is a real concern. Maintenance is performed to detect and control wear, as well as to repair or replace worn parts as needed to continue to ensure efficient operation. 
         [0004]    While various data-driven techniques have been (and continue to be) developed to provide statistical assistance in the scheduling of maintenance events, there is still room for improvement. For example, unexpected forced outages due to gas turbine failures continue to occur. The complete failure of a turbine necessarily results in a shutdown that disrupts the normal operation of electricity generation, and is likely to result in a more costly repair event than a planned maintenance shutdown. 
       SUMMARY OF THE INVENTION 
       [0005]    The needs remaining in the prior art are addressed by the present invention, which relates to the supervision of gas turbines utilized in power generation networks and a methodology for recognizing pre-fault conditions in a turbine that allow for preventative maintenance operations to be deployed and mitigate the possibility of an unexpected forced turbine shutdown. 
         [0006]    In accordance with the present invention, a time series set of data for a particular gas turbine (in the form of sensor readings) is reviewed and annotated to include labels that indicate times/events where a potential failure has occurred. A selected number of “pre-event” sensor readings over a period of time (3-5 days, for example) is assembled and compared against known, steady-state normal operation sensor readings to determine if there are any signatures in the pre-event data that would predict the occurrence of a turbine failure (or any other particular “event” being reviewed). That is, are there any perceptible “symptoms” is the sensor readings in the days leading up to a turbine failure (or any other event). A “fast boxes” algorithm (or another suitable type of machine learning methodology) is used to compare the pre-event data to the “normal operation state” data and ascertain if symptoms can be recognized. Going forward, sensor readings that fall within the boundaries developed in the analysis are used as warnings that a failure may be imminent. 
         [0007]    In a preferred embodiment of the present invention, only a subset of the total number of gas turbine sensors are included in the analysis, preferably those sensors whose readings are highly sensitive to changes in gas turbine performance. Since the collected readings of both “pre-event” and “normal operations” data forms an imbalanced data set (i.e., the data of interest is a very small collection with respect to the rest of the data), the fast boxes algorithm is well-suited for use in studying the data. The pre-event data (positive data class) is first bounded in a relatively small number of clusters, and then evaluated against the larger amount of normal operation data (negative data class) to ascertain the optimum boundary conditions (in this case “boxes”) that delineate the positive data class from the negative data class. Once partitioned into these two categories, a metric is employed to determine if there is a sufficient distinction between the pre-event data and the normal operation data such that the pre-event data may be used as a “symptom” indicator going forward. 
         [0008]    While discussed in terms of a gas turbine “failure” event, the methodology of the present invention is applicable to studying another other type of event that causes unwanted interruption in the performance of the gas turbine, or other major machine component. 
         [0009]    A specific embodiment of the present invention relates to method for predicting failure events of a gas turbine in a power plant comprising the steps of: obtaining a set of historical time series data associated with a recognized failure event of a gas turbine being studied, the historical data comprising a set of sensor readings collected for a time period prior to the recognized event, defined as a pre-event time period; selecting a subset of sensors to be analyzed and defining a set of pre-event data as the sensor readings from the selected subset of sensors collected during the pre-event time period; comparing the pre-event data to a set of normal operation data; ascertaining a level of discrimination between the pre-event data and the normal operation data, and if the level of discrimination is above a given threshold and identifying the pre-event data as a symptom pattern for use in predicting a future failure of the gas turbine being studied. 
         [0010]    In another embodiment of the invention, a non-transitory computer-usable medium has computer readable instructions stored thereon for execution by a processor to perform a method as described above. 
         [0011]    Other and further aspects and features of the present invention will be apparent during the course of the following discussion and by reference to the accompanying drawings. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0012]    Referring now to the drawings, 
           [0013]      FIG. 1  is a simplified diagram of an exemplary gas turbine power plant, indicating the inclusion of sensors used to measure the performance of the turbine, and also illustrating an exemplary performance predictor component formed in accordance with the present invention; 
           [0014]      FIG. 2  is a flowchart of the supervised learning approach for predicting gas turbine failure in accordance with the present invention; 
           [0015]      FIG. 3  is a state space diagram illustrating the step of clustering the pre-event data, as performed by the fast boxes algorithm in accordance with the present invention; 
           [0016]      FIG. 4  is a state space diagram including the normal operation data with the clustered pre-event data as located in the diagram of  FIG. 3 ; 
           [0017]      FIG. 5  is a flowchart illustrating the inclusion of a challenge process to the fast boxes algorithm used in data location learning; and 
           [0018]      FIG. 6  contains a pair of plots of the receiver operating characteristic curves (ROC) of evaluation results associated with the challenge process. 
       
    
    
     DETAILED DESCRIPTION 
       [0019]      FIG. 1  is a simplified depiction of a typical gas turbine power plant  1  with a generator  2  supplying a plant electric load  3 . Generator  2  is driven by a shaft  4  powered by a gas turbine engine  5 . Gas turbine engine  5  is itself comprised of a large number of separate components, including a compressor  5 . 1 , a combustion section  5 . 2 , a turbine  5 . 3 , and, perhaps, an set of adjustable inlet vanes  5 . 4 . Fuel is supplied to combustion section  5 . 2  via a valve  6 . In order to maintain acceptable operation of gas turbine power plant  1 , a number of sensors  7  are used to monitor the operation of the various components, passing the measured sensor readings to a separate control module  8 . Control module  8  may be co-located with gas turbine power plant  1 , or may be off-site from the turbine itself. In the diagram of  FIG. 1 , sensors  7  include a combustor inlet air sensor  7 . 1 , a combustion temperature sensor  7 . 2 , and a blade path temperature sensor  7 . 3 . It is to be understood that there are many more sensors used to monitor the performance of a gas turbine, measuring conditions such as temperature, pressure, rotation, vibration, etc. Indeed, it is possible that close to 200 different sensors may be utilized with a given gas turbine power plant. 
         [0020]    Control module  8  receives inputs from sensors  7 , and transmits control signals to valves, motors, and actuators as known in the art. The controller may include one or more processors, in one or more locations with associated hardware and software as known in the art. 
         [0021]    As mentioned above, one of the challenges remaining in the problem of predicting gas turbine failure is the lack of annotated data. That is, by reviewing the data collected from various sensors and stored within control module  8 , one cannot tell if a machine is operating normally or not (even though the machine is up and functioning in some fashion). In other words, a fault may have occurred in the machine&#39;s operation, but it may take some time for that fault to present itself as some sort of “failure” in the machine&#39;s performance. 
         [0022]    In accordance with the present invention, the capabilities of control module  8  are extended to address this problem by including a performance predictor system  10  that may be utilized, as discussed in detail below, to analyze the collected sensor readings and look for any tell-tale changes in sensor readings that may reasonably predict that a certain event (such as a turbine failure) is likely to occur within the next few days. As will be discussed in detail below, performance predictor system  10  includes a database  12  of all historical sensor readings (which may go back a number of years); indeed, this database may form part of a conventional control module  8 . Performance predictor system  10  includes a processor component  14  with a memory  16  and processor  18 , these elements being used to perform the actual evaluation of the sensor readings data and determine if a future failure event can be predicted by historical, pre-event data. The output from performance component  14 , which takes the form of a specific set of “pre-event” data that fulfills this criteria thereafter be used to recognize fault conditions prior to turbine failure, is then stored in a symptom signatures database  20  for on-going use by power plant personnel. The specific architecture of performance predictor system  10  as shown in  FIG. 1  is considered to be exemplary only, various other configurations of hardware and software components may be configured to perform the method of the present invention as described in detail below. 
         [0023]    The methodology of the present invention begins by studying historical data associated with a specific gas turbine (or other machinery) being studied. The data (in the form of sensor readings) is studied to determine possible times where a “failure” (or some other type of critical event) occurred. The sensor data for a given period of time prior to a recognized event is then annotated to indicate this “pre-event” condition. A separate set of data is annotated as “normal operation” data, where this data is selected from a period of time well beyond the recognized event, where it can safely be presumed that the gas turbine is functioning in a normal manner. 
         [0024]    A suitable machine learning algorithm (such as “fast boxes”) is then used to learn the location of the pre-event data with respect to the location of the normal operation (post-event) data, creating boundaries around clustered locations of the pre-event data. If any quantifiable boundaries can be used to discriminate the pre-event data from the post-event in an acceptable manner (so as to then identify the pre-event data as a “symptom”), then this pre-event data pattern can be used going forward as an indicator of potential trouble with the machine. Indeed, the process of the present invention as performed by the performance predictor system can be used to monitor the health of the gas turbine&#39;s performance and better predict a major event (such as a turbine failure) before it occurs. 
         [0025]    The inventive process begins, as shown in the flowchart of  FIG. 2 , by first annotating a given set of time series data (sensor readings) associated with a machine under study (step  100 ). The data is a set of historical data for the specific machine, and may go back in time several years. It is presumed that a forced shutdown (or other event being studied) has occurred in the past and an initial study of the historical data will easily recognize such an event. Based on that knowledge, the data covering a time span of a few days prior to the recognized event is annotated to flag this data as potentially indicating that a problem has occurred. Once annotated, the raw data is cleaned to remove obvious outliers (step  110 ), as well as any artifacts that would interfere with the type of analysis being performed. Artifacts include data recorded immediately prior to an event. For example, if there is a dramatic decline in the main sensor (MW) reading (heading to 0), this is a clear indicator that the machine is failing, but is not the type of subtle data of the “pre-failure” type that is of interest for the purposes of the present invention. Indeed, it is desired to learn a data pattern before such a dramatic decline in MW power begins in order to improve the machine&#39;s performance. These “symptoms” that may show up in data irregularities are more implicit in nature and, therefore, more challenging to discern. 
         [0026]    Next, a suitable set of sensors is selected for the analysis process (step  120 ), where the selected set is a subset of the complete suite of sensors being used to monitor the performance of the machine being studied. As mentioned above, a given turbine may have a set of over 150 different sensors that are used to monitor various aspects of its performance (measuring, for example, generated output power, temperatures at various locations, pressures, vibration, rotation, etc.). Some of these sensors provide data with strong discriminating power, while the data from other sensors is more subtle. To select the best sensors for the purposes of the present invention, it is desirable to choose those sensors whose data most strongly show changes in value between pre-event and post-event data associated with the recognized event under study (e.g., turbine failure). 
         [0027]    One tool that may be used in the sensor selection process is the evaluation of the “area under receiver operating characteristic curve” (AUROC) plots of the readings from each of the sensors. AUROC can be defined as the probability that a classifier will assign a higher score to a randomly-chosen positive example than to a randomly-chosen negative example. Said another way, an ROC plot is a graph of the relation between the true-positive rate (sensitivity) and the false-positive rate (1-sensitivity). The “area under” an ROC of 0.50 means that the odds of guessing right are the same as guessing wrong. The closer the guess matches the ROC, the more the area approaches unity (indicative of a perfect matching between the classification and the actual data). For present purposes, the pre-event data is defined as the positive example, and the post-event (normal operating condition) data is defined as the negative example. Thus, a value for AUROC can be calculated for each sensor by comparing its pre-event data to its post-event data, with the higher the value of AUROC (the limit being, obviously, 1.0), the more discriminating the sensor&#39;s performance. A set of sensors with an AUROC greater than a predetermined value (e.g., 0.6) may be designated as suitable for the pre-event data learning methodology of the present invention. 
         [0028]    The historical, pre-event sensor readings for the selected set of sensors is then assembled (step  130  in the flowchart of  FIG. 2 ) for a period of a few days prior to the recognized event (for example, the data associated with a 3-day time span prior to the event). This first set of data, the pre-event data, is also referred to as the “positive class” data, since it is the data of interest for the predictive purposes of the present invention. A second set of data is also assembled, in this case associated with normal operating conditions and collected for an extended period of time well after the recognized event when the gas turbine was known to be functioning normally. This second set of data (post-event data) is also referred to as the “negative class” data. 
         [0029]    As with many other real-world classification problems, the data associated with the positive class (the pre-event data) are far fewer than the remaining data (the post-event class, or “negative class” data). This type of imbalanced data is best analyzed using a method such as the “fast boxes” algorithm described below as opposed to more conventional algorithms that dwell on the larger class of “normal” data. 
         [0030]    The fast boxes algorithm (shown as step  140  in  FIG. 2 ) uses the approach of “characterize, then discriminate” in analyzing a given set of data. In accordance with the purposes of the present invention, this approach takes the form of first characterizing the pre-event data, and then studying how this data can be discriminated from the “normal”, post-event data (including an initial determination of whether or not such a discrimination is even possible). It follows that if it is possible to discriminate the pre-event data from normal sensor readings, then this pre-event information can be used going forward to aid in the recognition of “symptoms” well before a gas turbine failure (or other major event) occurs. 
         [0031]    As particularly illustrated in the flowchart of  FIG. 2 , the first step  142  in the fast boxes approach is to cluster the pre-event data into a given set of K clusters (where K is an adjustable parameter). The decision boundaries for these clusters are initially set as tight boxes of parallel sides around each of the clusters.  FIG. 3  illustrates the results of this initially clustering step, illustrating the pre-event data in the form of “crosses” in a plot (i.e., times series data of the selected sensor readings, normalized to fall within a particular range) and the tight rectangular boxes forming the perimeter around each cluster. In this case, five separate clusters of data are created. 
         [0032]    Following the creation of the clusters, the post-event (negative class data) is introduced into the analysis, as shown in  FIG. 4 . The complete space in the diagram is then reviewed (step  144 ), with negative class data points closest to the above-defined box boundaries identified and given an additional weighting factor c used in the next step of the learning process, since these negative data points have a greater influence on the placement of the boundaries of each of the five cluster boxes. This step is performed in parallel on each of the boxes, thus minimizing the overall computation time. 
         [0033]    Once the negative data point weighting is completed, the final step in the fast boxes algorithm (step  146 ) is performed. This step is known as the “boundary expansion” step, where a one-dimensional classifier is identified for each boundary (both vertical and horizontal) of each box and a set of numerical computations is performed to best define the boundaries, using c as the weight for the specific negative data points and β as a regularization parameter that tends to expand the box. The detailed mathematics associated with this boundary expansion process, as well as the fast boxes algorithm in general, may be found in the reference entitled “ Boxed Drawings with Learning for Imbalanced Data ” by S. Goh et al. and appearing in the Proceedings of the 20 th  ACM SIGKDD Conference on Knowledge Discovery and Data Mining (KDD), 2014, which is hereby incorporated by reference in its entirety. A description of the boundary expansion process is also included herein as an Appendix. 
         [0034]    The final boundaries defined as the output of the fast boxes algorithm are thus considered as the boundaries between “normal” operating condition data (the post-event, negative class data), and data that may indicate the beginnings of a gas turbine failure (or whatever event is being studied). That is, the fast boxes algorithm has learned the boundaries of the pre-event data. In order to successfully use this information to predict potential failure events going forward, the next step in the process (shown as step  150  in the flowchart of  FIG. 2 ) is to analyze the results of the fast boxes algorithm to determine if there is a sufficient level of discrimination between the pre-event data and the post-event data. 
         [0035]    It is to be understood that the fast boxes algorithm-based data location learning process as described above is applied separately to the data associated with each selected sensor. That is, the algorithm is applied to numerous sets of data, once for each sensor. AS a result, it is possible that only a few of the selected sensors actually produce results that sufficiently discriminate its pre-event data from its post-event data. 
         [0036]    In imbalanced data learning, conventional metrics such as “accuracy” cannot be used to make this determination, since these conventional metrics are focused on determining the fit to “majority class” (here, the negative class) data. In contrast, the purpose of the machine learning in accordance with the present invention is to recognize attributes of the pre-event (minority class) data, which may be ignored in classical metrics). Thus, one of the alternative measures of how well the pre-event data can be discriminated from the post-event data utilizes the “area under convex hull of the ROC curve”, or AUH. To compute the AUH, the classifiers for various values of the weight parameter c are computed, since c is known to control the relative importance of positive and negative classes. Each setting of c corresponds to a single point on the ROC curve, with a count of true and false positives. The AUH formed by the points on the ROC curve is computed, and then normalized by dividing the result by the product of the positive examples with the negative examples. Thus, the best possible result is an AUH of 1.0. 
         [0037]    For the purposes of the present invention, an AUH value of at least 0.5 is desired, where the higher the value, the greater the indication that the pattern in the pre-event data can be learned and the differences between the two classes identified. The ability to learn the differences between these two classes of data thus allows for the power plant operator to recognize symptoms of probable gas turbine failure and plan scheduled maintenance accordingly. 
       Experimental Test Results 
       [0038]    In order to evaluate the ability of the inventive methodology to recognize data patterns and predict gas turbine failure events, a set of data from a known gas turbine was studied. Historical data from the time period of 2009 through 2013 was available for study. 
         [0039]    For the purpose of evaluating a “failure” event, the main indicator was presumed to be the MW (megawatt) sensor. Obviously, if this sensor has a reading of “zero” (0), it indicates that the machine is not operating and a failure has occurred. For the purposes of the present invention, a threshold of 20% was selected to be associated with this sensor data, meaning that any MW readings that are less than 20% of nominal value were removed as “outliers”. 
         [0040]    In terms of artifacts, data within 15 days after an event were also removed (since the re-start of a machine is believed to create unstable sensor readings for an extended period of time). Some overlapping events were also found in the raw data (that is, some events were recorded by more than one sensor). The data was “cleaned” to remove the duplicate information. For the set of data being studied, a list of recognized events available for analysis was identified, as contained in the following table: 
         [0000]    
       
         
               
               
               
               
               
             
           
               
                 TABLE I 
               
               
                   
               
               
                 Event ID 
                 Event Type 
                 Event Status 
                 Event Start 
                 Event Stop 
               
               
                   
               
             
             
               
                 A 
                 Other 
                 Executed 
                 22 Apr 09 
                 2 May 09 
               
               
                 B 
                 Minor 
                 Validated 
                 30 Jul 09 
                 5 Aug 09 
               
               
                 C 
                 Minor 
                 Confirmed 
                 13 Mar 10 
                 17 Mar 10 
               
               
                 D 
                 Major 
                 Confirmed 
                 19 Mar 11 
                 6 May 11 
               
               
                 E 
                 Other 
                 Confirmed 
                 14 Nov 12 
                 28 Nov 12 
               
               
                 F 
                 Other 
                 Confirmed 
                 30 Oct 13 
                 31 Dec 13 
               
               
                   
               
             
          
         
       
     
         [0041]    Using the AUROC procedures discussed above in association with step  120  (see  FIG. 2 ), a set of 71 sensors was selected to be used for creating the pre-event data. The following list identifies the 20 sensors (out of the selected  71 ) with the highest AUROC values: 
         [0000]    
       
         
               
               
               
             
               
               
               
             
           
               
                 TABLE II 
               
               
                   
               
               
                   
                   
                 AUROC 
               
               
                 Rank 
                 Sensor ID 
                 value 
               
               
                   
               
             
             
               
                   
               
             
          
           
               
                 1 
                 a 
                 0.712536 
               
               
                 2 
                 b 
                 0.645732 
               
               
                 3 
                 c 
                 0.637737 
               
               
                 4 
                 d 
                 0.636884 
               
               
                 5 
                 e 
                 0.633068 
               
               
                 6 
                 f 
                 0.625489 
               
               
                 7 
                 g 
                 0.623236 
               
               
                 8 
                 h 
                 0.622943 
               
               
                 9 
                 i 
                 0.621252 
               
               
                 10 
                 j 
                 0.620957 
               
               
                 11 
                 k 
                 0.619897 
               
               
                 12 
                 l 
                 0.618143 
               
               
                 13 
                 m 
                 0.612938 
               
               
                 14 
                 n 
                 0.068654 
               
               
                 15 
                 o 
                 0.608575 
               
               
                 16 
                 p 
                 0.600587 
               
               
                 17 
                 q 
                 0.605850 
               
               
                 18 
                 r 
                 0.604829 
               
               
                 19 
                 s 
                 0.602738 
               
               
                 20 
                 t 
                 0.602596 
               
               
                   
               
             
          
         
       
     
         [0042]    With this set determined, the data for three days prior to a selected event date was assembled defined as the “minority class”, or pre-event, data. The “majority class” data (that is, the sensor readings associated with normal turbine operating conditions) was then defined. As discussed above, the sensor readings from a period of time immediately following a turbine re-start may be unstable, so that data is considered as artifact and not used in the “majority class”. For example, the sensor readings for a period of 15 days after the event date may be ignored. The data from days 20-25 after the event data is defined as the “majority class” data. 
         [0043]    The fast boxes algorithm was then applied to learn the location of the pre-event data with respect to the post-event data, so that a decision can be made to see if going forward it is possible to discriminate this pre-event data from the normal data and thus predict a potential gas turbine failure event. The fast boxes algorithm begins, as described above in association with step  142  in the flowchart of  FIG. 2 , by clustering the pre-event data (using a processor such as element  18  shown in  FIG. 1 ), creating a set of K clusters of this minority class data. 
         [0044]    The number of clusters (K) to be used in the fast boxes algorithm was chosen in this particular case to range between the values of 1 and 4. The expansion parameter p was also chosen to be in this same value range, and the weight c for negative data was selected to range between 0.1 and 1.0. The algorithm was applied to the data using ten different parameter sets (K,β,c), and the steps as outlined in steps  144  and  146  were performed to generate results for both a “3-day before-event” study and a “5-day before-event” study. For the purposes of the present invention, the results analysis performed using the AUH measure was then performed to see if there were any event indicators present in the minority class data, that is, whether or not any of the pre-event data could be discriminated from the normal operating data. Additionally, in order to study the accuracy of the inventive process, the two events identified as “a” and “f” were randomly selected as the test data, and the four remaining events listed in Table I were used as the training data. 
         [0045]    The AUH values for each of the ten sets of initial conditions is shown below: 
       Three-Day Pre-Event Results: 
       [0046]      
         [0000]    
       
         
               
               
               
             
           
               
                   
                   
               
               
                   
                 TRAINING 
                 TEST 
               
               
                   
                   
               
             
             
               
                   
                 0.9477 
                 0.9189 
               
               
                   
                 0.9477 
                 0.8905 
               
               
                   
                 0.8537 
                 1.0000 
               
               
                   
                 0.9477 
                 0.9189 
               
               
                   
                 0.9477 
                 0.9155 
               
               
                   
                 0.9477 
                 0.9192 
               
               
                   
                 0.9477 
                 0.9165 
               
               
                   
                 0.9477 
                 0.8872 
               
               
                   
                 0.9477 
                 0.9188 
               
               
                   
                 0.9477 
                 0.9155 
               
               
                   
                   
               
             
          
         
       
     
         [0047]    Training mean: 0.9389 (standard deviation 0.0297) 
         [0048]    Testing mean: 0.9201 (standard deviation 0.0306) 
       Five Day Pre-Event Results: 
       [0049]      
         [0000]    
       
         
               
               
               
             
           
               
                   
                   
               
               
                   
                 TRAINING 
                 TEST 
               
               
                   
                   
               
             
             
               
                   
                 0.8908 
                 0.6522 
               
               
                   
                 0.8986 
                 0.6964 
               
               
                   
                 0.8907 
                 0.6522 
               
               
                   
                 0.8986 
                 0.6964 
               
               
                   
                 0.8986 
                 0.6964 
               
               
                   
                 0.8986 
                 0.6964 
               
               
                   
                 0.8985 
                 0.6964 
               
               
                   
                 0.8985 
                 0.6964 
               
               
                   
                 0.8986 
                 0.6964 
               
               
                   
                 0.8194 
                 0.8037 
               
               
                   
                   
               
             
          
         
       
     
         [0050]    Training mean: 0.8861 (standard deviation 0.0247) 
         [0051]    Testing mean: 0.6981 (standard deviation of 0.0414) 
         [0052]    These results, in terms of generating an AUH value greater than 0.5 thus show that the steps of annotating data and using a fast boxes algorithm to analyze the data allows for a machine learning methodology to be utilized to predict, with confidence, those “symptoms” of gas turbine faults that may lead to an ultimate failure of the machine. Inasmuch as the methodology of the present invention is applied to each separate gas turbine on an individual basis, using that machine&#39;s own history of sensor readings, the inventive methodology advantageously learns the most appropriate pre-event data that affects the performance of that machine. Referring back again to the system diagram of  FIG. 1 , any specific pre-event data pattern that is considered as a viable symptom of imminent failure is stored in symptom signature database  20 , for use by the power plant personnel in their monitoring of that machine. 
         [0053]    For the purposes of validating these fast boxes prediction results, a traditional method for classification of the data may be formed as a “challenger”. This is shown in the flowchart of  FIG. 5 , where a challenger process  200  is used in parallel with the fast boxes algorithm to review and compare the pre-event and post-event data. In this case, the before-event data and after-event data are pulled from the clean set for analysis. In particular, a principal component analysis (PCA) is performed in step  210  and used to extract features from the raw sensor data. In the exemplary process, the first nine (9) principal components were selected for use in the following logistic regression process (step  220 ). A goodness-of-fit test and individual coefficients were used in the compare results process of step  300  to evaluate the challenger model against the fast boxes results. 
         [0054]    In comparing the two approaches, the results from logistic regression show that this prior art technique is no better than the fast boxes approach. Indeed, the logistic regression is worse than fast boxes in discriminating pre-event in-testing data. The charts shown in  FIGS. 6( a ) and ( b )  show the ROC curves associated with the challenger approach, for the set of training events and testing events, respectively. As shown, the training events used in the creation of  FIG. 6( a )  exhibit an AUROC value of about 0.79783. The AUROC value for the testing data is shown to be about 0.64900. In comparison, the AUROC values obtained using the fast boxes approach were in the range of 0.8861 to 0.9389 for the training data, and in the range of 0.6981 to 0.9201. Clearly, the fast boxes approach of the present invention yields a better predictor result. 
         [0055]    The above-described method may be implemented by program modules that are executed by a computer, as described above. Generally, program modules include routines, objects, components, data structures and the like that perform particular tasks or implement particular abstract data types. The term “program” as used herein may connote a single program module or multiple program modules acting in concert. The disclosure may be implemented on a variety of types of computers, including personal computers (PCs), hand-held devices, multi-processor systems, microprocessor-based programmable consumer electronics, network PCs, mini-computers, mainframe computers and the like. The disclosure may also be employed in distributed computing environments, where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, modules may be located in both local and remote memory storage devices. 
         [0056]    An exemplary processing module for implementing the methodology above may be hardwired or stored in a separate memory that is read into a main memory of a processor or a plurality of processors from a computer readable medium such as a ROM or other type of hard magnetic drive, optical storage, tape or flash memory. In the case of a program stored in a memory media, execution of sequences of instructions in the module causes the processor to perform the process steps described herein. The embodiments of the present disclosure are not limited to any specific combination of hardware and software and the computer program code required to implement the foregoing can be developed by a person of ordinary skill in the art. 
         [0057]    The term “computer-readable medium” as employed herein refers to any tangible machine-encoded medium that provides or participates in providing instructions to one or more processors. For example, a computer-readable medium may be one or more optical or magnetic memory disks, flash drives and cards, a read-only memory or a random access memory such as a DRAM, which typically constitutes the main memory. Such media excludes propagated signals, which are not tangible. Cached information is considered to be stored on a computer-readable medium. Common expedients of computer-readable media are well-known in the art and need not be described in detail here. 
         [0058]    The foregoing detailed description is to be understood as being in every respect illustrative and exemplary, but not restrictive, and the scope of the disclosure herein is not to be determined from the description, but rather from the claims as interpreted according to the full breadth permitted by the patent laws. It is to be understood that various modifications will be implemented by those skilled in the art, without departing from the scope and spirit of the disclosure. 
       Appendix: Boundary Expansion in Fast Boxes Algorithm 
       [0059]    Input: Number of boxes (clusters) K, tradeoffs c and β, and Dataset {x i , y i } i  
 
Output: Boundaries of boxes (defining limits of pre-event data), I f,j,k  and u f,j,k , where “l” denotes lower boundary and “u” denotes upper boundary, the subscript “f” denotes final boundary, the subscript “j” denotes the j th  dimension, and the subscript “k” denotes the k th  box
 
1. Normalize sensor reading data to be between −1 and +1.
 
2. Cluster the minority (pre-event) data into K clusters.
 
3. Construct the minimal enclosing box for each cluster by computing starting boundaries l s,j,k  and u s,j,k  (the subscript “s” denoting the starting boundary).
 
4. Construct data for local classifiers X I,j,k  and X u,j,k  based on the following:
 
         [0000]    
       
         
           
             
               X 
               
                 l 
                 , 
                 j 
                 , 
                 k 
               
             
             := 
             
               
                 { 
                 
                   
                     x 
                      
                     
                       : 
                     
                      
                     
                         
                     
                      
                     
                       x 
                       j 
                     
                   
                   ≤ 
                   
                     l 
                     
                       s 
                       , 
                       j 
                       , 
                       k 
                     
                   
                 
                 } 
               
               ⋃ 
               
                 { 
                 
                   
                     
                       x 
                        
                       
                         : 
                       
                        
                       
                           
                       
                        
                       
                         l 
                         
                           s 
                           , 
                           j 
                           , 
                           k 
                         
                       
                     
                     ≤ 
                     
                       x 
                       j 
                     
                     ≤ 
                     
                       
                         
                           l 
                           
                             s 
                             , 
                             j 
                             , 
                             k 
                           
                         
                         + 
                         
                           u 
                           
                             s 
                             , 
                             j 
                             , 
                             k 
                           
                         
                       
                       2 
                     
                   
                   , 
                   
                     
                       l 
                       
                         s 
                         , 
                         p 
                         , 
                         k 
                       
                     
                     ≤ 
                     
                       x 
                       p 
                     
                     ≤ 
                     
                       u 
                       
                         s 
                         , 
                         p 
                         , 
                         k 
                       
                     
                   
                   , 
                   
                     p 
                     ≠ 
                     j 
                   
                 
                 } 
               
             
           
         
       
       
         
           
             
               
                 X 
                 
                   u 
                   , 
                   j 
                   , 
                   k 
                 
               
               := 
               
                 
                   { 
                   
                     
                       x 
                        
                       
                         : 
                       
                        
                       
                           
                       
                        
                       
                         x 
                         j 
                       
                     
                     ≥ 
                     
                       u 
                       
                         s 
                         , 
                         j 
                         , 
                         k 
                       
                     
                   
                   } 
                 
                 ⋃ 
                 
                   { 
                   
                     
                       
                         x 
                          
                         
                           : 
                         
                          
                         
                             
                         
                          
                         
                           
                             
                               l 
                               
                                 s 
                                 , 
                                 j 
                                 , 
                                 k 
                               
                             
                             + 
                             
                               u 
                               
                                 s 
                                 , 
                                 j 
                                 , 
                                 k 
                               
                             
                           
                           2 
                         
                       
                       ≤ 
                       
                         x 
                         j 
                       
                       ≤ 
                       
                           
                       
                        
                       
                         u 
                         
                           s 
                           , 
                           j 
                           , 
                           k 
                         
                       
                     
                     , 
                     
                       
                         l 
                         
                           s 
                           , 
                           p 
                           , 
                           k 
                         
                       
                       ≤ 
                       
                         x 
                         p 
                       
                       ≤ 
                       
                         u 
                         
                           s 
                           , 
                           p 
                           , 
                           k 
                         
                       
                     
                     , 
                     
                       p 
                       ≠ 
                       j 
                     
                   
                   } 
                 
               
             
             , 
           
         
       
     
         [0000]    where p denotes additional dimensions (other than j)
 
5. Compute the “regularized” exponential losses for the classifiers of step 4, denoted as R +   l,j,k , R −   l,j,k , R +   u,j,k , R −   u,j,k  and defined as follows:
 
         [0000]    
       
         
           
             
               R 
               + 
               
                 l 
                 , 
                 j 
                 , 
                 k 
               
             
             := 
             
               
                 ∑ 
                 
                   x 
                   ∈ 
                   
                     
                       S 
                       + 
                       k 
                     
                     ⋂ 
                     
                       X 
                       
                         l 
                         . 
                         j 
                         . 
                         k 
                       
                     
                   
                 
               
                
               
                   
               
                
               
                 exp 
                  
                 
                   [ 
                   
                     - 
                     
                       ( 
                       
                         
                           x 
                           j 
                         
                         - 
                         
                           l 
                           
                             s 
                             , 
                             j 
                             , 
                             k 
                           
                         
                         + 
                         1 
                       
                       ) 
                     
                   
                   ] 
                 
               
             
           
         
       
       
         
           
             
               R 
               - 
               
                 l 
                 , 
                 j 
                 , 
                 k 
               
             
             := 
             
               
                 ∑ 
                 
                   x 
                   ∈ 
                   
                     
                       S 
                       - 
                       k 
                     
                     ⋂ 
                     
                       X 
                       
                         l 
                         , 
                         j 
                         , 
                         k 
                       
                     
                   
                 
               
                
               
                   
               
                
               
                 exp 
                 [ 
                 
                   
                     x 
                     j 
                   
                   - 
                   
                     l 
                     
                       s 
                       , 
                       j 
                       , 
                       k 
                     
                   
                   + 
                   1 
                   + 
                   
                     
                       ∑ 
                       
                         p 
                         ≠ 
                         j 
                       
                     
                      
                     
                         
                     
                      
                     
                       ( 
                       
                         
                           
                             ⌊ 
                             
                               
                                 x 
                                 p 
                               
                               - 
                               
                                 u 
                                 
                                   s 
                                   , 
                                   p 
                                   , 
                                   k 
                                 
                               
                             
                             ⌋ 
                           
                           + 
                         
                         + 
                         
                           
                             ⌊ 
                             
                               
                                 l 
                                 
                                   s 
                                   , 
                                   p 
                                   , 
                                   k 
                                 
                               
                               - 
                               
                                 x 
                                 p 
                               
                             
                             ⌋ 
                           
                           + 
                         
                       
                       ) 
                     
                   
                 
                 ] 
               
             
           
         
       
       
         
           
             
               R 
               + 
               
                 uj 
                 , 
                 k 
               
             
             := 
             
               
                 ∑ 
                 
                   x 
                   ∈ 
                   
                     
                       S 
                       + 
                       k 
                     
                     ⋂ 
                     
                       X 
                       
                         u 
                         , 
                         j 
                         , 
                         k 
                       
                     
                   
                 
               
                
               
                   
               
                
               
                 exp 
                  
                 
                   [ 
                   
                     - 
                     
                       ( 
                       
                         
                           u 
                           
                             s 
                             , 
                             j 
                             , 
                             k 
                           
                         
                         - 
                         
                           x 
                           j 
                         
                         + 
                         1 
                       
                       ) 
                     
                   
                   ] 
                 
               
             
           
         
       
       
         
           
             
               
                 R 
                 - 
                 
                   u 
                   , 
                   j 
                   , 
                   k 
                 
               
               := 
               
                 
                   ∑ 
                   
                     x 
                     ∈ 
                     
                       
                         S 
                         - 
                         k 
                       
                       ⋂ 
                       
                         X 
                         
                           u 
                           . 
                           j 
                           . 
                           k 
                         
                       
                     
                   
                 
                  
                 
                     
                 
                  
                 
                   exp 
                   [ 
                   
                     
                       u 
                       
                         s 
                         , 
                         j 
                         , 
                         k 
                       
                     
                     - 
                     
                       x 
                       j 
                     
                     + 
                     1 
                     + 
                     
                       
                         ∑ 
                         
                           p 
                           ≠ 
                           j 
                         
                       
                        
                       
                           
                       
                        
                       
                         ( 
                         
                           
                             
                               ⌊ 
                               
                                 
                                   x 
                                   p 
                                 
                                 - 
                                 
                                   u 
                                   
                                     s 
                                     , 
                                     p 
                                     , 
                                     k 
                                   
                                 
                               
                               ⌋ 
                             
                             + 
                           
                           + 
                           
                             
                               ⌊ 
                               
                                 
                                   l 
                                   
                                     s 
                                     , 
                                     p 
                                     , 
                                     k 
                                   
                                 
                                 - 
                                 
                                   x 
                                   p 
                                 
                               
                               ⌋ 
                             
                             + 
                           
                         
                         ) 
                       
                     
                   
                   ] 
                 
               
             
             , 
           
         
       
     
         [0000]    where the subscript “+” denotes pre-event data points within the cluster, and the subscript “−” denotes all data points outside of the cluster, S +   k  is the set of pre-event data points within the k th  cluster, and S −   k  is the set of all data points outside of the k th  cluster
 
6. Compute l r,j,k  and u r,j,k  based on the following:
 
         [0000]    
       
         
           
             
               l 
               
                 r 
                 , 
                 j 
                 , 
                 k 
               
             
             = 
             
               
                 l 
                 
                   s 
                   , 
                   j 
                   , 
                   k 
                 
               
               - 
               1 
               + 
               
                 log 
                  
                 
                   ( 
                   
                     
                       
                         - 
                         β 
                       
                       + 
                       
                         
                           
                             β 
                             2 
                           
                           + 
                           
                             4 
                              
                             
                                 
                             
                              
                             
                               cR 
                               + 
                               
                                 l 
                                 , 
                                 j 
                                 , 
                                 k 
                               
                             
                              
                             
                               R 
                               - 
                               
                                 l 
                                 , 
                                 j 
                                 , 
                                 k 
                               
                             
                           
                         
                       
                     
                     
                       2 
                        
                       
                           
                       
                        
                       
                         R 
                         + 
                         
                           l 
                           . 
                           j 
                           . 
                           k 
                         
                       
                     
                   
                   ) 
                 
               
             
           
         
       
       
         
           
             
               u 
               
                 r 
                 , 
                 j 
                 , 
                 k 
               
             
             = 
             
               
                 ul 
                 
                   s 
                   , 
                   j 
                   , 
                   k 
                 
               
               + 
               1 
               + 
               
                 log 
                  
                 
                   ( 
                   
                     
                       β 
                       + 
                       
                         
                           
                             β 
                             2 
                           
                           + 
                           
                             4 
                              
                             
                                 
                             
                              
                             
                               cR 
                               + 
                               
                                 u 
                                 , 
                                 j 
                                 , 
                                 k 
                               
                             
                              
                             
                               R 
                               - 
                               
                                 u 
                                 , 
                                 j 
                                 , 
                                 k 
                               
                             
                           
                         
                       
                     
                     
                       2 
                        
                       
                           
                       
                        
                       
                         R 
                         + 
                         
                           u 
                           . 
                           j 
                           . 
                           k 
                         
                       
                     
                   
                   ) 
                 
               
             
           
         
       
     
         [0000]    7. Perform boundary expansion based on: 
         [0000]        l   f,j,k   :=sup{x   j   |xεS   −   ,x   j &lt;min( l   r,j,k   ,l   s,j,k )}+ε,∀ j,k  
 
         [0000]        u   f,j,k   :=inf{x   j   |xεS   −   ,x   j &gt;max( u   r,j,k   ,u   s,j,k )}−ε,∀ j,k  
 
         [0060]    where the subscript “f” denotes the final boundary, and ε is a small number. 
         [0000]    8. Un-normalize by rescaling sensor reading data back into meaningful value range.