Abstract:
A time series data prediction/diagnosis apparatus includes a first creator creating a model series using time series data items sequentially input, a first calculator calculating a prediction error for the model series at each input of a new time series data item, a second creator creating a plurality of model series candidates when an error between the new time series data item and the model series is larger than a predetermined error, a selector selecting an optimal model series among the plurality of model series candidates and set the optimal model series to a new model series, a second calculator calculating a prediction value using the new model series, and a diagnosis unit diagnosing why the prediction value is led for an output value by the second calculator and add a diagnosis result to the prediction value.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
       [0001]    This application is based upon and claims the benefit of priority from prior Japanese Patent Application No. 2006-173907, filed Jun. 23, 2006, the entire contents of which are incorporated herein by reference. 
       BACKGROUND OF THE INVENTION 
       [0002]    1. Field of the Invention 
         [0003]    This invention relates to a time series data prediction/diagnosis apparatus and a program thereof. 
         [0004]    2. Description of the Related Art 
         [0005]    A method for predicting unstable data in which the characteristic of an information source varies with high precision kept by selecting a model on the real-time basis is proposed (refer to JP.A 2005-141601 (KOKAI)). In this document, the technique for extracting a cause of the variation by comparing prediction distributions and data items before and after the model series varies is described. However, in JP.A 2005-141601 (KOKAI), the detail contents are not described. In addition, a diagnostic method for a prediction result is not considered. 
       BRIEF SUMMARY OF THE INVENTION 
       [0006]    According to one aspect of this invention, highly precise model selection is carried out while a variation in the information source is coped with, a warning is issued on the real-time basis when the model varies or a cause-and-effect relation between items which cause a variation in the model is extracted and presented. 
         [0007]    Specifically, A time series data prediction/diagnosis apparatus according to an aspect of the invention comprises: a first creator configured to create a model series using time series data items sequentially input; a first calculator configured to calculate a prediction error for the created model series at each input of a new time series data item; a second creator configured to create a plurality of model series candidates when an error between the new time series data item and the model series is larger than a predetermined error; a selector configured to select an optimal model series among the plurality of model series candidates and set selected model series to a new model series; a second calculator configured to calculate a prediction value using the new model series; and a diagnosis unit configured to diagnose why the prediction value is led for the output value by the second calculator and add a diagnosis result to the prediction value and output it. 
     
     
       BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS 
         [0008]      FIG. 1  is a diagram showing the configuration of a time series data prediction/diagnosis apparatus according to a first embodiment; 
           [0009]      FIG. 2  is a flowchart for illustrating the operation of the time series data prediction/diagnosis apparatus according to the first embodiment; 
           [0010]      FIGS. 3A and 3B  is a diagram for illustrating the operation of a model series candidate creation unit; 
           [0011]      FIG. 4  is a diagram showing the configuration of a time series data prediction/diagnosis apparatus according to a second embodiment; 
           [0012]      FIG. 5  is a flowchart for illustrating the operation of the time series data prediction/diagnosis apparatus according to the second embodiment; 
           [0013]      FIG. 6  is a flowchart for illustrating the schematic operation of a prediction result diagnostic unit according to the second embodiment; 
           [0014]      FIGS. 7A and 7B  are diagrams showing an example of an orthogonal table according to the second embodiment; and 
           [0015]      FIGS. 8A and 8B  are diagrams showing an output example of the time series data prediction/diagnosis apparatus according to the second embodiment. 
       
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
       [0016]    Embodiments of the invention will be described hereinafter with reference to the accompanying drawings. 
       First Embodiment 
       [0017]    As shown in  FIG. 1 , the time series data prediction/diagnosis apparatus according to the first embodiment includes an input unit  1 , output unit  2  and prediction/diagnosis unit  3 . The input unit  1  inputs time series data and outputs the data to the prediction/diagnosis unit  3 . The output unit  2  outputs the processing result of the prediction/diagnosis unit  3 . The prediction/diagnosis unit  3  performs prediction and diagnosis of time series data. The time series data prediction/diagnosis apparatus can be realized by use of a general-purpose computer and, for example, the input unit  1  receives data input from an input device such as a mouse and keyboard or an external memory device and acquires data by communication with an external device. The output unit  2  includes a device such as a printer and LCD (liquid crystal display device). The prediction/diagnosis unit  3  is a main body of the computer and includes various devices such as a CPU (central processing unit), a ROM and memory device which store programs and the like and a RAM used as a working area at the time of execution of arithmetic operations, for example. 
         [0018]    The prediction/diagnosis unit  3  includes a time series data memory unit  31 , primary model creation unit  32 , model series memory unit  33 , prediction error calculation unit  34 , model series candidate creation unit  35 , model series candidate memory unit  36 , optimal model series selection unit  37 , predictor calculation unit  38  and prediction result diagnostic unit  39 . The respective units have the following functions. The time series data memory unit  31 , model series memory unit  33  and model series candidate memory unit  36  may be respectively configured by different memory devices or configured by a single memory device. 
         [0019]    The time series data memory unit  31  stores time series data items sequentially input from the input unit  1 . 
         [0020]    The primary model creation unit  32  creates a linear model used to predict generation of data items based on a preset number of time series data items. 
         [0021]    The model series memory unit  33  stores a model series created by the primary model creation unit  32  or a model series selected by the optimal model series selection unit  37  which will be described later. 
         [0022]    The prediction error calculation unit  34  compares a value calculated based on the model series stored in the model series memory unit  33  with a value stored in the time series data memory unit  31  and calculates an error therebetween. 
         [0023]    The model series candidate creation unit  35  creates candidates of a plurality of linear model series used to predict time series data stored in the time series data memory unit  31 . 
         [0024]    The model series candidate memory unit  36  stores a plurality of model series candidates created by the model series candidate creation unit  35 . 
         [0025]    The optimal model series selection unit  37  selects an optimum model series among the model series stored in the model series candidate memory unit  36  and updates and records the selected model series into the model series memory unit  33 . 
         [0026]    The predictor calculation unit  38  calculates time at which the output value exceeds a limit and outputs the time to the output unit  2 . 
         [0027]    The prediction result diagnostic unit  39  estimates the reason for the prediction result by calculation and outputs the reason to the output unit  2 . In the embodiment, it is supposed that unit variate time series data is used as data to be input. 
         [0028]    The operation of the time series data prediction/diagnosis apparatus with the above configuration is explained with reference to  FIG. 2 . 
         [0029]    The primary model creation unit  32  initialize time series data stored in the time series data memory unit  31  and model series stored in the model series memory unit  33  (S 10 ). When unit variate time series data is input via the input unit  1 , the time series data memory unit  31  additionally stores the unit variate time series data in an input order (S 11 ). 
         [0030]    Next, the primary model creation unit  32  determines whether or not a primary model can be created based on the number of data items stored in the time series data memory unit  31 . At this time, if it is determined that a sufficiently large number of data items which permit a primary model to be created are stored in the time series data memory unit  31 , a linear model suitable for the time series data stored in the time series data memory unit  31  is created (S 12 ). In this case, the primary model creation unit  32  calculates coefficients α, β (linear model coefficients) which minimizes an error obtained when a preset number of time series data items are applied in the equation (1) and stores a model application time range and linear model coefficients. In the primary model, the application time range t is set larger than 0. 
         [0000]        Y=αX+β   (1) 
         [0031]    The linear model is stored in the model series memory unit  33 . 
         [0032]    When new unit variate time series data is input via the input unit  1  (S 13 ), the new unit variate time series data is additionally stored in the time series data memory unit  31  like the case of the step S 11 . 
         [0033]    The prediction error calculation unit  34  calculates an error between the new unit variate time series data and a prediction value estimated from the model series stored in the model series memory unit  33  (S 14 ). Specifically, the prediction error calculation unit  34  reads out unit variate time series data at time t from the time series data memory unit  31  and reads out a model coefficient corresponding to the time t from the model series memory unit  33 . Then, it calculates an error between the value calculated according to the equation (1) and the unit variate time series data read out from the time series data memory unit  31 . At this time, if the error is smaller than a preset error, the process returns to the step S 13  and if the error is larger than the preset error, the process proceeds to the step S 15 . In this case, the magnitude of the error may be determined by, for example, calculating errors for data items which are considered to be suited to a linear model based on the linear model and setting the largest error among the calculated errors as a reference error and the process may proceed to the step S 15  when the error becomes larger than the reference error. 
         [0034]    If it is determined that the error is larger than the preset error as the result of calculation by the prediction error calculation unit  34 , the model series candidate creation unit  35  creates a plurality of new model series (S 15 ). The model series are stored in the model series candidate memory unit  36 . The operation of the model series candidate creation unit  35  is explained in detail with reference to  FIGS. 3A and 3B . 
         [0035]    The model series candidate creation unit  35  reads out time series data stored in the time series data memory unit  31  and determines window width derived based on the number of data items required at the time of creation of the primary model. For example, the window width is given as “primary model creation time” from t 0  to t 1  in  FIGS. 3A and 3B . Then, intervals used to create model series candidates are assigned by use of a combination of a constant multiple of the window width. That is, in  FIGS. 3A and 3B , three intervals from t 0  to t 1 , from t 1  to t 2  and from t 2  to t 3  are assigned. Then, a plurality of model series candidates are created by adequately combining the three spaces. In  FIG. 3B , a method of assigning the intervals to create model series candidates from a candidate “1” to a candidate “4” is shown. In the graph of  FIG. 3A , linear models based on the candidate “2” and candidate “4” are shown. The candidate “2” is an example obtained by creating a model by use of an interval of one window width from t 0  to t 1  and an interval of two window widths from t 1  to t 3  and the candidate “4” is an example obtained by creating a model by use of an interval of three window widths from t 0  to t 3 . For example, as shown in  FIGS. 3A and 3B , coefficients of linear models are calculated by using the equation (1) like the case of the primary model creation unit  32  in combinations of the candidate “1” to the candidate “4”. Then, model application time ranges and linear model coefficients for the respective model series candidates are stored in the model series candidate memory unit  36 . 
         [0036]    The optimal model series selection unit  37  reads out a model application time range and linear model coefficient for each candidate from the model series candidate memory unit  36  and derives a candidate which minimizes a value obtained by the following equation (2). 
         [0000]    
       
         
           
             
               
                 
                   l 
                   = 
                   
                     
                       
                         - 
                         
                           N 
                           2 
                         
                       
                        
                       
                         log 
                          
                         
                           ( 
                           
                             2 
                              
                             
                                 
                             
                              
                             π 
                              
                             
                                 
                             
                              
                             
                               σ 
                               2 
                             
                           
                           ) 
                         
                       
                     
                     - 
                     
                       
                         1 
                         
                           2 
                            
                           
                               
                           
                            
                           
                             σ 
                             2 
                           
                         
                       
                        
                       
                         
                           ∑ 
                           
                             i 
                             = 
                             1 
                           
                           N 
                         
                          
                         
                           ɛ 
                           i 
                           2 
                         
                       
                     
                     + 
                     
                       
                         m 
                         2 
                       
                        
                       log 
                        
                       
                           
                       
                        
                       N 
                     
                   
                 
               
               
                 
                   ( 
                   2 
                   ) 
                 
               
             
           
         
       
     
         [0037]    Then, one optimal model series is selected from a plurality of model series stored in the model series candidate memory unit  36  (S 16 ). The equation (2) indicates an MDL information reference obtained when an error average ε with respect to models is “0” and follows the normal distribution of dispersion σ, N indicates the number of data items, σ indicates dispersion, and ε i  indicates an error or difference between an actual value and a value obtained by reading out the linear model coefficient stored in the model series memory unit  33  and derived by calculation according to the equation (1). In the example shown in  FIGS. 3A and 3B , the candidate “2” is selected as the optimal model series and time t 1  becomes a breakpoint of the model series. Then, the model series memory unit  33  stores the model application time range and linear model coefficient of the model series candidate which is selected by the optimal model series selection unit  37  and becomes minimum and updates the memory content into one selected model series. That is, in this case, the model series memory unit  33  stores only the newest model series. At this time, if the number of constituents of the model series varies or if the time series data exceeds a given threshold value, the process proceeds to the step S 17 . In other cases, the process returns to the step S 13 . 
         [0038]    In the step S 16 , the predictor calculation unit  38  reads out the linear model coefficient at the time of t&gt;t 3  stored in the model series memory unit  33  when the number of constituents of the model series in the model series memory unit  33  increases or when a value of the time series data at the current time t 3  exceeds a warning level value. Then, the predictor calculation unit  38  calculates time at which data exceeds a danger (fault) level value (&gt;warning level value) (S 17 ). More specifically, the predictor calculation unit  38  carries out calculation based on the equation (1) or (2) to derive time at which the danger (fault) level value is reached and outputs the thus derived time. 
         [0039]    The prediction result diagnostic unit  39  reads out a model series stored in the model series memory unit  33  and a time series data set stored in the time series data memory unit  31  and additionally outputs the reason why the prediction is attained (S 18 ). Specifically, the prediction result diagnostic unit  39  reads out final variation time (time t 1  in  FIGS. 3A and 3B ) from the model series memory unit  33  when the number of constituents of the model series in the model series memory unit  33  increases, further reads out time series data before and after the time t 1  from the time series data memory unit  31  and outputs a variation in the value as the result of diagnosis. 
       Second Embodiment 
       [0040]    A time series data prediction/diagnosis apparatus according to a second embodiment is explained with reference to the accompanying drawings. The time series data prediction/diagnosis apparatus according to the embodiment includes an input unit  1 , output unit  2  and prediction/diagnosis unit  4 . In  FIG. 4 , portions which are the same as those of  FIG. 1  are denoted by the same reference symbols. In  FIG. 4 , the prediction/diagnosis unit  4  further includes a unit space calculation unit  41 , unit space memory unit  42  and output value calculation unit  43  in addition to the prediction/diagnosis unit  3  shown in  FIG. 1 . The other configuration is the same as that of  FIG. 1 . In the embodiment, multivariate time series data is dealt with instead of the unit variate time series data. 
         [0041]    The time series data prediction/diagnosis apparatus according to the second embodiment with the above configuration is explained with reference to  FIG. 5 . 
         [0042]    First, time series data stored in the time series data memory unit  31 , model series stored in the model series memory unit  33  and unit space memory unit  42  are initialized (S 200 ). When multivariate time series data X is input via the input unit  1 , the time series data memory unit  31  additionally stores the multivariate time series data items X in an input order (S 201 ). 
         [0043]    The unit space calculation unit  41  reads out the number of data items stored in the time series data memory unit  31  and determines whether it is possible to create a unit space or not. It is preferable that the number of data items used to create the unit space will be three times the number of items (the number of variates) or more. If it is possible to create the unit space, it reads out all of the multivariate time series data items X stored in the time series data memory unit  31  to calculate unit space information (S 202 ). Specifically, the unit space calculation unit  41  derives an average of variates of the input multivariate time series data items X and standard deviation and calculates a correlation coefficient matrix of the variates and an inverse matrix of the correlation coefficient matrix. Then, the average of the variates which are unit space information, standard deviation, correlation coefficient matrix and inverse matrix of the correlation coefficient matrix are stored into the unit space memory unit  42 . 
         [0044]    The output value calculation unit  43  reads out multivariate time series data items X at respective times stored in the time series data memory unit  31  and unit space information stored in the unit space memory unit  42  and calculates an output value Y (S 203 ). In this case, the output value Y is data corresponding to the data of the time series data prediction/diagnosis apparatus according to the first embodiment. Like the first embodiment, the primary model creation unit  32  creates a primary model and the thus created primary model is stored in the model series memory unit  33  as in the first embodiment. 
         [0045]    After this, if new time series data X′ having a plurality of items is input, the new time series data X′ is additionally stored in the time series data memory unit  31  as in the step S 201  (S 204 ). 
         [0046]    The output value calculation unit  43  reads out the time series data X′ finally stored in the time series data memory unit  31  and unit space information stored in the unit space memory unit  42  and calculates an output value Y (S 205 ). Specifically, the output value calculation unit  43  reads out the average of variates and standard deviation from the unit space memory unit  42  with respect to the input multivariate time series data X and normalizes the multivariate time series data X by use of the above values. The output value calculation unit  43  further reads out the inverse matrix of the correlation coefficient matrix from the unit space memory unit  42  and calculates an output value by use of the inverse matrix and normalized multivariate time series data X. In this case, a function indicated by the following equation (3) is used as the calculation function for the output value. 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       D 
                        
                       
                         ( 
                         t 
                         ) 
                       
                     
                     2 
                   
                   = 
                   
                     
                       1 
                       k 
                     
                      
                     
                       X 
                        
                       
                         ( 
                         t 
                         ) 
                       
                     
                      
                     
                         
                     
                      
                     
                       R 
                       
                         - 
                         1 
                       
                     
                      
                     
                       
                         X 
                          
                         
                           ( 
                           t 
                           ) 
                         
                       
                       T 
                     
                   
                 
               
               
                 
                   ( 
                   3 
                   ) 
                 
               
             
           
         
       
     
         [0047]    The above equation (3) is one example of the calculation function for the output value and called a Mahalanobis distance in the Taguchi method. 
         [0048]    In the equation (3), X(t) is normalized input data at time t and is given by the following equation. 
         [0000]    
       
         
           
             
               X 
                
               
                 ( 
                 t 
                 ) 
               
             
             = 
             
               ( 
               
                 
                   
                     
                       
                         x 
                         1 
                       
                        
                       
                         ( 
                         t 
                         ) 
                       
                     
                     - 
                     
                       m 
                       1 
                     
                   
                   
                     σ 
                     1 
                   
                 
                 , 
                 … 
                  
                 
                     
                 
                 , 
                 
                   
                     
                       
                         x 
                         k 
                       
                        
                       
                         ( 
                         t 
                         ) 
                       
                     
                     - 
                     
                       m 
                       k 
                     
                   
                   
                     σ 
                     k 
                   
                 
               
               ) 
             
           
         
       
     
         [0000]    where X(t)T denotes a transposed matrix of X(t). Further, in the above equation, σ i  and m i  indicate a standard deviation and average of variates i in respective unit spaces. Further, x i (t) indicates an observed value of the variate i at time t or a value obtained by subjecting the observed value to a primary process. 
         [0049]    The operation of the steps S 206  to S 209  is the same as that of the steps S 14  to S 17  of  FIG. 2 , and therefore, the explanation thereof is omitted. 
         [0050]    The prediction result diagnostic unit  39  reads out model series stored in the model series memory unit  33  and a time series data set stored in the time series data memory unit  31  and additionally outputs the reason why the prediction is reached (S 210 ). The detail prediction method is explained below. 
         [0051]    A case wherein multivariate time series data X of {{x 1 (1), x 2 (1), . . . , x k (1)}, . . . , {x 1 (τ), x 2 (τ), . . . , x k (τ)}, . . . , {x 1 (T), x 2 (T), . . . , x k (T)}} is input is considered. In this example, the model series is configured by two models, τ indicates variation time of the model series stored in the model series memory unit  33  and T indicates current time. 
         [0052]    The prediction result diagnostic unit  39  calculates factors which largely contribute to coincidence of models at time t=1, . . . , τ and derives characteristic values of factors which deviate from the models at respective times of time t=τ, . . . , T by calculation. A set of factors whose characteristic values become larger than the threshold value in both of the above intervals is used as the result of diagnosis for prediction. At this time, transition of the results of diagnosis at time t=τ, . . . , T can be output by extracting a factor variation at each time t=τ, . . . , T. 
         [0053]    The flow of the process of the prediction result diagnostic unit  39  is explained in detail with reference to  FIG. 6 . 
         [0054]    Time t is initialized to “1” and the average Gb i  (i=1, . . . , k) of gains is initialized to “0” (S 300 ). 
         [0055]    Then, whether or not time t is before the time τ of a breakpoint of the model is determined (S 301 ). If the time t is before the time τ (“Yes” in S 301 ), the prediction result diagnostic unit  39  first reads out multivariate time series data X(t) from the time series data memory unit  31  (S 302 ). The multivariate time series data X(t) is assigned to a two-level orthogonal table L n  in which the first level: “variate i is used” and the second level: “variate i is not used” are set (S 303 ). In this case, L n  is a two-level orthogonal table having the minimum size n which causes the number of variates to become equal to or larger than k.  FIGS. 7A and 7B  are diagrams showing an example of an orthogonal table when the number of variates is set to 5 to 7. The orthogonal table is an assignment table for experiments having a characteristic in which all of the combinations of the levels of desired two variates (desired two columns in  FIG. 7A ) appear by the same number of times and it becomes possible to perform experiments for deriving characteristics associated with a large number of variates by a small number of times. 
         [0056]    A gain difference Gdi(t) (i=1, . . . , k) of each variate associated with a small expectation characteristic of the two-level orthogonal table L n  created in the step S 303  is derived by use of the equations (4) and (5) (S 304 ). D(d, t) 2  is an output value (Mahalanobis distance) obtained when an experiment is performed by using only variates of the first level of the experiment No. d (d=1, . . . , n) at time t. 
         [0057]    In order to lower the calculation cost, it is desirable to calculate the inverse matrix of the correlation matrix in each experiment in the step S 202  of  FIG. 5  and store the same. 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       
                         G 
                         i 
                       
                        
                       
                         ( 
                         t 
                         ) 
                       
                     
                     = 
                     
                       
                         ∑ 
                         
                           d 
                           = 
                           1 
                         
                         n 
                       
                        
                       
                         C 
                          
                         
                           ( 
                           
                             d 
                             , 
                             i 
                             , 
                             t 
                           
                           ) 
                         
                       
                     
                   
                    
                   
                     
 
                   
                    
                   
                     
                       C 
                        
                       
                         ( 
                         
                           d 
                           , 
                           i 
                           , 
                           t 
                         
                         ) 
                       
                     
                     = 
                     
                       { 
                       
                         
                           
                             
                               
                                 η 
                                 d 
                               
                                
                               
                                 ( 
                                 t 
                                 ) 
                               
                             
                           
                           
                             
                               ( 
                               
                                 
                                   
                                     
                                       when 
                                        
                                       
                                           
                                       
                                        
                                       first 
                                        
                                       
                                           
                                       
                                        
                                       level 
                                        
                                       
                                           
                                       
                                        
                                       of 
                                        
                                       
                                           
                                       
                                        
                                       orthogonal 
                                     
                                   
                                 
                                 
                                   
                                     
                                       table 
                                        
                                       
                                           
                                       
                                        
                                       
                                         { 
                                         
                                           d 
                                           , 
                                           i 
                                         
                                         } 
                                       
                                        
                                       
                                           
                                       
                                        
                                       is 
                                        
                                       
                                           
                                       
                                        
                                       used 
                                     
                                   
                                 
                               
                               ) 
                             
                           
                         
                         
                           
                             0 
                           
                           
                             
                               ( 
                               
                                 
                                   
                                     
                                       when 
                                        
                                       
                                           
                                       
                                        
                                       second 
                                        
                                       
                                           
                                       
                                        
                                       level 
                                        
                                       
                                           
                                       
                                        
                                       of 
                                        
                                       
                                           
                                       
                                        
                                       orthogonal 
                                     
                                   
                                 
                                 
                                   
                                     
                                       table 
                                        
                                       
                                           
                                       
                                        
                                       
                                         { 
                                         
                                           d 
                                           , 
                                           i 
                                         
                                         } 
                                       
                                        
                                       
                                           
                                       
                                        
                                       is 
                                        
                                       
                                           
                                       
                                        
                                       used 
                                     
                                   
                                 
                               
                               ) 
                             
                           
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   4 
                   ) 
                 
               
             
           
         
       
     
         [0000]        n   d ( t )=−10×log  D ( d,t ) 2    (5) 
         [0058]    The average gain difference Gdb i  (i=1, . . . , k) of each variate is updated by use of the gain difference Gd i (t) (i=1, . . . , k) of each variate (S 305 ). 
         [0059]    Then, the time t is incremented and the process returns to the step S 301  (S 306 ). If the time t becomes larger than time τ, the process proceeds to the step S 307  (“No” in S 301 ). 
         [0060]    In the step S 307 , if the time t is before the time T, the process proceeds to the step S 308  (“Yes” in S 307 ). 
         [0061]    The multivariate time series data X(t) is read out from the time series data memory unit  31  by the same procedure as in the step S 302  (S 308 ). 
         [0062]    The multivariate time series data X(t) is assigned to the two-level orthogonal table L n  by the same procedure as in the step S 303  (S 309 ). 
         [0063]    A gain difference Gd i  (i=1, . . . , k) of each variate associated with a large expectation characteristic of the two-level orthogonal table L n  created in the step S 309  is derived by use of the equations (4) and (6) (S 310 ). 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       η 
                       d 
                     
                      
                     
                       ( 
                       t 
                       ) 
                     
                   
                   = 
                   
                     
                       - 
                       10 
                     
                     × 
                     log 
                      
                     
                         
                     
                      
                     
                       1 
                       
                         
                           D 
                            
                           
                             ( 
                             
                               d 
                               , 
                               t 
                             
                             ) 
                           
                         
                         2 
                       
                     
                   
                 
               
               
                 
                   ( 
                   6 
                   ) 
                 
               
             
           
         
       
     
         [0064]    The average gain difference Gdb i  of the variate derived in the step S 305  and the gain difference Gd i  of each variate associated with a large expectation characteristic derived in the step S 310  are evaluated by use of the following equation (7) and a variate index i larger than the threshold value and time t are temporarily stored (S 311 ). 
         [0000]    
       
         
           
             
               
                 
                   
                     F 
                      
                     
                       ( 
                       t 
                       ) 
                     
                   
                   = 
                   
                     
                       
                         
                           Gd 
                           i 
                         
                          
                         
                           ( 
                           t 
                           ) 
                         
                       
                       × 
                       
                         Gdb 
                         i 
                       
                     
                     
                       
                         
                           Gd 
                           i 
                         
                          
                         
                           ( 
                           t 
                           ) 
                         
                       
                       + 
                       
                         Gdb 
                         i 
                       
                     
                   
                 
               
               
                 
                   ( 
                   7 
                   ) 
                 
               
             
           
         
       
     
         [0065]    Then, the time t is incremented and the process returns to the step S 307  (S 312 ) and if the time t becomes larger than the time T, the process proceeds to the step S 313  (“No” in S 307 ). After this, the variate index i and time t temporarily stored in the step S 311  are read out and sorted according to time t and transition of the gain difference is displayed as graphs as shown in  FIGS. 8A and 8B , for example (S 313 ). 
         [0066]    As shown in  FIG. 8A , it is understood that outputs are different in the first interval from time t 0  to t 1 , the second interval from time t 1  to t 2  and the third interval from time t 2  to t 3 . More specifically, in the first and second intervals, the numbers of input data items are different and the number of input data items in the second interval is smaller than that in the first interval. However, since the difference in the linear model does not vary very much in the first and second intervals, the same model can be applied. In the model after the time t 2 , the number of data items can be regarded as being the same as in the second interval, but the inclination of the linear model is changed. Therefore, it is considered that the model applied has been changed. The model before the breakpoint of the time t 2  (that is, the model in the first and second intervals) is set as a normal model and the model after the breakpoint (that is, the model in the third interval) is set as an abnormal model. 
         [0067]    At this time, it is supposed that a diagram shown in  FIG. 8B  is obtained when gain differences are taken for respective variates and the sorting process is performed for the gain differences. In this case, first, the gain difference for a variate 1 varies at the time t 2 . After this, the gain differences for a variate 2, . . . , variate k vary. Thus, it is understood that the variate which gives the greatest contribution to the variation of the model is the variate 1 and the variate 2, . . . , variate k vary due to the influence by the variate 1. In this case, it is preferable to derive items which contribute to the normal model and abnormal model and consider the items as a factor of the variation in the model. Thus, in the embodiment, the type of the variate which contributes to the variation in the model can be analyzed. Further, a warning may be issued when the warning line is exceeded after the breakpoint of the time t 2 . 
         [0068]    According to the above embodiments, the model can be fit for a simple and highly precise model while a change in information is coped with. This is because a single model or a plurality of divided models are used as an optimal model by using the efficient method for dividing windows based on the length of a unit space while the penalty represented by a plurality of models and a difference between information and a model is set as a reference. 
         [0069]    Further, a warning can be issued on the real-time basis when the model varies. This is because it is supposed that a change in the number of models indicates a rapid variation in information and a warning is issued in a case where the number of models varies when the models are sequentially changed. 
         [0070]    Also, the detail diagnosis for a variation in the model can be performed. This is attained by analyzing a factor fit for the model before division and a factor which deviates from the model after division in the intervals before and after the dividing point of the models and using a factor which causes the values of the above two factors to become large as the diagnosis for the result of prediction. 
         [0071]    According to the embodiments, model selection with high precision can be carried out while a variation in the information source is coped with, a warning can be issued on the real-time basis when the model varies or a cause-and-effect relation between items which cause a variation in the model can be extracted and presented. 
         [0072]    Additional advantages and modifications will readily occur to those skilled in the art. Therefore, the invention in its broader aspects is not limited to the specific details and representative embodiments shown and described herein. Accordingly, various modifications may be made without departing from the spirit or scope of the general inventive concept as defined by the appended claims and their equivalents.