Abstract:
A method of evaluating a water sample for the presence or possible future presence of nitrification comprises obtaining data values of a number of parameters, processing the data values to determine correlation coefficients, to identify any linear dependencies, to standardize the scales, evaluating the data values over a plurality of proliferation time periods and neuron numbers, calculating MSEs and R 2 &#39;s from the evaluations, and estimating a valid likelihood of nitrification of the water sample. A method of evaluating a water sample for the presence or possible future presence of nitrification, comprises obtaining data values of a number of parameters, statistically pre-processing the data values and supplying the pre-processed data values to a neural network. Apparatus, media and processors which are used in performing such methods.

Description:
CROSS-REFERENCE TO RELATED APPLICATION 
       [0001]    This application claims the benefit of U.S. Provisional Patent Application No. 60/783,923, filed Mar. 20, 2006, the entirety of which is incorporated herein by reference. 
     
    
     FIELD OF THE INVENTION 
       [0002]    This invention relates to the industry of water quality control and more specifically to an apparatus and method for detecting and predicting general water quality events in water supplies. This invention, as an apparatus and method for predicting these water quality events, will allow for preventative measures to be taken before such water quality events threaten the safety of the water supply. 
       BACKGROUND OF THE INVENTION 
       [0003]    Preventative management of water supplies is not only useful in keeping society safe and prosperous but also critical in avoiding the cost of potentially expensive reactive measures that may be necessary to resolve contamination. There is a wide variety of potential sources for contamination of such water supplies, including naturally-occurring phenomena as well as human-induced events. History demonstrates the pervasiveness of such threats and the future beckons for an accurate and reliable apparatus and method for detecting and predicting whether such water supplies are and will be contaminated. 
         [0004]    Water quality events which may contaminate the water supply include a variety of chemical and biological processes and agents. Examples of such water quality events include nitrification, algae bloom, and deliberately sabotaging a water supply with bacteria like  Escherichia coli . The example of nitrification is one that demonstrates how the detection and prediction of such an event can avert a potentially threatening and costly situation. Nitrification is a microbial process by which reduced nitrogen compounds, primarily ammonia, are sequentially oxidized to nitrite and nitrate by ammonia oxidizing bacteria and nitrite oxidizing bacteria, respectively. Nitrification must be avoided or controlled because of its potential effect on disinfectant residuals, which must be maintained at regulatory levels to ensure water safety. Nitrification can become a pervasive, persistent problem if allowed to develop, creating chronic disinfection residual challenges and the potential for unsafe water in the distribution system. The appearance of nitrate, via the formation of nitrite, in addition to the decrease of ammonia and total chlorine in the water, are the commonly known indicators that nitrification is occurring. In fact, there may be a number of other indicators among measurable water quality parameters that may signify the presence or impending onset of nitrification. 
         [0005]    The fact that the relationships of these water quality parameters to particular water quality events are not readily understood or defined, coupled with the reality that the data for such parameters are often dynamic, noisy, and non-linear in fashion, contributes to the lack of a proactive system to accurately and reliably forecast water quality conditions. Instead, current monitoring systems employ passive methods to observe and manage water supplies. There exists a need for a flexible system with the capability to provide on-line, real-time evaluation of these water quality parameters in order to not only detect but also predict potentially harmful water quality events. The expression “real-time”, as used herein, refers to simultaneous as well as slightly delayed (i.e., substantially real-time or delayed by a relatively short period of time, e.g., not more than one second, not more than one minute, not more than one hour, or not more than one day). With such a system, water quality control officials will have more options with which to deal with threatening water quality events and will be able to utilize preventative and proactive management strategies to minimize the costly impact of such threats. 
       BRIEF SUMMARY OF THE INVENTION 
       [0006]    This invention provides an apparatus and method for detecting the likelihood that a particular water condition exists and/or predicting the likelihood that a particular water condition will exist at one or more specific times in the future and/or predicting the level at which a particular water quality condition will exist at one or more specific times in the future. The apparatus and method of this invention can, if desired, be capable of making such detections and predictions for any number of water quality conditions. 
         [0007]    Water quality is affected by and this invention utilizes a number of physical, chemical, and biological water quality parameters. Physical water quality parameters are those of or relating to the material properties of water, and those which are measurable include pH, temperature, turbidity, and conductivity. Chemical water quality parameters are those of or relating to the chemical properties of water or the chemical compounds that may be found in water, and those which are measurable include ammonia, nitrite, nitrate, free chlorine, total chlorine, dissolved oxygen, total organic carbon, chlorophyll, and phycocyanin. Biological water quality parameters are those of or relating to biological organisms that may be found in water and may include the level of  Escherichia coli , for instance. 
         [0008]    Data for these water quality parameters are procured either by user or real-time sensors, although most probably by real-time sensors, from a water sample. The expression water sample as used herein refers to one of a plurality of successive water samples taken from or remaining within a body of water, e.g. a river, a lake, an ocean, a reservoir, a water treatment facility, a canal, a swimming pool, an aquarium, a reflecting pool, etc., and/or to a specific volume of water, e.g. contained within a beaker, which may have been obtained from any possible source. In some cases, the condition(s) for which the apparatus or method of the invention is testing, i.e., estimating the likelihood that the condition exists or will exist, is among the conditions (if any) being sensed or determined, in which case the apparatus or method can serve either to tend to confirm the result or to raise doubt as to the result of such sensing or determining. 
         [0009]    The water quality data that is procured must be location specific and in time series. Location specific data is data in which all values in the data series are collected at the same location, and time series data is data in which all successive values in the data series represent consecutive measurements taken at equally spaced time intervals. This is important to identify the nature of the phenomenon represented by the sequence of observations pertaining to the specified environment and to be able to extrapolate the identified pattern to predict future values and trends. 
         [0010]    After the historical water quality data is procured, it is evaluated by a water quality control inference engine (WQCIE), described in more detail below, which is comprised of neural network applications which preprocess the data, determine certain properties of the network architecture, and which trains, tests, and applies the network. The data is statistically preprocessed using any of a number of data analysis techniques. These data analysis techniques may include trend analysis, correlation coefficient analysis, linear regression, and data normalization Then two critical model properties, the optimal number of neurons and optimal time delay period, are determined (and/or selected). In some embodiments, the data is also separated into three data sets, a training set, a cross validation set, and a test set. Using these model properties and the training and cross validation sets, the neural network is trained. The third set of data is used to test the network. 
         [0011]    After modeling of the network is complete, the system is ready to evaluate real-time water quality data, gathered in the same manner specified above. 
     
    
     
       BRIEF DESCRIPTION OF THE FIGURES 
         [0012]    A full understanding of the invention can be gained from the following detailed description of the invention when read in conjunction with the accompanying figures in which: 
           [0013]      FIG. 1  is a block diagram of a preferred embodiment of an apparatus according to the present invention. 
           [0014]      FIG. 2  is a flow chart showing Phase I of neural network modeling, that is, the generation of the model. More specifically, it shows how the procured data is preprocessed, how the neural network is modeled, how the neural network iteratively trains itself to find the optimal weights, how it verifies the model, and finally, how it stores the appropriate problem-specific neural network. 
           [0015]      FIG. 3  is a flow chart showing Phase II of neural network modeling, that is, the application of the model. This phase takes the saved neural network from the previous phase and uses procured data that is validated to detect and predict water quality conditions. Data validation encompasses checking the data for insufficiency, checking the data for abnormality, checking whether the data is historically justified and filtering random sensor noise. 
           [0016]      FIG. 4  is a table showing the correlation coefficients calculated between various water quality parameters in an example of nitrification prediction. 
           [0017]      FIG. 5  are two graphs, the first of which is the actual water quality data plot for pH of a water sample over a period of time (top) and the second of which is the standardized water quality data plot for pH of the water sample over the same period of time (bottom). 
           [0018]      FIG. 6  includes two graphs, the first of which is the actual water quality data plot for temperature of a water sample over a period of time (top) and the second of which is the standardized water quality data plot for temperature of the water sample over the same period of time (bottom). 
           [0019]      FIG. 7  is a graph of the mean squared errors (MSE) that were calculated with two neurons and ten trials for five different time delay periods in the nitrification example. 
           [0020]      FIG. 8  is a graph of the squared correlation coefficients (R 2 ) that were calculated with two neurons and ten trials for five different time delay periods in the nitrification example. 
           [0021]      FIG. 9  is a graph of the MSE calculations with three neurons and ten trials for five different time delay periods in the nitrification example. 
           [0022]      FIG. 10  is a graph of the R 2  calculations with three neurons and ten trials for five different time delay periods in the nitrification example. 
           [0023]      FIG. 11  is a schematic diagram of the architecture of the neural network model. 
           [0024]      FIG. 12  is a graph showing the error function minimization. The blue line represents the training set, the green line represents the cross validation set, and the black line represents the ideal value for MSE that the model wants to achieve. 
           [0025]      FIG. 13  is a graph showing how the neural network model is generated by separating the data into three data sets: training, cross validation, and testing sets. 
           [0026]      FIG. 14  is a graph showing plots of actual data and filtered data. 
       
    
    
       [0027]    In the Figures, conventional flow chart legends are used, i.e., a process is depicted as a rectangle, a decision is depicted as a diamond-shape, a manual operation is depicted as a trapezoid, data is depicted as a rhombus, a display is depicted as an oval-like shape and a document is depicted as a rectangle with a wavy bottom side. 
       DETAILED DESCRIPTION OF THE INVENTION 
       [0028]    As noted above, the apparatus according to the present invention employs a neural network which receives real-time data for a number of water quality parameters, and which predicts future values for one or more of the water quality parameters. For instance, in a representative example of an apparatus according to the present invention, the apparatus is used to predict values for a “target parameter”, namely, nitrite levels (i.e., in order to predict an onset of nitrification), based on collected location-specific data for a selected set of other parameters (“input parameters”) as well as collected data for nitrite level (“target parameter”). In this representative example, the input parameters include pH, turbidity, conductivity, temperature, dissolved oxygen (DO), total organic carbon, ammonia and total chlorine. The collected data for each of the parameters (i.e., the eight input parameters and the target parameter) is collected with a specific frequency (e.g., every hour on the hour). 
         [0029]    There are a number of well-known algorithms (referred to herein as “optimization algorithms”) which are capable of recognizing patterns or trends in data, and fitting known patterns or trends to emerging data so as to anticipate future trends that the data will exhibit if it follows the known pattern or trend. In addition, as is likewise well-known, such optimization algorithms are capable of performing such curve-fitting or pattern-recognizing functions where input parameters are related to a target parameter in a non-linear fashion. One example of an optimization algorithm which is suitable for use in the present invention is a Levenberg-Marquardt network model. 
         [0030]    In a representative example of an apparatus and method according to the present invention, the data for each parameter is statistically pre-processed using one or more data analysis techniques, e.g., any of the data analysis techniques identified above (namely, trend analysis, correlation coefficient analysis, linear regression and data normalization). 
         [0031]    Next, in this representative example, using the pre-processed data, in the manner described below, a selection is made as to a combination of the number of neurons to be employed in the neural network and the time delay period (i.e., the length of time between the current time and the time in the future for which the nitrite value is predicted) to be employed. In doing so, (1) there is input a range of possible values for the number of neurons (e.g., from 2 to 15 neurons) from which the number of neurons to be employed will be selected, (2) a time delay application is employed to create a number of different possible time delay periods from which the time delay period to be employed will be selected (alternatively, a group of possible time delay values can be input), and (3) a location-specific time series collection of data is input. The optimization algorithm analyzes the data and, by analyzing how closely it can curve-fit the data, facilitates selection of an optimal combination of neuron number and time delay by, for each possible combination of neuron number and time delay (i.e., combinations of neuron number within the range of choices and time delay within the range of choices), determining optimal weights and bias factors so as to minimize the discrepancy between nitrite levels projected by the curve-fitting and the actual nitrite levels. By “weights” is meant, for each neuron in the neural network, the weights given to respective input parameters in predicting the value of the target parameter at a future time, i.e., a time which is spaced from the present time by the time delay; by “bias factor” is meant the relative weights given to each of the neurons. In other words, for each combination of (1) a neuron number within the range of possible neuron number values and (2) time delay within the possible time delay values, the optimization algorithm (in this representative example, a Levenberg-Marquardt algorithm) determines optimum weights and bias factors in order to best curve-fit the input collection data. The apparatus then evaluates how accurately the nitrite values in the input collection data would have been predicted (i.e., using data up to a particular time to predict nitrite value at a time which is in the future by an amount of time equal to the time delay) using those curve fitting weights and bias factors. 
         [0032]    In this representative example, error values are generated for each combination of neuron number and time delay, whereby a combination of neuron number to be employed in the neural network and time delay to be employed can readily be selected. In general, a lower number of neurons is desirable, and so one particular combination of neuron number and time delay might be selected in favor of another combination of neuron number and time delay which has a lower error value, e.g., where the neuron number in the first combination is lower than the neuron number in the second combination. 
         [0033]    Alternatively, a specific number of neurons to be employed can be input and the time delay period can be optimized, or a specific time delay period to be employed can be input and the number of neurons can be optimized. 
         [0034]    Next, based on the selection of a specific number of neurons to be employed and a specific time delay, the apparatus in this representative example is optionally trained using a larger set of time-series location specific data (which may or may not include the data used in selecting the number of neurons and the time delay) in order to further optimize the curve-fitting accuracy for the prediction of nitrite values. In performing such training, any desired initial values can be input for the weights and bias factors, e.g., the weights and bias factors generated in the step of determining the number of neurons and time delay to be employed. Regardless of the initial values for the weights and bias factors, using a given body of data, the optimization algorithm will ultimately arrive at the same optimal values (typically, the closer the initial values are to the final values, the lower the processing time required). 
         [0035]    Next, the apparatus in this representative example can optionally be tested for accuracy using a different collection of time-series location specific data, in order to provide additional evaluation as to how accurately the apparatus can predict nitrite levels. 
         [0036]    Similar representative examples of suitable apparatuses can be provided in an analogous manner for any other target parameter using any other groups of input parameters. 
         [0037]    During the application of the apparatus according to the present invention to real-time data, such real-time data is fed to the neural network, and the neural network outputs predicted future values for the nitrite level (i.e., the predicted value is the value which is expected to occur a period of time, equal to the time delay, after the present time), 
         [0038]    The devices according to the present invention can further employ a transfer function to the values output by the neural network. Any suitable transfer function can be employed, a variety of which are well-known by and readily available to persons skilled in the art, e.g., a hard limit transfer function, a sigmoidal transfer function or a linear transfer function (or even a transfer function which has little or no effect on the output), such transfer functions being well-known to those skilled in the art. 
         [0039]    If desired, the device can be re-trained at any time or at regular intervals, e.g., every three months. 
         [0040]      FIG. 1  is a block diagram of a preferred embodiment of an apparatus according to the present invention. The device may include an acquisition unit that may include sensors to obtain water quality data from a water sample, not shown, an inference engine, an output unit, and an action unit. The acquisition unit may receive water quality data from a recorded data source for analysis, but preferably receives real-time, on-line data through the sensors that are monitoring the water sample. The inference engine is comprised of all of the neural network applications that will generate and apply the neural network, in addition to preparing and validating the data. The output unit may include a screen to display the target parameter and predicted data or may alternatively or additionally feed an output signal to an action unit for possibly sounding an alarm or delivering the appropriate preventative means to avoid an impending water quality event. 
         [0041]    First, a neural network is modeled according to the algorithm shown as Phase I in  FIG. 2 , and then the neural network is applied according to the algorithm shown as Phase II in  FIG. 3 . Historical water quality data which is both location specific and in time series is obtained from a water source. The suite of water quality parameters that may be used as input parameters in the detection and prediction of water quality events may include any or all of the following and may not be limited to pH, temperature, dissolved oxygen, conductivity, turbidity, total chlorine, free chlorine, nitrite, ammonia, total organic carbon, chlorophyll, and phycocyanin. There must also be at least one target parameter, which is the parameter that is intended to be predicted. The historical water quality data is statistically preprocessed using correlation coefficient analysis, trend analysis, linear regression, if applicable, and a data normalization technique called standardization. 
         [0042]    The correlation coefficient (R) is defined as 
         [0000]    
       
         
           
             
               
                 
                   
                     R 
                     = 
                     
                       
                         c 
                         
                           
                             x 
                             1 
                           
                            
                           
                             x 
                             2 
                           
                         
                       
                       
                         
                           s 
                           
                             x 
                             1 
                           
                         
                          
                         
                           s 
                           
                             x 
                             2 
                           
                         
                       
                     
                   
                   , 
                 
               
               
                 
                   ( 
                   1 
                   ) 
                 
               
             
           
         
       
     
         [0000]    where R is the correlation coefficient matrix and c x     1     2  is the covariance between the variable X 1  and the variable X 2 . 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       c 
                       
                         
                           x 
                           1 
                         
                          
                         
                           x 
                           2 
                         
                       
                     
                     = 
                     
                       
                         
                           ∑ 
                           
                             i 
                             = 
                             1 
                           
                           n 
                         
                          
                         
                           
                             ( 
                             
                               
                                 x 
                                 
                                   1 
                                    
                                   i 
                                 
                               
                               - 
                               
                                 
                                   x 
                                   _ 
                                 
                                 1 
                               
                             
                             ) 
                           
                            
                           
                             ( 
                             
                               
                                 x 
                                 
                                   2 
                                    
                                   i 
                                 
                               
                               - 
                               
                                 
                                   x 
                                   _ 
                                 
                                 2 
                               
                             
                             ) 
                           
                         
                       
                       
                         n 
                         - 
                         1 
                       
                     
                   
                   , 
                 
               
               
                 
                   ( 
                   2 
                   ) 
                 
               
             
           
         
       
     
         [0000]    where n is an integer and  x  is the mean vector of X. S x     1    and S x2  are the standard deviation of the variable X 1  and X 2 . 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       S 
                       
                         x 
                         1 
                       
                     
                     = 
                     
                       
                         
                           
                             ∑ 
                             
                               i 
                               = 
                               1 
                             
                             n 
                           
                            
                           
                             
                               ( 
                               
                                 
                                   x 
                                   
                                     1 
                                      
                                     i 
                                   
                                 
                                 - 
                                 
                                   
                                     x 
                                     _ 
                                   
                                   1 
                                 
                               
                               ) 
                             
                             2 
                           
                         
                         
                           n 
                           - 
                           1 
                         
                       
                     
                   
                   , 
                   
                     
                       S 
                       
                         x 
                         2 
                       
                     
                     = 
                     
                       
                         
                           
                             
                               ∑ 
                               
                                 i 
                                 = 
                                 1 
                               
                               n 
                             
                              
                             
                               
                                 ( 
                                 
                                   
                                     x 
                                     
                                       2 
                                        
                                       i 
                                     
                                   
                                   - 
                                   
                                     
                                       x 
                                       _ 
                                     
                                     2 
                                   
                                 
                                 ) 
                               
                               2 
                             
                           
                           
                             n 
                             - 
                             1 
                           
                         
                       
                       . 
                     
                   
                 
               
               
                 
                   ( 
                   3 
                   ) 
                 
               
             
           
         
       
     
         [0043]    A correlation coefficient between 0 and 0.30 is generally defined as “weak,” a correlation coefficient between 0.30 and 0.60 as “moderate,” a correlation between 0.6 and 0.90 as “strong,” and a correlation of 1.00 as “perfect.” A negative sign indicates an inverse relationship between the two parameters whereas a positive sign indicates a direct relationship between the two parameters. 
         [0044]    In linear regression analysis, the two sets of water quality parameters, the input parameter set and the target parameter set, are checked for linearity. If the nature of the relationship between the input water quality parameters and the target water quality parameter(s) shows characteristics of linearity, then linear regression modeling techniques are appropriate. For example, a straight-line relationship can be valuable in summarizing the observed dependence of one variable on another. The equation of such a straight line can be obtained by the method of least squares when data are available. The linear first-order model can be written 
         [0000]        Y=β   0 +β 1   X+ε;   (4) 
         [0000]    that is, for a given matrix X, a corresponding observation vector Y can be modeled by β 0 +β 1 X plus an error term ε, the increment by which any individual Y may fall off the regression line. β 0  is the intercept of Y. β 1  is a vector of regression coefficients. β 0 +β 1 X is the model function, and β 0  and β 1  are called the parameters of the model. Here β 0 , β 1 , and ε are unknown, and in fact ε would be difficult to discover since it changes for each observation Y. 
         [0045]    However, β 0  and β 1  remain fixed and, although they cannot be found exactly without examining all possible occurrences of Y and X, β 0  and β 1  can be estimated with b 0  and b 1  using finite data. 
         [0000]        Ŷ=b   0   +b   1   X,   (5) 
         [0000]    where Ŷ is the predicted value for a given X. As such, b 0  and b 1  are determined by minimizing the squared errors. Suppose there is available n sets of observations (X 1 ,Y 1 ), (X 2 ,Y 2 ), (X 3 ,Y 3 ), . . . , (X n ,Y n ). Then by equation (4) it can be written that 
         [0000]        Y   i =β 0 +β 1   X   i +ε i ,  (6) 
         [0000]    for i=1, 2, . . . , n, so that the sum of squares of deviation from the rule line is 
         [0000]    
       
         
           
             
               
                 
                   S 
                   = 
                   
                     
                       
                         ∑ 
                         
                           i 
                           = 
                           1 
                         
                         n 
                       
                        
                       
                         ɛ 
                         i 
                         2 
                       
                     
                     = 
                     
                       
                         ∑ 
                         
                           i 
                           = 
                           1 
                         
                         n 
                       
                        
                       
                         
                           
                             ( 
                             
                               
                                 Y 
                                 i 
                               
                               - 
                               
                                 β 
                                 0 
                               
                               - 
                               
                                 
                                   β 
                                   1 
                                 
                                  
                                 
                                   X 
                                   i 
                                 
                               
                             
                             ) 
                           
                           2 
                         
                         . 
                       
                     
                   
                 
               
               
                 
                   ( 
                   7 
                   ) 
                 
               
             
           
         
       
     
         [0000]    S is called the sum of squares function. The vectors b 0  and b 1  can be determined by differentiating equation (7) first with respect to β 0  and then with respect to β 1  and setting the results equal to zero. 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       
                         ∂ 
                         S 
                       
                       
                         ∂ 
                         β 
                       
                     
                     = 
                     
                       
                         - 
                         2 
                       
                        
                       
                         
                           ∑ 
                           
                             i 
                             = 
                             1 
                           
                           n 
                         
                          
                         
                           ( 
                           
                             
                               Y 
                               i 
                             
                             - 
                             
                               β 
                               0 
                             
                             - 
                             
                               
                                 β 
                                 1 
                               
                                
                               
                                 X 
                                 i 
                               
                             
                           
                           ) 
                         
                       
                     
                   
                    
                   
                     
 
                   
                    
                   and 
                    
                   
                     
 
                   
                    
                   
                     
                       
                         
                           ∂ 
                           S 
                         
                         
                           ∂ 
                           
                             β 
                             1 
                           
                         
                       
                       = 
                       
                         
                           - 
                           2 
                         
                          
                         
                           
                             ∑ 
                             
                               i 
                               = 
                               1 
                             
                             n 
                           
                            
                           
                             
                               X 
                               i 
                             
                              
                             
                               ( 
                               
                                 
                                   Y 
                                   i 
                                 
                                 - 
                                 
                                   β 
                                   0 
                                 
                                 - 
                                 
                                   
                                     β 
                                     1 
                                   
                                    
                                   
                                     X 
                                     i 
                                   
                                 
                               
                               ) 
                             
                           
                         
                       
                     
                     , 
                   
                 
               
               
                 
                   ( 
                   8 
                   ) 
                 
               
             
           
         
       
     
         [0000]    so that the estimates b 0  and b 1  are solutions of the two equations 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       
                         ∑ 
                         
                           i 
                           = 
                           1 
                         
                         n 
                       
                        
                       
                         ( 
                         
                           
                             Y 
                             i 
                           
                           - 
                           
                             b 
                             0 
                           
                           - 
                           
                             
                               b 
                               1 
                             
                              
                             
                               X 
                               i 
                             
                           
                         
                         ) 
                       
                     
                     = 
                     0 
                   
                    
                   
                     
 
                   
                    
                   and 
                    
                   
                     
 
                   
                    
                   
                     
                       
                         
                           ∑ 
                           
                             i 
                             = 
                             1 
                           
                           n 
                         
                          
                         
                           
                             X 
                             i 
                           
                            
                           
                             ( 
                             
                               
                                 Y 
                                 i 
                               
                               - 
                               
                                 b 
                                 0 
                               
                               - 
                               
                                 
                                   b 
                                   1 
                                 
                                  
                                 
                                   X 
                                   i 
                                 
                               
                             
                             ) 
                           
                         
                       
                       = 
                       0 
                     
                     , 
                   
                 
               
               
                 
                   ( 
                   9 
                   ) 
                 
               
             
           
         
       
     
         [0000]    where (b 0 ,b 1 ) is substituted for (β 0 ,β 1 ) and equation (8) is equated to zero. From equation (9), 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       
                         
                           b 
                           0 
                         
                          
                         n 
                       
                       + 
                       
                         
                           b 
                           1 
                         
                          
                         
                           
                             ∑ 
                             
                               i 
                               = 
                               1 
                             
                             n 
                           
                            
                           
                             X 
                             i 
                           
                         
                       
                     
                     = 
                     
                       
                         ∑ 
                         
                           i 
                           = 
                           1 
                         
                         n 
                       
                        
                       
                         Y 
                         i 
                       
                     
                   
                   , 
                   
                     
 
                   
                    
                   
                     
                       
                         
                           b 
                           0 
                         
                          
                         
                           
                             ∑ 
                             
                               i 
                               = 
                               1 
                             
                             n 
                           
                            
                           
                             X 
                             i 
                           
                         
                       
                       + 
                       
                         
                           b 
                           1 
                         
                          
                         
                           
                             ∑ 
                             
                               i 
                               = 
                               1 
                             
                             n 
                           
                            
                           
                             X 
                             i 
                             2 
                           
                         
                       
                     
                     = 
                     
                       
                         ∑ 
                         
                           i 
                           = 
                           1 
                         
                         n 
                       
                        
                       
                         
                           X 
                           i 
                         
                          
                         
                           
                             Y 
                             i 
                           
                           . 
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   10 
                   ) 
                 
               
             
           
         
       
     
       These equations are called the normal equations. 
       [0046]    
       
         
           
             
               
                 
                   
                     b 
                     1 
                   
                   = 
                   
                     
                       
                         c 
                         xy 
                       
                       
                         S 
                         x 
                         2 
                       
                     
                     = 
                     
                       
                         ∑ 
                         
                           
                             ( 
                             
                               
                                 X 
                                 i 
                               
                               - 
                               
                                 X 
                                 _ 
                               
                             
                             ) 
                           
                            
                           
                             ( 
                             
                               
                                 Y 
                                 i 
                               
                               - 
                               
                                 Y 
                                 _ 
                               
                             
                             ) 
                           
                         
                       
                       
                         ∑ 
                         
                           
                             ( 
                             
                               
                                 X 
                                 i 
                               
                               - 
                               
                                 X 
                                 _ 
                               
                             
                             ) 
                           
                           2 
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   11 
                   ) 
                 
               
             
             
               
                 and 
               
               
                 
                     
                 
               
             
             
               
                 
                   
                     b 
                     0 
                   
                   = 
                   
                     
                       Y 
                       _ 
                     
                     - 
                     
                       
                         b 
                         1 
                       
                        
                       
                         X 
                         _ 
                       
                     
                   
                 
               
               
                 
                   ( 
                   12 
                   ) 
                 
               
             
           
         
       
     
         [0000]    for intercept at X=0. Substituting equation (12) into equation (5) gives the estimated regression equation in the alternative form 
         [0000]        Ŷ=  Y +b   1 ( X−{circumflex over (X)} ).  (13) 
         [0047]    When there is no linearity, non-linear modeling techniques like neural networks are appropriate. Neural networks contain input neurons which receive any number of inputs and each of these inputs is assigned a weight, which governs the strength of the signal. Like biological systems, each neuron also has a single threshold value. The neuron is activated by adding the weighted sum of the inputs and subtracting the threshold value. This activation signal is then applied to a transfer function, like a hard limit, sigmoidal, or linear function, to produce the output of the neuron. A hard limit function passes negative information when the output is less than the threshold and positive information when the output is greater than or equal to the threshold. A sigmoidal function is a continuous function that varies gradually between two asymptotic values, typically 0 and 1, or −1 and +1. A linear function calculates the neuron&#39;s output by simply returning the value passed to it. The transfer function allows the network to carry out non-linear interpolations to compose a reasonable output signal from the range of input signals. Accordingly, this type of function can evaluate the non-linear sets of input parameters that exist when determining water quality events. 
         [0048]    Water quality data is measured in different scale units; therefore, a data normalization technique like standardization is needed to reduce the scale variation that exists. Standardization reduces this variation found in different scales to standardized scales while maintaining the dynamics of the data. Standard z-score (Z) is defined as 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       z 
                       i 
                     
                     = 
                     
                       
                         
                           x 
                           i 
                         
                         - 
                         
                           x 
                           _ 
                         
                       
                       
                         S 
                         x 
                       
                     
                   
                   , 
                 
               
               
                 
                   ( 
                   14 
                   ) 
                 
               
             
           
         
       
     
         [0000]    where  x  is the mean vector of X and S x  is the standard deviation of X. z i  is the standard score for the ith observation. The statistical results of standardization are the mean of z (  z )=0 and standard deviation of z (S z )=1. Having the standardized mean equal to zero implies that any differences in the mean values of the water quality data will be mitigated. Distortions stemming from these differences will be eliminated in the same way the differences in scale are eliminated. By having the standard deviation limited to one, this makes sure that the effect of differently scaled data is neither magnified nor attenuated more than necessary. As will be explained below, this type of standardized data will not cause the weights to be greatly maladjusted during the training period so that the relationship between the input and the target parameters is distorted, which can then reduce the performance of the network or even render it less robust. 
         [0049]    Neural networks come in various architectural models such as radial basis, backpropagation, generalized regression, probabilistic, Elman, and Hopfield network models. In this particular embodiment of the invention, a Levenberg-Marquardt (LM) network model is adapted: both phases of applications in this invention, phase I of neural network modeling as well as phase II of neural network application, utilize the Levenberg-Marquardt optimization algorithm (LMOA). The LMOA is an iterative technique that locates the minimum of a function that is expressed as the sum of squares of nonlinear functions. With each parameter represented as a nonlinear function, this becomes useful in solving the nonlinear least-squares problem that is presented. The number of parameters to be solved by the LMOA is kept as few as possible to create the least amount of error in the iteration process. The LMOA is an accurate learning algorithm that can handle nonlinear parameter identification, and a good starting estimation of the unknown parameters is needed in order to achieve convergence in a timely manner. 
         [0050]    Let a function (f) be an assumed functional relation which maps a weight vector wεR m  to an estimated target vector Ŷ=f(w), ŶεR n . Hence, n≧m. An initial weight estimate w 0  and a target vector Y are provided and it is desired to find the vector w optimal  that best satisfies the functional relation f, i.e. minimizes the squared distance ε T ε with ε=Y−Ŷ. The mean squared error (MSE) is the mean of (Y−Ŷ) 2 .  FIGS. 5 and 7  show example MSEs calculated by the nitrification time delay program. The basis of the LM algorithm is a linear approximation to f in the neighborhood of w. For a small ∥δ w ∥, a Taylor series expansion leads to the approximation 
         [0000]        f ( w+δ   w )≈ f ( w )+ Jδ   w ,  (15) 
         [0000]    where J is the Jacobian matrix 
         [0000]    
       
         
           
             
               
                 ∂ 
                 
                   f 
                    
                   
                     ( 
                     w 
                     ) 
                   
                 
               
               
                 ∂ 
                 w 
               
             
             . 
           
         
       
     
         [0000]    LM initiates at the starting point w 0  and the method produces a series of vectors w 1 ,w 2 , . . . , that converge towards a local minimizer w optimal  for f. Hence, at each step, it is required to find the δ w  that minimizes the quantity 
         [0000]      ∥ Y−f ( w+δ   w )∥≈∥ Y−f ( w )− Jδ   w   ∥=∥ε−Jδ   w ∥.  (16) 
         [0000]    The sought δ w  is therefore the solution to a linear least-squares problem: the minimum is attained when Jδ w −ε is orthogonal to the column space of J. This leads to 
         [0000]        J   T ( Jδ   w −ε)=0,  (17) 
         [0000]    which yields to 
         [0000]        J   T   Jδ   w   =J   T ε.  (18) 
         [0051]    The matrix J T J in the left hand side of equation (18) is called the approximate Hessian, i.e. an approximation to the matrix of second order derivatives. The LM method actually solves a slight variation of equation (18), known as the augmented normal equation 
         [0000]        Nδ   w   =J   T ε.  (19) 
         [0000]    where the off-diagonal elements of N are identical to the corresponding elements of J T J and the diagonal elements are given by 
         [0000]        N   ii   =μl+[J   T   J]   ii   (20) 
         [0000]    for some μ&gt;0. The LM algorithm uses this approximation to the Hessian matrix in the following Newton-like update: 
         [0000]        Y   k+1   =Y   k   −[J   T   J+μl]   −1   J   T ε.  (21) 
         [0052]    In equation (21), when the scalar μ is zero, this is just Newton&#39;s method, using the approximate Hessian matrix. When μ is large, this becomes gradient descent with a small step size. Newton&#39;s method is faster and more accurate near an error minimum, so the aim is to shift towards Newton&#39;s method as quickly as possible. Thus, μ is decreased after each successful step (reduction in the mean of ε T ε) and is increased only when a tentative step would increase the error function. In this way, the error function will always be reduced at each iteration of the algorithm, until the minimization of the error function (MSE) is achieved, at which point, the algorithm terminates. The MSE and R 2  calculations enable the performance of the model to be assessed. 
         [0053]    After modeling of the neural network is complete, real-time water quality data is obtained for the application phase of the system (Tier  1  of  FIG. 3 ). This data is evaluated in three ways, to check for insufficiency, abnormality, and invalidity (Tier  2  of  FIG. 3 ). Insufficient data is data in which the amount of data is inadequate to provide a prediction value for the target parameter. As stated earlier, data must be location specific and in time series, and this time series data must span at least a minimum length of time and include a complete set of values for all the water quality parameters of interest. If the data is insufficient, the system allows for the procurement period to lengthen until sufficient data is obtained. Abnormal data is data in which the type of data is inadequate to provide a prediction value for the target parameter. These types of data values include negative numbers or values that are not numbers. If the data is abnormal, they are replaced with placeholder values. The data could still include random sensor noise. To minimize sensor noise, the system can include refining the data, e.g., by using a median filtering method (see, for example,  FIG. 14 ). Then the data is separated into input and target parameters, with the target parameter(s) displayed for the user. The input water quality data is then evaluated for validity, that is, checked to see how it compares to the historical water quality data that was used in modeling the neural network. If the real-time water quality data is outside a certain range that is determined by the data that was obtained in the past, then the user is prompted of this fact. 
         [0054]    Filtering data, if employed, can be accomplished using any suitable filtering method. Persons of skill in the art are familiar with, and have access to, a wide variety of filtering methods, and any of such methods can, if desired, be employed. For example, one type of filtering method is median filtering—persons skilled in the art are familiar with such methods, and have easy access to such methods and devices which can perform such methods. Where median filtering is employed, any desired number of blocks can be used, e.g., from 2 to 17 blocks, such as 3 blocks. 
         [0055]    After the real-time water quality input data is validated, the neural network computes a prediction value based on the input parameters (Tier  3  of  FIG. 3 ). To do this, the data is normalized in the same standardization technique that was used for the historical water quality data. The neural network is then loaded with the properties of the model that were determined in the previous phase. Using this architecture, the network is simulated with the new inputs to compute a prediction value. This prediction value, as with the detection value, is also displayed for the user. 
         [0000]    
       
         
               
               
               
             
           
               
                   
                 TABLE 1 
               
               
                   
                   
               
               
                   
                 Variable 
                 Definition 
               
               
                   
                   
               
             
             
               
                   
                 X 
                 Input vector 
               
               
                   
                 
                   X 
                 
                 Mean input vector 
               
               
                   
                 β 0   
                 Bias vector 
               
               
                   
                 β 1   
                 Regression coefficient vector 
               
               
                   
                 b 0   
                 Predicted bias vector 
               
               
                   
                 b 1   
                 Predicted regression coefficient vector 
               
               
                   
                 S 
                 Sum of squares function 
               
               
                   
                 S x   
                 Standard deviation of X 
               
               
                   
                 S z   
                 Standard deviation of Z 
               
               
                   
                 R m   
                 m-tuple set of real numbers 
               
               
                   
                 R n   
                 n-tuple set of real numbers 
               
               
                   
                 Y 
                 Target vector 
               
               
                   
                 {grave over (Y)} 
                 Estimated target vector 
               
               
                   
                 
                   Y 
                 
                 Mean target vector 
               
               
                   
                 w 
                 Weight vector 
               
               
                   
                 w 0   
                 Initial weight vector 
               
               
                   
                 w optimal   
                 Optimal weight vector 
               
               
                   
                 δ w   
                 Incremental weight change 
               
               
                   
                 J 
                 Jacobian matrix 
               
               
                   
                 J T   
                 Transposed Jacobian matrix 
               
               
                   
                 N 
                 Hessian matrix 
               
               
                   
                 μ 
                 Damping term 
               
               
                   
                 ε 
                 Error matrix 
               
               
                   
                 ε T   
                 Transposed error matrix 
               
               
                   
                 R 
                 Correlation coefficient 
               
               
                   
                 C 
                 Covariance matrix 
               
               
                   
                 Z 
                 Standard z-score matrix 
               
               
                   
                 
                   z 
                 
                 Mean z-score matrix 
               
               
                   
                   
               
             
          
         
       
     
         [0000]    
       
         
               
               
               
             
           
               
                   
                 TABLE 2 
               
               
                   
                   
               
               
                   
                 Acronym 
                 Name 
               
               
                   
                   
               
             
             
               
                   
                 WQCIE 
                 Water Quality Control Inference Engine 
               
               
                   
                 MIB 
                 2-methylisoborneol 
               
               
                   
                 TTHM 
                 Total Trihalomethanes (total of 4) 
               
               
                   
                 HAA5 
                 Haloacetic Acids (total of 5) 
               
               
                   
                 DO 
                 Dissolved Oxygen 
               
               
                   
                 TOC 
                 Total Organic Carbon 
               
               
                   
                 LM 
                 Levenberg-Marquardt 
               
               
                   
                 LMOA 
                 Levenberg-Marquardt Optimization Algorithm 
               
               
                   
                 DBP 
                 Disinfectant Byproduct 
               
               
                   
                 MSE 
                 Mean Squared Error 
               
               
                   
                   
               
             
          
         
       
     
       EXAMPLE 
     Samples 
       [0056]    Water quality data for nine parameters obtained from a single water source in time series were used in the detection and prediction of nitrification. These parameters included input parameters pH, temperature, DO, conductivity, turbidity, total chlorine, ammonia, and TOC, and the target parameter, nitrite. The data was collected periodically over the course of one year and five months from a single municipal water source. 
       Methods 
       [0057]    First, historical water quality data for nine parameters as defined above were obtained (Tier  1  of  FIG. 2 ). The statistical preprocessing techniques applied in this example included correlation coefficient analysis, trend analysis, and standardization (Tier  2  of  FIG. 2 ).  FIG. 4  shows the results from the correlation coefficient analysis All the correlation coefficients that were calculated between different water quality parameters were moderate or weak (R&lt;0.6), As expected, the correlation coefficient between any parameter and itself was perfect or equal to 1.00, while the correlation coefficient between two different parameters varied; for example, the correlation coefficient between pH and temperature was −0.03 and the correlation coefficient between pH and conductivity was 0.07. Furthermore, linearity was checked between input and target parameters, and it was found that no such dependency existed. All the scales of the data were then standardized.  FIGS. 5 and 6  show the actual and standardized data plots of two water quality parameters, pH and temperature. Note that, while the scale of the data plot changed, the dynamics of the data were maintained. 
         [0058]    After the data preprocessing was completed, two critical properties of the model, the optimal neuron number and optimal time delay period, were determined (Tier  3  of  FIG. 2 ). To do this, the time delay application created a number of different sequential time delay periods to find the most probable time delay period for nitrification and incrementally ran the LM algorithm starting with two neurons all the way up to fifteen neurons to find the optimal number of neurons to use for nitrification prediction.  FIGS. 7 and 8  show the MSE and R 2  calculations between actual nitrite values and estimated nitrite values using two neurons with ten trials for five different time delay periods, while  FIGS. 9 and 10  show the MSE and R 2  calculations using three neurons with ten trials for five different time delay periods. Through this process, the optimal number of neurons to use in the neural network and the most probable period of time delay that led to the best possible prediction performance, i.e. the lowest MSE and highest R 2 , for the nitrification model were determined. Modeling of the neural network resulted in an architecture depicted in  FIG. 11 . 
         [0059]    The inferencing program then automatically divided the data into three sets, a training set, a cross validation set, and a test set. The training set was used to learn the patterns between the input parameters and the target parameter (nitrite). To learn the patterns, it adjusted the weights assigned to the input values in such a way that the error function was minimized. The cross validation set was used to avoid over-fitting, a general problem encountered in regression modeling, which may have resulted during the training period. This iterative process in determining the weight properties is illustrated in the fourth tier of  FIG. 2 . The inferencing program continued to compute the output with updated weights until the MSE minimization reached a tolerable threshold.  FIG. 12  shows how well the error function was minimized using the training and cross validation sets of data. The test set was then used to compare actual nitrite values with the estimated nitrite values, the latter of which were generated by the built-in relationship as determined by the training and cross validation steps. This verification of the network is illustrated in the fifth tier of  FIG. 2  and how well it accomplished this is shown in  FIG. 13 . 
       Results 
       [0060]    This representative system in accordance with the present invention utilized the input parameters from this particular municipal water supply to determine an optimal neuron number of three for the nitrification model and an optimal proliferation time period of 26 days for nitrification prediction. Using this time delay period and number of neurons, the squared correlation coefficient between actual nitrite values and estimated nitrite values ended up being 0.98. When supplied with subsequent real-time data values, the neural network was able to correctly predict the onset of nitrification this many days in advance. 
         [0061]    Whereas particular aspects of the method of this invention and particular embodiments of the invention have been described for purposes of illustration, it will be appreciated by those skilled in the art that numerous variations of the details may be made without departing from the invention as described in the appended claims.