Failure prediction method and related apparatus
Patent Information
- Application Number
- CN202011596329.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2020-12-29
- Publication Date
- 2026-08-21
- Estimated Expiration
- 2040-12-29
AI Technical Summary
这就导致训练得到的预测模型的预测准确度较低
[0023] In this embodiment, the sample data is re-divided into positive and negative sample data. The positive sample data includes all fault data and a portion of sub-health data, which is similar to the fault data. The negative sample data includes healthy data and a portion of sub-health data, which is less similar to the fault data. Compared to existing methods that use fault data as negative samples and non-fault data as positive samples, this method effectively addresses the imbalance between positive and negative samples by re-dividing the sample data. Based on this re-division of positive and negative sample data, the model can be trained more effectively, improving the accuracy of model predictions.
Smart Images

Figure CN114756420B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of fault diagnosis technology, and in particular to a fault prediction method and related apparatus. Background Technology
[0002] With the development of science and technology, training machine learning models based on sample data has been widely applied in various fields. When training a machine learning model, a large amount of sample data can be collected, and the model can be trained based on the features extracted from the sample data, so that the model's predictions of the input data gradually approach the extracted features. Sample data can include positive and negative samples. Positive samples are data belonging to a specific category that the machine learning model needs to learn, while negative samples are data that does not belong to that category.
[0003] In certain application scenarios, the number of positive sample data may be very small. For example, in the field of hard drive failure prediction, solid-state drives (SSDs) have a very low failure rate, resulting in very little data on failed drives. This leads to low prediction accuracy of the trained prediction model. Summary of the Invention
[0004] This application discloses a fault prediction method and related apparatus, which can improve the accuracy of model prediction.
[0005] The first aspect of this application discloses a fault prediction method, comprising: dividing positive sample data and negative sample data from multiple sample data, wherein the positive sample data includes fault data and a first part of sub-health data from the multiple sample data, the similarity between the features of the first part of sub-health data and the features of the fault data is greater than a first threshold, and the negative sample data includes health data and a second part of sub-health data from the multiple sample data, the similarity between the features of the second part of sub-health data and the features of the fault data is less than a second threshold; training a fault prediction model based on the positive sample data and the negative sample data, wherein the fault prediction model is used to analyze target data.
[0006] In this embodiment, the sample data is re-divided into positive and negative sample data. The positive sample data includes all fault data and a portion of sub-health data, which is highly similar to the fault data. The negative sample data includes healthy data and a portion of sub-health data, which is less similar to the fault data. Compared to existing methods that use fault data as negative samples and non-fault data as positive samples, this method effectively addresses the imbalance between positive and negative samples by re-dividing the sample data. Based on this re-division of positive and negative sample data, the model can be trained more effectively, improving the accuracy of model predictions.
[0007] In one possible implementation of the first aspect, before dividing positive sample data and negative sample data from multiple sample data, the method further includes: obtaining the difference value of each sample data in multiple preset sliding windows according to preset sliding windows; summing the difference values of each sample data in multiple preset sliding windows to obtain multiple sample features.
[0008] It can be seen that the sample features extracted by the preset sliding window can reflect information within a certain time window, which makes it easier to better divide the sample data.
[0009] In one possible implementation of the first aspect, dividing positive sample data and negative sample data from multiple sample data includes: determining target sub-health data from the multiple sample data, wherein the similarity between the features of the target sub-health data and the features of the healthy data is less than a third threshold; marking the target sub-health data whose feature similarity with the fault data is greater than a first threshold as a first part of sub-health data; marking the target sub-health data whose feature similarity with the fault data is less than a second threshold as a second part of sub-health data; marking the fault data and the first part of sub-health data as positive sample data; and marking the healthy data and the second part of sub-health data as negative sample data.
[0010] As can be seen, the method first identifies the target sub-health data from the sample data. Then, data within the target sub-health data that are similar to the fault data are labeled as the first part of the sub-health data, which is classified as positive sample data, thus expanding the original positive sample data that only contained fault data. Data within the target sub-health data that are less similar to the fault data are labeled as the second part of the sub-health data, and the second part of the sub-health data, along with the healthy data, are classified as negative sample data. This method can better segment the sample data, resulting in a balanced state of positive and negative sample data.
[0011] In one possible implementation of the first aspect, determining multiple target sub-health data from multiple sample data includes: marking data with a feature value of 0 or a feature value trending towards 0 in the multiple sample data as healthy data; performing feature similarity analysis on the healthy data and the multiple sample data, and marking data in the multiple sample data with a feature similarity to the healthy data that is less than a third threshold as sub-health data.
[0012] As can be seen, the process begins by identifying healthy data from the sample data, and then marking data within the sample data that is not significantly similar to the healthy data as target sub-health data. At this point, the sample data is divided into fault data, target sub-health data, and fault data. The target sub-health data can be considered the boundary between fault data and healthy data.
[0013] In one possible implementation of the first aspect, after training the fault prediction model based on positive sample data and negative sample data, the method further includes: analyzing the target data based on the fault prediction model to obtain prediction results; determining multiple causes of the prediction results based on the prediction results; and outputting the prediction results, multiple causes, and the importance percentage of each cause in the prediction results.
[0014] As can be seen, the fault prediction model can not only output the prediction result, but also multiple causes of the prediction result, as well as the importance percentage of each cause. Therefore, based on the multiple causes in the prediction result, guidance can be provided for operation and maintenance, facilitating targeted maintenance.
[0015] In one possible implementation of the first aspect, determining the cause of the prediction result based on the prediction result includes: selecting a decision tree corresponding to the prediction result from the fault prediction model based on the prediction result; and obtaining the splitting features on the decision path corresponding to the decision tree, wherein the splitting features are the cause of the prediction result.
[0016] It can be seen that determining the splitting characteristics based on the fault prediction model and using the splitting characteristics as the cause of the prediction result eliminates the need for manual search for the cause, making it more convenient and reliable.
[0017] In one possible implementation of the first aspect, the positive sample data and the negative sample data are obtained by partitioning multiple sample data according to one or more of the following methods: growth trend analysis, distance calculation, and clustering.
[0018] As can be seen, sample data can be classified using different classification methods, resulting in a wider variety of classification methods and greater selectivity.
[0019] In one possible implementation of the first aspect, the fault prediction model is a random forest model.
[0020] The second aspect of this application discloses a fault prediction device, comprising:
[0021] The sample partitioning unit is used to partition positive sample data and negative sample data from multiple sample data. The positive sample data includes fault data and a first part of sub-health data from the multiple sample data. The similarity between the features of the first part of sub-health data and the features of the fault data is greater than a first threshold. The negative sample data includes health data and a second part of sub-health data from the multiple sample data. The similarity between the features of the second part of sub-health data and the features of the fault data is less than a second threshold.
[0022] The training unit is used to train a fault prediction model based on positive and negative sample data, whereby the fault prediction model is used to analyze the target data.
[0023] In this embodiment, the sample data is re-divided into positive and negative sample data. The positive sample data includes all fault data and a portion of sub-health data, which is similar to the fault data. The negative sample data includes healthy data and a portion of sub-health data, which is less similar to the fault data. Compared to existing methods that use fault data as negative samples and non-fault data as positive samples, this method effectively addresses the imbalance between positive and negative samples by re-dividing the sample data. Based on this re-division of positive and negative sample data, the model can be trained more effectively, improving the accuracy of model predictions.
[0024] In one possible implementation of the second aspect, a feature unit is further included, configured to: obtain the difference value of each sample data in a plurality of preset sliding windows according to preset sliding windows; and sum the difference values of each sample data in the plurality of preset sliding windows respectively to obtain a plurality of sample features.
[0025] It can be seen that the sample features extracted by the preset sliding window can reflect information within a certain time window, which makes it easier to better divide the sample data.
[0026] In one possible implementation of the second aspect, the sample segmentation unit is specifically configured to: determine target sub-health data from multiple sample data, wherein the similarity between the features of the target sub-health data and the features of the healthy data is less than a third threshold; label the target sub-health data whose feature similarity with the fault data is greater than a first threshold as a first part of sub-health data; label the target sub-health data whose feature similarity with the fault data is less than a second threshold as a second part of sub-health data; label the fault data and the first part of sub-health data as positive sample data; and label the healthy data and the second part of sub-health data as negative sample data.
[0027] As can be seen, the method first identifies the target sub-health data from the sample data. Then, data within the target sub-health data that are similar to the fault data are labeled as the first part of the sub-health data, which is classified as positive sample data, thus expanding the original positive sample data that only contained fault data. Data within the target sub-health data that are less similar to the fault data are labeled as the second part of the sub-health data, and the second part of the sub-health data, along with the healthy data, are classified as negative sample data. This method can better segment the sample data, resulting in a balanced state of positive and negative sample data.
[0028] In one possible implementation of the second aspect, the sample segmentation unit is specifically used to: mark data with a feature value of 0 or a feature value tending to 0 among multiple sample data as healthy data; perform feature similarity analysis on the healthy data and multiple sample data, and mark data among multiple sample data with a feature similarity to the healthy data that is less than a third threshold as sub-healthy data.
[0029] As can be seen, the process begins by identifying healthy data from the sample data, and then marking data within the sample data that is not significantly similar to the healthy data as target sub-health data. At this point, the sample data is divided into fault data, target sub-health data, and fault data. The target sub-health data can be considered the boundary between fault data and healthy data.
[0030] In one possible implementation of the second aspect, a predictive analysis unit is further included, which is used to analyze the prediction results of the target data based on the fault prediction model; determine multiple causes of the prediction results based on the prediction results; and output the prediction results, multiple causes, and the importance percentage of each cause of the prediction results.
[0031] As can be seen, the fault prediction model can not only output the prediction result, but also multiple causes of the prediction result, as well as the importance percentage of each cause. Therefore, based on the multiple causes in the prediction result, guidance can be provided for operation and maintenance, facilitating targeted maintenance.
[0032] In one possible implementation of the second aspect, the prediction analysis unit is specifically used for: selecting a decision tree corresponding to the prediction result from the fault prediction model based on the prediction result; and obtaining the splitting features on the decision path corresponding to the decision tree, wherein the splitting features are the causes leading to the prediction result.
[0033] It can be seen that determining the splitting characteristics based on the fault prediction model and using the splitting characteristics as the cause of the prediction result has credibility.
[0034] In one possible implementation of the second aspect, the positive sample data and the negative sample data are obtained by partitioning multiple sample data according to one or more of the following methods: growth trend analysis, distance calculation, and clustering.
[0035] As can be seen, sample data can be classified using different classification methods, resulting in a wider variety of classification methods and greater selectivity.
[0036] In one possible implementation of the second aspect, the fault prediction model is a random forest model.
[0037] The third aspect of this application discloses a fault prediction device, including at least one processor, at least one memory, and a communication interface. The communication interface is used to send and / or receive data, and the at least one processor is used to call a computer program stored in at least one memory, so that the device implements the method described in the first aspect or any possible implementation of the first aspect.
[0038] The fourth aspect of this application discloses a computer-readable storage medium storing a computer program that, when run on one or more processors, performs the method described in the first aspect or any possible implementation thereof.
[0039] The fifth aspect of this application discloses a chip system including at least one processor, a memory, and an interface circuit. The interface circuit is used to provide information input / output to the at least one processor. The memory stores a computer program that, when run on one or more processors, executes the method described in the first aspect or any possible implementation of the first aspect. Attached Figure Description
[0040] The accompanying drawings used in the embodiments of this application are described below.
[0041] Figure 1 This is a schematic diagram of the structure of a fault prediction system provided in an embodiment of this application;
[0042] Figure 2 This is a schematic diagram of a fault prediction scenario provided in an embodiment of this application;
[0043] Figure 3 This is a flowchart illustrating a fault prediction method provided in an embodiment of this application;
[0044] Figure 4 This is a schematic diagram of the structure of a fault prediction device provided in an embodiment of this application;
[0045] Figure 5 This is a schematic diagram of the structure of a fault prediction device provided in an embodiment of this application. Detailed Implementation
[0046] The embodiments of this application are described below with reference to the accompanying drawings.
[0047] In the field of hard drive failure prediction, in recent years, more and more enterprises have adopted solid-state drives (SSDs) for data storage. However, as SSDs approach the mid-to-late stage of their lifecycle, the inventors of this application have observed that the failure rate of SSDs in some large data centers is increasing year by year. Hard drive failures can directly affect the continuity of customer business. Compared to passive fault tolerance technologies, proactive hard drive failure prediction can, based on the prediction results, allow for planned execution of operational strategies to prevent sudden SSD failures from impacting customer business availability and customer experience.
[0048] Currently, in the field of hard disk failure prediction, the inventors of this application have discovered the following problems with failure prediction:
[0049] Question 1: Hard drive failure prediction research primarily focuses on hard disk drives (HDDs) because SSDs have a lower failure rate, resulting in less data on failed hard drives. This can lead to an imbalance of positive and negative samples during model training. Some failed hard drives lack obvious characteristics in SMART and I / O data, while healthy hard drives possess numerous features. Therefore, the characteristics of healthy hard drives can confuse the identification of failed hard drives, making it difficult to distinguish between healthy and failed hard drives based on their features.
[0050] Current fault prediction methods involve randomly sampling data from healthy and faulty hard drives at a certain ratio as a training set, and using the remaining dataset as a test / validation set, for example, by using a sampling method.
[0051] Sampling methods include upsampling and downsampling. Downsampling refers to randomly sampling a large proportion of the sample, or extracting a large proportion of the sample through clustering methods such as K-means; upsampling refers to repeatedly sampling a small amount of sample data (such as naive random upsampling), or generating sample data through methods such as the Synthetic Minority Oversampling Technique (SMOTE).
[0052] The inventors of this application discovered that because the sampling method does not divide the hard disk data according to the characteristics of the hard disk data, it is unable to effectively distinguish between positive and negative samples.
[0053] For example, unsupervised and anomaly detection methods can be used to address the imbalance between positive and negative samples.
[0054] Unsupervised and anomaly detection methods train models using only the majority of the sample classes. Commonly used methods include statistical anomaly detection algorithms (such as boxplot, 3-sigma, moving average, etc.), density-based anomaly detection algorithms (such as Local Outlier Factor (LOF)), clustering-based anomaly detection algorithms (K-means, DBSCAN, one-class SVM, iForest), principal component analysis (PCA)-based algorithms, and algorithms based on sample reconstruction error (AutoEncoder), etc.
[0055] The inventors of this application discovered that unsupervised and anomaly detection methods lack the utilization of sample labeling information and are therefore unable to effectively distinguish between positive and negative samples.
[0056] Question 2: Current research in fault prediction primarily aims to improve model recall and reduce false positive rates. For example, it uses models such as Support Vector Machines (SVM), Random Forests, and Long Short-Term Memory (LSTM) to enhance recall and reduce false positive rates. However, the inventors of this application have discovered that the Random Forest provided by existing sklearn methods only provides feature importance for the training set data. Furthermore, the inventors have found that the Treeinterpreter method can only provide the contribution of feature values in the prediction results of the Random Forest model.
[0057] The inventors of this application have discovered that current fault prediction technologies lack model interpretability analysis, failing to provide reasons for the predicted results given by the model. This may result in the inability to take targeted maintenance actions based on the predicted results.
[0058] The Treeinterpreter method lacks feature value proportions and visualization, which is not conducive to users reading and understanding information.
[0059] Question 3: In training the fault prediction model, the inventors of this application have found that the current feature construction method only calculates the first / second difference values of adjacent sample data.
[0060] First-order difference calculation:
[0061] △y(x)=y(x+1)-y(x) Formula 1
[0062] Second-order difference calculation:
[0063] △(△y(x))=△(y(x+1)-y(x))=△y(x+1)-△y(x) Formula 2
[0064] The inventors of this application discovered that the first / second difference values of adjacent sample data cannot characterize the increasing trend of sample data within a historical time window. Because the failure time of a faulty disk may occur during periods when feature values are not increasing (times when the first / second difference value is 0), current feature construction methods alone cannot predict such failures, which may affect the model's classification performance.
[0065] To address the aforementioned problems, this application provides a fault prediction method and related apparatus. This method uses the sum of the first-order differences of each sample data point within a preset sliding window as sample features, thereby obtaining multiple sample features. Then, positive and negative sample features are derived from these multiple features. Positive sample features include features of fault data and features of a first portion of sub-health data from the multiple sample data. The similarity between the features of the first portion of sub-health data and the features of the fault data is greater than a first threshold. Negative sample features include healthy data and a second portion of sub-health data from the multiple sample data. The similarity between the features of the second portion of sub-health data and the features of the fault data is less than a second threshold. Next, a fault prediction model is trained based on the positive and negative sample features. The prediction result for the target data is obtained based on the fault prediction model. The causes leading to the prediction result are determined based on the prediction result, and the prediction result, the causes leading to the prediction result, and the importance percentage of each cause leading to the prediction result are output.
[0066] Please see Figure 1 , Figure 1This is a schematic diagram of the structure of a fault prediction system provided in an embodiment of this application. The fault prediction system 100 includes a data acquisition module 101, a preprocessing module 102, a feature extraction module 103, a model training module 104, and a fault prediction module 105, wherein:
[0067] The data acquisition module 101 is used to collect and statistically analyze data from electronic devices. This data is sample data used for model training. The sample data may exhibit an imbalance in the distribution of positive and negative samples. For example, if the sample data is from an SSD, there may be very little data from faulty hard drives and a large amount from non-faulty hard drives, meaning very few positive samples and many negative samples. The electronic devices can be those with data storage capabilities, including physical storage devices such as memory (including random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM), etc.), disks (including compact disc random access memory (CD-RAM), solid state hard drives (SSD), etc.), other electronic devices with data storage capabilities such as network attached storage (NAS) servers, and virtual storage devices such as virtual machines and containers.
[0068] The preprocessing module 102 is used to preprocess the sample data collected by the data acquisition module 101. Further, the preprocessing may include: organizing the data format of the sample data, filtering out a list of fault data, labeling fault data in multiple sample data sets, and labeling fault data according to the fault time, among other processing methods.
[0069] The feature extraction module 103 is used to construct sliding window cumulative difference features. Specifically, it obtains the difference value of each sample data within a plurality of preset sliding windows according to preset sliding windows; and sums the difference values of each sample data within the plurality of preset sliding windows to obtain multiple sample features. It should be noted that the difference value can be a first-order difference value or a second-order difference value, and this application embodiment does not impose any restrictions.
[0070] The model training module 104 is an electronic device with data processing and data transmission / reception capabilities. It can be a physical device such as a host, rack server, or blade server, or a virtual device such as a virtual machine or container. It divides multiple sample data sets into positive and negative sample data. The positive sample data includes fault data and a first portion of sub-health data from the multiple sample data sets. The similarity between the features of the first portion of sub-health data and the features of the fault data is greater than a first threshold. The negative sample data includes healthy data and a second portion of sub-health data from the multiple sample data sets. The similarity between the features of the second portion of sub-health data and the features of the fault data is less than a second threshold. Then, the model training module 104 can train a fault prediction model based on the divided positive and negative sample data.
[0071] The fault prediction module 105 is an electronic device with data processing and data transmission and reception capabilities. It can be a physical device such as a host, rack server, or blade server, or a virtual device such as a virtual machine or container. It is used to predict the target data based on the trained fault prediction model, and then determine multiple causes of the prediction results based on the prediction results, and output the prediction results, multiple causes, and the importance ratio of each cause in the prediction results.
[0072] Optionally, the fault prediction module 105 can be a single device, a module within a device, or a cluster of multiple devices, along with the data acquisition module 101, preprocessing module 102, feature extraction module 103, and model training module 104. For example, the fault prediction module 105 can be deployed in one or more devices that require fault prediction. However, the devices that require fault prediction can be those deployed with the data acquisition module 101, preprocessing module 102, feature extraction module 103, and model training module 104, or they can be devices not deployed with these modules.
[0073] Please see Figure 2 , Figure 2 This is a schematic diagram of a fault prediction scenario provided in an embodiment of this application. From Figure 2 As can be seen, scenario 20 includes feature extraction 20A, model training 20B, and fault analysis 20C. Feature extraction 20A includes a data collection module 200, a fault labeling module 201, a feature extraction module 202, and a feature selection module 203; model training 20B includes a sample data partitioning module 204 and a model training module 205; and fault analysis 20C includes a fault prediction module 206 and an analysis module 207.
[0074] The data collection module 200 is used to collect sample data for model training. This sample data may include daily operational data from one or more electronic devices. These electronic devices can be devices with data storage capabilities, including physical storage devices such as memory (random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM), etc.), disks (compact disc random access memory (CD-RAM), solid state hard drives (SSD), etc.), other electronic devices with data storage capabilities such as network attached storage (NAS) servers, and virtual storage devices such as virtual machines, containers, etc.
[0075] The fault labeling module 201 is used to label fault data in the sample data. Furthermore, fault data in the sample data can be labeled based on the fault time. It is understood that the fault data comes from the electronic equipment that experienced the fault.
[0076] The feature extraction module 202 is used to construct sample features. Further, it obtains the difference values of each sample data within a plurality of preset sliding windows; and sums the difference values of each sample data within the plurality of preset sliding windows to obtain multiple sample features. It should be noted that the difference values can be first-order or second-order difference values; this embodiment does not impose any limitations.
[0077] The feature selection module 203 selects sample features for model training from multiple sample features based on feature relevance and feature importance.
[0078] The sample data segmentation module 204 is used to segment positive sample data and negative sample data from multiple sample data. The positive sample data includes fault data and a first part of sub-health data from the multiple sample data. The similarity between the features of the first part of sub-health data and the features of the fault data is greater than a first threshold. The negative sample data includes health data and a second part of sub-health data from the multiple sample data. The similarity between the features of the second part of sub-health data and the features of the fault data is less than a second threshold.
[0079] The model training module 205 is used to train a fault prediction model based on the positive and negative sample data obtained from the partitioning, as well as multiple sample features. Furthermore, the fault prediction model is trained based on the random forest algorithm.
[0080] The fault prediction module 206 is used to predict the target data based on the trained fault prediction model. The target data is the data collected from the target device every day.
[0081] Analysis module 207 is used to further determine multiple causes of the prediction results based on the prediction results, and output the prediction results, multiple causes, and the importance percentage of each cause in the prediction results.
[0082] Optionally, the data collection module 200, fault labeling module 201, extraction module 202, and feature selection module 203 can be a single device, a module within a single device, or a cluster of multiple devices. The sample data partitioning module 204 and model training module 205 can be a single device, a module within a single device, or a cluster of multiple devices. The fault prediction module 206 and analysis module 207 can be a single device, a module within a single device, or a cluster of multiple devices.
[0083] Please see Figure 3 , Figure 3 This is a flowchart illustrating a fault prediction method provided in an embodiment of this application. Furthermore, this method can be based on... Figure 1 The framework shown is used to implement this method, which includes, but is not limited to, the following steps:
[0084] Step S301: Extract sample features.
[0085] Specifically, before extracting sample features from the sample data, preprocessing is required, such as one or more of data cleaning, data integration, data transformation, and data reduction. Furthermore, fault data in the sample data needs to be labeled. This means that data from faulty devices is marked as faulty data, and data from non-faulty devices is marked as non-faulty data. For example, when an electronic device or a functional module within an electronic device malfunctions and cannot function properly, the faulty device is recorded in a fault list, which includes information such as the fault time and the faulty device. The fault list allows for locating faulty data within the sample data, and these faulty data can be labeled based on the fault time. It should be noted that faulty data includes not only data from the day the fault occurred but also data from before the fault occurred.
[0086] Then, the feature extraction module extracts multiple sample features from the sample data. Further, the feature extraction module obtains the difference value of each sample data within multiple preset sliding windows according to preset sliding windows, and then sums the difference values of each sample data within the multiple preset sliding windows to obtain multiple sample features. Furthermore, the multiple sample features can be sorted by size, and the changing trend within the preset window can be obtained from the sorted sample features; the changing trend of the fault data can be an increasing trend. It should be noted that the preset sliding window can be selected with appropriate values according to actual needs, and this embodiment does not impose any limitations.
[0087] For example, if the collected sample data consists of SMART and I / O data from an SSD, the SMART and I / O data from each day can be considered as a subset. If the collected data spans M days, the sample data can include M subsets. First, the difference values of each of the M subsets need to be calculated. If the preset sliding window is N days, where N is a positive integer less than M, then the M subsets are divided into P sets using N days as the sliding window. The difference value of each subset in each of the P sets is then obtained. The sum of the difference values is then used as the sample feature. Since there are P sets, P sample features can be obtained.
[0088] Understandably, SMART data represents warning messages that may be issued when a hard drive malfunctions. Over time, the more frequently hard drive malfunctions occur, the more warning messages will be generated, potentially leading to hard drive failure. Therefore, the trend of SMART data changes can be an increasing trend.
[0089] In one possible implementation, after extracting multiple sample features from a variety of sample data, it is necessary to select the sample features required for model training based on feature relevance and feature importance. That is, features that may contribute to the quality of the model are selected automatically or manually. Feature selection is the process of eliminating irrelevant features that may reduce model accuracy and quality. Feature relevance is a method for understanding the relationships between multiple variables and attributes in a dataset. Using relevance, we can determine why one or more attributes depend on another attribute or why another attribute is dependent on another attribute, as well as how one or more attributes are related to other attributes. Feature importance provides a score for each feature in the data; the higher the score, the more important or relevant the feature is to the output variable.
[0090] It should be noted that the difference value can be a first-order difference value or a second-order difference value, and this application embodiment does not impose any restrictions.
[0091] Step S302: Divide the data into positive and negative samples from multiple sample data.
[0092] Specifically, because the collected sample data suffers from an imbalance between positive and negative samples, the model training module needs to re-divide the sample data to obtain positive and negative sample data for model training. The resulting positive sample data includes fault data and a first portion of sub-health data from multiple sample datasets. The similarity between the features of the first portion of sub-health data and the features of the fault data is greater than a first threshold. The negative sample data includes healthy data and a second portion of sub-health data from multiple sample datasets. The similarity between the features of the second portion of sub-health data and the features of the fault data is less than a second threshold. It should be noted that the first and second thresholds may be equal or unequal. The first and second thresholds can be values set manually based on experience for reference comparison, or values obtained through training (or learning) from multiple historical values for reference comparison. Therefore, the first or second thresholds will differ for different scenarios.
[0093] In one possible implementation, a feature value of 0 or a feature value trending towards 0 indicates that the sum of the differences within the preset sliding window does not change abnormally, meaning that the data collected each day does not fluctuate much and is in a stable state. For example, a trend towards 0 specifically means that the absolute value of the difference from 0 is less than a fifth threshold. This fifth threshold can be a small value set manually, such as 0.1, or 0.05. This application embodiment does not impose any restrictions on the value of the fifth threshold.
[0094] For example, if the collected sample data consists of daily SMART data from SSDs over a period of time, and SMART data records data when the hard drive experiences anomalies, such as the count of uncorrectable errors, the number of newly added bad blocks, and the count of block programming errors, it can be seen that when the collected sample data has no abnormal data within a preset sliding window or the abnormal data is not increasing (the difference value is 0 or tends to be 0), the extracted feature value can be 0 or the feature value can tend to be 0, and this part of the data can be marked as healthy data. Then, the model training module can perform feature similarity analysis on the healthy data and multiple sample data (which can be the collected sample data that does not contain fault data and / or healthy data), and mark the data among the above multiple sample data with a feature similarity to healthy data that is less than a third threshold as sub-healthy data. The model training unit can perform feature similarity analysis through distance calculation, clustering methods, or one or more of these methods. For example, the Minkowski distance, also known as the Minkowski distance, can be used. Two i-dimensional variables U = (u1, u2, u3, ..., u i) and V = (v1, v2, v3, ..., v i The Minkowski distance between two points is defined as:
[0095] (∑(|w i (u i -v i )| p )) 1 / p Formula 3
[0096] Where p is a variable parameter. When p = 1, it is the Manhattan distance; when p = 2, it is the Euclidean distance; and when p is infinite, it is the Chebyshev distance. V represents health data, and U represents multiple sample data. Specifically, U can be data among the multiple sample data that does not contain health data and / or fault data. Formula 3 can be used to perform feature similarity analysis on the health data and the aforementioned multiple sample data, that is, to calculate the distance (feature similarity) between the health data and the multiple sample data. The calculated distances are sorted, and then data with distances less than or equal to a third threshold are selected from the sorted distances and marked as sub-health data. It should be noted that the third threshold is a value set manually based on experience for reference comparison, or a value obtained through training (or learning) based on multiple historical values for reference comparison. This application embodiment does not impose any restrictions on the third threshold.
[0097] In one possible implementation, the model training module can use PCA to separate healthy and sub-healthy data from multiple sample datasets. Specifically, the model training module uses PCA to map multiple sample datasets (which may not contain fault data) to a low-dimensional feature space, denoted as X = (x1, x2, x3, ..., x...). i ), calculate the covariance matrix C = X T X, X T Represent the transpose vector, and then solve for the eigenvalues λ1, λ2, ..., λ of the covariance matrix C. j And the eigenvectors e1, e2, ..., e j Calculate each data point x. i In principal component e j deviation on pass Calculate the scores of the sample data, and then sort the scores of the sample data in ascending order to form a score set. Mark the sample data corresponding to a score of 0 or a score tending to 0 in the score set as healthy data, and mark the sample data corresponding to scores less than the third threshold in the score set as sub-healthy data. It should be noted that the third threshold is a value set manually according to experience for reference and comparison, or a value obtained by training (or learning) based on multiple historical values for reference and comparison. The embodiments of this application do not impose any restrictions on the third threshold.
[0098] After determining the target sub-healthy data, the model training unit compares the feature similarity between the target sub-healthy data and the fault data, marks the data in the target sub-healthy data with a feature similarity greater than the first threshold to the fault data as the first part of sub-healthy data, and marks the data in the target sub-healthy data with a feature similarity less than the second threshold to the fault data as the first part of sub-healthy data. For example, the Mann-Kendall growth trend algorithm can be used, and the hypothesis testing method in statistics can be used. In the Mann-Kendall test, the original hypothesis Y0 is that the target sub-healthy data Y=(y1, y2, y3,…, y i ), is a sample of n independent and identically distributed random variables; the alternative hypothesis Y1 is a two-sided test. Define the test statistic S:
[0099]
[0100] where, y j and y k are data at different time points, sgn(y j -y k ) is an indicator function, which takes values of 1, 0, -1 according to the positive and negative signs of y j -y k .
[0101] When the Mann-Kendall statistic formula S is greater than, equal to, or less than zero, it is respectively:
[0102]
[0103] In a two-sided test, the index for measuring the trend size is 1 < k < j < i, a positive β indicates an "upward trend", and a negative β indicates a "downward trend". For a given confidence level α, the original hypothesis Y0: β = 0, when |Z MK | > Z 1-αAt this point, the null hypothesis is rejected, meaning that at confidence level α, the data exhibits an upward or downward trend. Since the trend of the fault data can be an upward trend, the model training unit compares the target sub-health data with the fault data, identifying the target sub-health data with an upward trend whose feature similarity to the fault data is greater than the first threshold as the first part of sub-health data, and identifying the target sub-health data with an upward trend whose feature similarity to the fault data is less than the second threshold as the second part of sub-health data.
[0104] Finally, the model training unit can label the fault data and the first part of the sub-health data as positive sample data, and label the healthy data and the second part of the sub-health data as negative sample data.
[0105] Step S303: Train the fault prediction model based on positive and negative sample data.
[0106] Specifically, after the collected sample data is re-divided into positive and negative sample data, the model training module can train a fault prediction model based on the constructed sample features, positive and negative sample data. Furthermore, training data is selected from the positive and negative sample data respectively using a downsampling method, and the remaining sample data is used as validation / test data. Furthermore, the fault prediction model can be a random forest model.
[0107] Step S304: Analyze the target data based on the fault prediction model.
[0108] Specifically, when a device or its module requires fault analysis, the fault prediction module can analyze target data based on a fault prediction model. This target data can be data from the device or its module. Analyzing the target data using the prediction model determines whether the device or its module is faulty and on what day it might fail. If the prediction indicates that the device might fail on a certain day (e.g., 14 days later), the module analyzes the target data based on the fault prediction model, identifies multiple possible causes, and outputs the prediction result, the multiple causes, and the importance percentage of each cause. Furthermore, the fault prediction module can visualize the prediction result, the multiple causes, and the importance percentage of each cause. Therefore, it allows for early warnings (e.g., 14 days in advance) and the planned execution of maintenance strategies based on the predicted causes, preventing disruptions to customer business availability and customer experience due to sudden device or module failures.
[0109] In one possible implementation, the fault prediction model is a random forest model. When the fault prediction module analyzes the target data based on the fault prediction model and obtains the fault result, it can select the decision tree corresponding to the prediction result from the fault prediction model. In machine learning, a random forest is a classifier containing multiple decision trees, and its output is determined by the mode of the categories output by individual trees. In the decision tree model, at each decision node, the best feature is selected for splitting to further distinguish the samples arriving at that decision node. In each split, we can get closer to the final decision (i.e., the leaf node). Therefore, at each decision node, the selected splitting feature determines the final prediction result. Thus, the fault prediction module can obtain the splitting features on the decision path corresponding to the decision tree and use the splitting features as the cause of the prediction result. It can be understood that the prediction result can be the result of the combined effect of multiple splitting features. Furthermore, the combination of multiple splitting features can be represented as the fault mode that produces the prediction result. Then, the fault prediction module can count, sort, and normalize the multiple splitting features to obtain the importance of multiple features and their corresponding importance percentages. The importance percentage can be the proportion of the splitting feature among the multiple splitting features. Furthermore, the top M features in terms of importance can be selected as the reasons for the prediction results.
[0110] It should be noted that the feature values mentioned in the embodiments of this application can be understood as feature vectors.
[0111] Figure 3 In the described method, the sample data is re-divided into positive and negative samples. The positive samples include all faulty data and a portion of sub-healthy data (data with similarity to faulty data). The negative samples include healthy data and a portion of sub-healthy data (data with low similarity to faulty data). Compared to existing methods that use faulty data as negative samples and non-faulty data as positive samples, this method effectively addresses the imbalance between positive and negative samples by re-dividing the sample data. Based on these positive and negative samples, the model can be trained more effectively, improving the accuracy of model predictions.
[0112] The methods of the embodiments of this application have been described in detail above, and the apparatus of the embodiments of this application is provided below.
[0113] Please see Figure 4 , Figure 4This is a schematic diagram of the structure of a fault prediction device 400 provided in an embodiment of this application. The fault prediction device 400 can be a device node or a module within a device node, such as a chip or integrated circuit. The fault prediction device 400 is used to implement the aforementioned fault prediction method, such as... Figure 3 The fault prediction method described in the illustrated embodiment.
[0114] Furthermore, the fault prediction device 400 may include a sample partitioning unit 401, a training unit 402, a feature unit 403, and a prediction analysis unit 404, wherein the detailed description of each unit is as follows:
[0115] The sample segmentation unit 401 is used to segment positive sample data and negative sample data from multiple sample data. The positive sample data includes fault data and a first part of sub-health data from the multiple sample data. The similarity between the features of the first part of sub-health data and the features of the fault data is greater than a first threshold. The negative sample data includes health data and a second part of sub-health data from the multiple sample data. The similarity between the features of the second part of sub-health data and the features of the fault data is less than a second threshold.
[0116] Training unit 402 is used to train a fault prediction model based on positive and negative sample data, wherein the fault prediction model is used to analyze the target data.
[0117] In this embodiment, the sample data is re-divided into positive sample data and negative sample data. The positive sample data includes all fault data and a portion of sub-health data, which is similar to the fault data. The negative sample data includes healthy data and a portion of sub-health data, which is less similar to the fault data. Compared to existing methods that use fault data as negative sample data and non-fault data as positive sample data, this method effectively solves the problem of imbalanced positive and negative samples by re-dividing the sample data. Based on the aforementioned positive and negative sample data, the model can be trained more effectively, improving the accuracy of model prediction. In one possible implementation, the feature unit 403 is used to obtain the difference value of each sample data within multiple preset sliding windows according to preset sliding windows; and to sum the difference values of each sample data within the multiple preset sliding windows to obtain multiple sample features.
[0118] It can be seen that the sample features extracted by the preset sliding window can reflect information within a certain time window, which makes it easier to better divide the sample data.
[0119] In one possible implementation, the sample segmentation unit 401 is specifically used for: determining target sub-health data from multiple sample data, wherein the similarity between the features of the target sub-health data and the features of the healthy data is less than a third threshold; marking the target sub-health data whose feature similarity with the fault data is greater than a first threshold as a first part of sub-health data; marking the target sub-health data whose feature similarity with the fault data is less than a second threshold as a second part of sub-health data; marking the fault data and the first part of sub-health data as positive sample data; and marking the healthy data and the second part of sub-health data as negative sample data.
[0120] As can be seen, the method first identifies the target sub-health data from the sample data. Then, data within the target sub-health data that are similar to the fault data are labeled as the first part of the sub-health data, which is classified as positive sample data, thus expanding the original positive sample data that only contained fault data. Data within the target sub-health data that are less similar to the fault data are labeled as the second part of the sub-health data, and the second part of the sub-health data, along with the healthy data, are classified as negative sample data. This method can better segment the sample data, resulting in a balanced state of positive and negative sample data.
[0121] In one possible implementation, the sample segmentation unit 401 is specifically used to: mark data with a feature value of 0 or a feature value tending to 0 among multiple sample data as healthy data; perform feature similarity analysis on the healthy data and multiple sample data, and mark data among multiple sample data with a feature similarity to the healthy data that is less than a third threshold as sub-healthy data.
[0122] As can be seen, the process begins by identifying healthy data from the sample data, and then marking data within the sample data that is not significantly similar to the healthy data as target sub-health data. At this point, the sample data is divided into fault data, target sub-health data, and fault data. The target sub-health data can be considered the boundary between fault data and healthy data.
[0123] In one possible implementation, the prediction analysis unit 404 is used to analyze the prediction results of the target data based on the fault prediction model; determine multiple causes of the prediction results based on the prediction results; and output the prediction results, multiple causes, and the importance percentage of each cause of the prediction results.
[0124] As can be seen, the fault prediction model can not only output the prediction result, but also multiple causes of the prediction result, as well as the importance percentage of each cause. Therefore, based on the multiple causes in the prediction result, guidance can be provided for operation and maintenance, facilitating targeted maintenance.
[0125] In one possible implementation, the prediction analysis unit 404 is used to select the decision tree corresponding to the prediction result from the fault prediction model based on the prediction result; and to obtain the splitting features on the decision path corresponding to the decision tree, wherein the splitting features are the causes of the prediction result.
[0126] It can be seen that determining the splitting characteristics based on the fault prediction model and using the splitting characteristics as the cause of the prediction results has credibility.
[0127] In one possible implementation, the positive and negative sample data are obtained by partitioning multiple sample data based on one or more of the following methods: growth trend analysis, distance calculation, and clustering.
[0128] As can be seen, sample data can be classified using different classification methods, resulting in a wider variety of classification methods and greater selectivity.
[0129] In one possible implementation, the fault prediction model is a random forest model.
[0130] It should be noted that the implementation of each unit can also be referenced accordingly. Figure 3 The corresponding description of the method embodiments shown.
[0131] Please see Figure 5 , Figure 5 This is a schematic diagram of the structure of a fault prediction device provided in an embodiment of this application. The fault prediction device 500 includes at least one processor 501, at least one memory 502, and a communication interface 503. Optionally, it may also include a bus 504, wherein the processor 501, memory 502, and communication interface 503 are interconnected through the bus 504.
[0132] The memory 502 provides storage space, which can store data such as the operating system and computer programs. The memory 502 includes, but is not limited to, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM), or compact disc read-only memory (CD-ROM), etc.
[0133] Processor 501 is a module that performs arithmetic and / or logical operations. Specifically, it can be one or a combination of processing modules such as a central processing unit (CPU), graphics processing unit (GPU), microprocessor unit (MPU), application specific integrated circuit (ASIC), field programmable gate array (FPGA), and complex programmable logic device (CPLD).
[0134] The communication interface 503 is used to receive and / or transmit data to external sources. It can be a wired link interface, such as an Ethernet cable, or a wireless link interface (Wi-Fi, Bluetooth, general wireless transmission, vehicle short-range communication technology, etc.). Optionally, the communication interface 503 may also include a transmitter (such as a radio frequency transmitter, antenna, etc.) or a receiver coupled to the interface.
[0135] The processor 501 in the fault prediction device 500 is used to read the computer program code stored in the memory 502 and perform the following operations:
[0136] Positive and negative sample data are obtained from multiple sample data sets. The positive sample data includes fault data and a first part of sub-health data from the multiple sample data sets. The similarity between the features of the first part of sub-health data and the features of the fault data is greater than a first threshold. The negative sample data includes healthy data and a second part of sub-health data from the multiple sample data sets. The similarity between the features of the second part of sub-health data and the features of the fault data is less than a second threshold. A fault prediction model is trained based on the positive and negative sample data. The fault prediction model is used to analyze the target data.
[0137] In this embodiment, the sample data is re-divided into positive and negative sample data. The positive sample data includes all fault data and a portion of sub-health data, which is similar to the fault data. The negative sample data includes healthy data and a portion of sub-health data, which is less similar to the fault data. Compared to existing methods that use fault data as negative samples and non-fault data as positive samples, this method effectively addresses the imbalance between positive and negative samples by re-dividing the sample data. Based on this re-division of positive and negative sample data, the model can be trained more effectively, improving the accuracy of model predictions.
[0138] In one possible implementation, the processor 501 is further configured to: obtain the difference value of each sample data in a plurality of preset sliding windows according to preset sliding windows; and sum the difference values of each sample data in the plurality of preset sliding windows respectively to obtain a plurality of sample features.
[0139] It can be seen that the sample features extracted by the preset sliding window can reflect information within a certain time window, which makes it easier to better divide the sample data.
[0140] In one possible implementation, the processor 501 is specifically configured to: determine target sub-health data from multiple sample data, wherein the similarity between the features of the target sub-health data and the features of the healthy data is less than a third threshold; label the target sub-health data whose feature similarity with the fault data is greater than a first threshold as a first part of sub-health data; label the target sub-health data whose feature similarity with the fault data is less than a second threshold as a second part of sub-health data; label the fault data and the first part of sub-health data as positive sample data; and label the healthy data and the second part of sub-health data as negative sample data.
[0141] As can be seen, the method first identifies the target sub-health data from the sample data. Then, data within the target sub-health data that are similar to the fault data are labeled as the first part of the sub-health data, which is classified as positive sample data, thus expanding the original positive sample data that only contained fault data. Data within the target sub-health data that are less similar to the fault data are labeled as the second part of the sub-health data, and the second part of the sub-health data, along with the healthy data, are classified as negative sample data. This method can better segment the sample data, resulting in a balanced state of positive and negative sample data.
[0142] In one possible implementation, the processor 501 is specifically configured to: mark data with a feature value of 0 or a feature value tending to 0 among multiple sample data as healthy data; perform feature similarity analysis on the healthy data and multiple sample data, and mark data among the multiple sample data with a feature similarity to the healthy data that is less than a third threshold as sub-healthy data.
[0143] As can be seen, the process begins by identifying healthy data from the sample data, and then marking data within the sample data that is not significantly similar to the healthy data as target sub-health data. At this point, the sample data is divided into fault data, target sub-health data, and fault data. The target sub-health data can be considered the boundary between fault data and healthy data.
[0144] In one possible implementation, the processor 501 is further configured to: analyze the prediction results of the target data based on the fault prediction model; determine multiple causes of the prediction results based on the prediction results; and output the prediction results, multiple causes, and the importance percentage of each cause of the prediction results.
[0145] As can be seen, the fault prediction model can not only output the prediction result, but also multiple causes of the prediction result, as well as the importance percentage of each cause. Therefore, based on the multiple causes in the prediction result, guidance can be provided for operation and maintenance, facilitating targeted maintenance.
[0146] In one possible implementation, the processor 501 is further configured to: select a decision tree corresponding to the prediction result from the fault prediction model based on the prediction result; and obtain the splitting features on the decision path corresponding to the decision tree, wherein the splitting features are the causes of the prediction result.
[0147] It can be seen that determining the splitting characteristics based on the fault prediction model and using the splitting characteristics as the cause of the prediction result eliminates the need for manual search for the cause, making it more convenient and reliable.
[0148] In one possible implementation, the processor 501 is further configured to: divide the positive sample data and negative sample data from multiple sample data according to one or more of the following methods: growth trend analysis, distance calculation, and clustering.
[0149] As can be seen, sample data can be classified using different classification methods, resulting in a wider variety of classification methods and greater selectivity.
[0150] In one possible implementation, the fault prediction model is a random forest model.
[0151] It should be noted that the implementation of each operation can also be referenced accordingly. Figure 3 The corresponding description of the method embodiments shown.
[0152] This application also provides a chip system, which includes at least one processor, a memory, and interface circuitry. The memory, the transceiver, and the at least one processor are interconnected via circuitry. The at least one memory stores a computer program. When the computer program is executed by the processor... Figure 3 The method and flow shown are thus implemented.
[0153] This application also provides a computer-readable storage medium storing a computer program that runs on one or more processors. Figure 3 The method flow shown is thus implemented.
[0154] In the above embodiments, implementation can be achieved entirely or partially through software, hardware, firmware, or any combination thereof. When implemented using software, it can be implemented entirely or partially in the form of a computer program product. This computer program product includes one or more computer programs. When the computer program instructions are loaded and executed on a computer, the processes or functions described in the embodiments of this application can be implemented entirely or partially. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer program can be stored in or transmitted through a computer-readable storage medium. The computer-readable storage medium can be any available medium accessible to a computer or a data storage device such as a server or data center that integrates one or more available media. Available media can be magnetic media (e.g., floppy disks, hard disks, magnetic tapes), optical media (e.g., DVDs), or semiconductor media (e.g., solid-state disks (SSDs)).
[0155] The steps in the method embodiments of this application can be adjusted, combined, or deleted according to actual needs.
[0156] The modules in the device embodiments of this application can be merged, divided, and deleted according to actual needs.
Claims
1. A fault prediction method, characterized in that, include: Extract multiple sample features from multiple sample data; Sample features for model training are selected from the multiple sample features based on feature relevance and feature importance; wherein, the sample data is SMART data of SSD hard drive, and the SMART data records data when the hard drive malfunctions; Positive sample data and negative sample data are obtained from multiple sample data. The positive sample data includes fault data and a first part of sub-health data from the multiple sample data. The similarity between the features of the first part of sub-health data and the features of the fault data is greater than a first threshold. The negative sample data includes health data and a second part of sub-health data from the multiple sample data. The similarity between the features of the second part of sub-health data and the features of the fault data is less than a second threshold. A fault prediction model is trained based on the sample features, the positive sample data, and the negative sample data, wherein the fault prediction model is used to analyze the target data to obtain prediction results; Based on the fault prediction model, the target data is analyzed to obtain the prediction results; Based on the prediction results, determine multiple reasons for the prediction results; Output the prediction result, the multiple causes, and the importance percentage of each cause in the prediction result; The process of dividing positive and negative sample data from multiple sample data includes: Data with a feature value of 0 or a feature value approaching 0 in the plurality of sample data are marked as healthy data; feature similarity analysis is performed on the healthy data and the plurality of sample data, and data in the plurality of sample data with a feature similarity to the healthy data less than a third threshold are marked as sub-healthy data, wherein the feature similarity between the target sub-healthy data and the feature of the healthy data is less than the third threshold; The target sub-health data with a feature similarity greater than the first threshold to the fault data are marked as the first part of sub-health data; the target sub-health data with a feature similarity less than the second threshold to the fault data are marked as the second part of sub-health data. The fault data and the first part of the sub-health data are marked as positive sample data; the health data and the second part of the sub-health data are marked as negative sample data.
2. The method according to claim 1, characterized in that, The extraction of multiple sample features from multiple sample data includes: Obtain the difference value of each sample data within a plurality of preset sliding windows according to preset sliding windows; The difference values of each sample data within the multiple preset sliding windows are summed to obtain the multiple sample features.
3. The method according to claim 1 or 2, characterized in that, The step of determining the cause of the prediction result based on the prediction result includes: Based on the prediction results, a decision tree corresponding to the prediction results is selected from the fault prediction model; Obtain the splitting features on the decision path corresponding to the decision tree, where the splitting features are the reasons for the prediction results.
4. The method according to claim 1 or 2, characterized in that, The positive sample data and the negative sample data are obtained by dividing multiple sample data according to one or more of the following methods: growth trend analysis, distance calculation, and clustering.
5. The method according to claim 1 or 2, characterized in that, The fault prediction model is a random forest model.
6. A fault prediction device, characterized in that, include: Feature units are used to extract multiple sample features from multiple sample data. Sample features for model training are selected from the multiple sample features based on feature relevance and feature importance; wherein, the sample data is SMART data of SSD hard drive, and the SMART data records data when the hard drive malfunctions; A sample segmentation unit is used to segment positive sample data and negative sample data from multiple sample data. The positive sample data includes fault data and a first part of sub-health data from the multiple sample data. The similarity between the features of the first part of sub-health data and the features of the fault data is greater than a first threshold. The negative sample data includes healthy data and a second part of sub-health data from the multiple sample data. The similarity between the features of the second part of sub-health data and the features of the fault data is less than a second threshold. A training unit is used to train a fault prediction model based on the sample features, the positive sample data, and the negative sample data, wherein the fault prediction model is used to analyze the target data; The predictive analysis unit is used to analyze the prediction results of the target data based on the fault prediction model; determine multiple causes of the prediction results based on the prediction results; and output the prediction results, the multiple causes, and the importance percentage of each cause of the prediction results. The sample partitioning unit is specifically used for: Data with a feature value of 0 or a feature value approaching 0 in the plurality of sample data are marked as healthy data; feature similarity analysis is performed on the healthy data and the plurality of sample data, and data in the plurality of sample data with a feature similarity to the healthy data less than a third threshold are marked as sub-healthy data, wherein the feature similarity between the target sub-healthy data and the feature of the healthy data is less than the third threshold; The target sub-health data with a feature similarity greater than the first threshold to the fault data are marked as the first part of sub-health data; the target sub-health data with a feature similarity less than the second threshold to the fault data are marked as the second part of sub-health data. The fault data and the first part of the sub-health data are marked as positive sample data; the health data and the second part of the sub-health data are marked as negative sample data.
7. The apparatus according to claim 6, characterized in that, The feature unit is specifically used for: Obtain the difference value of each sample data within a plurality of preset sliding windows according to preset sliding windows; The difference values of each sample data within the multiple preset sliding windows are summed to obtain the multiple sample features.
8. The apparatus according to claim 6 or 7, characterized in that, The predictive analysis unit is specifically used for: Based on the prediction results, a decision tree corresponding to the prediction results is selected from the fault prediction model; Obtain the splitting features on the decision path corresponding to the decision tree, where the splitting features are the reasons for the prediction results.
9. The apparatus according to claim 6 or 7, characterized in that, The positive sample data and the negative sample data are obtained by dividing multiple sample data according to one or more of the following methods: growth trend analysis, distance calculation, and clustering.
10. The apparatus according to claim 6 or 7, characterized in that, The fault prediction model is a random forest model.
11. A fault prediction device, characterized in that, The fault prediction device includes a processor and a memory; the processor is used to execute a computer program stored in the memory, such that the fault prediction device implements the method as described in any one of claims 1-5.
12. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program, which, when executed on a processor, is used to implement the method of any one of claims 1-5.
Citation Information
Patent Citations
Fault prediction method and system for storage device and related device
CN110647456A
Hard disk fault prediction method, device, electronic equipment and storage medium
CN111858108A