The present invention generally relates to a prediction method. Specifically, the prediction method relates to building a prediction model based on a frequency-based feature.
When monitoring or detecting errors from a monitored system, it will face unbalanced quantity of system status due to far less number of status of error than number of normal status. This means that information representing an error in the monitored system is much less than that representing that the monitored system is normal. In a prediction system which uses a machine learning algorithm to identify system status, aforesaid unbalance will affect accuracy of the prediction to raise possibility of errors. Therefore, how to effectively predict occurrence of a future error in the monitored system with scarce status of error, and issue an alarm for errors are objects in information industry.
An object of the present invention is to provide a prediction method for system errors which is capable to extract a frequency-based feature according to distribution of clustering, grouping or classification of corresponding features in a previous time slot of a current time slot, so as to improve efficiency of a machine learning algorithm, even with scarce status of system errors. Further, the prediction method may facilitate predicting and alerting a future error of the monitored system.
According to an aspect of the present invention, a prediction method for system errors, applied in a prediction system comprising a processing unit for predicting and alerting an error of a monitored system, the prediction method comprising steps of: pre-processing, with the processing unit, training data formed with a plurality of data points at a plurality of time slots to generate corresponding features to the data points of each time slot, and extracting a frequency-based feature for each time slot according to distribution of clustering, grouping or classification of the corresponding features in the previous time slot of a current time slot; and using, with the processing unit, a machine learning algorithm and taking model building data coming from the corresponding features and the frequency-based features as input to build up a prediction model for predicting and alerting a future error of the monitored system.
The present specification discloses several examples of a prediction method for system errors. Please refer to
An enterprise supporting system which is an electrical system supporting production, management and surveillance of an enterprise may be taken as an example of the monitored system 200; however, the enterprise is not limited to a certain industry. In the present example, the enterprise supporting system is an electrical system supporting product management, billing, payment and operation orchestration. In another example, the enterprise supporting system may be an electrical system supporting controlling of various sensors and controllers, management and monitoring production in a factory. The enterprise supporting system 200 may comprise for example but not limited to users 201, Internet/Intranet 202, a firewall 203, a web front-end unit 204, a web back-end unit 205, an intermediate service unit 206, a lightweight directory access protocol (LDAP) unit 207 and a database 208. Please note the internal operation and structure of the enterprise supporting system 200 are not limited to
As shown in
Then, the processing unit 101 may perform a sub-step S1-2: generating the corresponding features to the data points of each time slot. When implemented the sub-step S1-2, the processing unit 101 may use information gain algorithm to reduce dimension of the training data, and then increase a weight of the data set the number of which is less, and choose the first A features in order of importance, from high to low, and the first B features in order of discreteness, from high to low, in the training data to generate the corresponding features to the data points of each time slot. Here, a i-th feature of Xj(1) may be represented by Xj(1)(i), j=1, 2 . . . T, and Xj(2) may be derived with removing Xj(1)(i) from Xj(1), and ∀i∉FA∪FB. As such, an output A(2)={(Xj(2), yj)|j=1, 2 . . . T} may be generated.
Then, the processing unit 101 may perform a sub-step S1-3: extracting the frequency-based feature for each time slot according to distribution of clustering, grouping or classification of the corresponding features in the previous time slot of the current time slot. When implemented the sub-step S1-3, the processing unit 101 may use a clustering algorithm to calculate the distribution of the corresponding features. The clustering algorithm may comprise at least one of K-means clustering algorithm and Gaussian mixture model (GMM) algorithm. Here, K-means clustering algorithm is used for example. Please refer to
and k=0, 1, . . . , c−1. Please refer to
After the sub-step S1-3, the processing unit 101 may perform a sub-step S1-4: normalizing of the frequency-based feature. As such, a biased training result may be prevented after training with the machine learning algorithm. Then, the processing unit 101 may perform a sub-step S1-5: combining the normalized frequency-based feature and the corresponding features. The feature vector of the frequency-based feature of the m-th feature in the j-th time slot is zm,j, and a dimension of a data set X(2)={Xj(2))|j=1, 2 . . . T} is Dim (X(2)). Combining Xj(2) and zm,j, 1≤m≤Dim (X(2)), and Xj(3) may be derived. As such, an output A(3)={(Xj(3), yj)|j=v, v+1, v+2 . . . T} may be generated.
After the sub-step S1-5, the processing unit 101 may perform a sub-step S1-6: slicing the feature vector from the frequency-based feature and the corresponding features with a predetermined window in chronological order to generate the model building data. For example, the j-th, (j−1)-th, (j−2)-th, . . . (j−w+1)-th time slot, the total number of which may depend on the size of the window, may be sliced from A(3) for a j-th prediction. Therefore, Xj(4)=(Xj−w+1(3), Xj−w+3(3), . . . , Xj(3)) is generated, and an output A(4)={(Xj(4), yj)|v+w−1≤j≤T} may be generated.
Then, in a step S2, the processing unit 101 may use a machine learning algorithm and take model building data coming from the corresponding features and the frequency-based features as input to build up a prediction model for predicting and alerting a future error of the monitored system. Specifically, one of random forest (RF) algorithm and support vector machine (SVM) algorithm may be used to generate the model building data with applying a greater weight to the data set in which the data number is less with the feature vector zm,j of the frequency-based feature and the corresponding features of the j-th time slot, such as A(4), as input, combined altogether.
Then, the processing unit 101 may use the prediction model to predict behaviors of the enterprise supporting system 200 with continuously input of the various log data of the enterprise supporting system 200. Here, the prediction may be implemented with a possibility of a behavior. For example, a leading system error which is not induced by anomaly of another system may be predicted with analyzing the log data. Therefore, the enterprise may receive accurate and timely alert for error even before a consecutive system error occurs. As mentioned above, according to the prediction method for system errors of the present embodiment, a frequency-based feature may be extracted according to distribution of clustering, grouping or classification of the corresponding features in the previous time slot of the current time slot, so as to improve the efficiency of the machine learning algorithm, even with scarce status of system errors. Further, the prediction method may facilitate predicting and alerting a future error of the monitored system.
It is to be understood that these embodiments are not meant as limitations of the invention but merely exemplary descriptions of the invention with regard to certain specific embodiments. Indeed, different adaptations may be apparent to those skilled in the art without departing from the scope of the annexed claims. For instance, it is possible to add bus buffers on a specific data bus if it is necessary. Moreover, it is still possible to have a plurality of bus buffers cascaded in series.
Number | Date | Country | Kind |
---|---|---|---|
109143631 | Dec 2020 | TW | national |