Systems and methods for generating an aircraft fault prediction classifier

By labeling and reassigning the labels of feature vectors, the aircraft failure prediction classifier is trained, which solves the problem of high resource consumption and prone to failure in the prior art, and achieves efficient and accurate failure prediction.

CN111221919BActive Publication Date: 2025-06-13THE BOEING CO
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN201911163986.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2018-11-27
Filing Date
2019-11-22
Publication Date
2025-06-13
Estimated Expiration
2039-11-22

AI Technical Summary

Technical Problem

Existing model-based fault prediction technologies require a large amount of system resources, and the model may fail after changes in the maintenance or configuration of the vehicle, making it difficult to effectively adapt to changes.

Method used

By receiving input data including multiple eigenvectors, marking based on the time proximity of the eigenvector and the failure occurs, and determining the probability that the label value is correct for a subset of the eigenvector, reassigning the eigenvector label that does not meet the probability threshold, and finally using supervised training data to train the aircraft failure prediction classifier.

Benefits of technology

It reduces false positive identification of fault prediction, improves the accuracy and efficiency of fault prediction, reduces the demand for system resources, and can adapt to the maintenance and configuration changes of transportation tools.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN111221919B_ABST
    Figure CN111221919B_ABST
Patent Text Reader

Abstract

The present disclosure relates to a system and method for generating an aircraft fault prediction classifier. The method includes receiving input data including a plurality of feature vectors and labeling each feature vector based on the proximity of the feature vector to the time of fault occurrence. Feature vectors within a threshold proximity of the time of fault occurrence are labeled with a first label value, while other feature vectors are labeled with a second label value. The method includes determining, for each feature vector of a subset, the probability that the label associated with the feature vector is correct. The subset includes feature vectors having a label indicating the first label value. The method includes reassigning the labels of one or more feature vectors of the subset having a probability that does not meet a probability threshold, and after reassigning the labels, using supervised training data including the plurality of feature vectors and labels to train an aircraft fault prediction classifier.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure generally relates to generating an aircraft fault prediction classifier. Background Art

[0002] Advances in technology have led to an increase in the number of sensors on vehicles, such as aircraft, cars, ships, drones, rockets, spacecraft, etc. These sensors can record data before, during, and after vehicle transportation. For example, parametric flight data can be recorded by a flight data recorder (FDR), a quick access recorder (QAR), a continuous parameter recording (CPL) system, an enhanced airborne flight recorder (EAFR), or other types of sensor systems. This sensor data can be used for a variety of purposes, including fault prediction.

[0003] One approach to performing fault prediction is a model-based approach. For example, a physics-based model of the expected operating state of an aircraft can be generated, and sensor data can be compared to the model to predict a fault state. To further illustrate, a rule-based model uses rules generated by a logic table with accessible expected values to determine when a rule is violated (e.g., when a fault is predicted). Some model-based techniques require knowledge of the expected operating state, which can make the determination time-consuming or resource-intensive and may use a large amount of system resources (e.g., storage space and processing resources). Additionally, if the vehicle undergoes maintenance or otherwise changes configuration, due to these changes, the model may no longer represent the operating state of the vehicle. Summary of the Invention

[0004] In a specific implementation, a method includes: receiving input data including a plurality of feature vectors. The input data includes sensor data associated with one or more aircraft. The method includes labeling each of the plurality of feature vectors based on the proximity of the feature vector to the time of fault occurrence. Feature vectors within a threshold proximity to the time of fault occurrence are labeled with a first label value, while feature vectors not within the threshold proximity to the time of fault occurrence are labeled with a second label value. The method includes determining, for each feature vector in a subset of the plurality of feature vectors, the probability that the label value associated with the feature vector is correct. The subset includes feature vectors having a label indicating the first label value. The method includes reassigning the labels of one or more feature vectors of the subset that have a probability that does not meet a probability threshold. The method further includes, after reassigning the labels of the one or more feature vectors, training an aircraft fault prediction classifier using supervised training data including the plurality of feature vectors and the labels associated with the plurality of feature vectors. The aircraft fault prediction classifier is configured to use second sensor data of the aircraft to predict the occurrence of a second fault of the aircraft.

[0005] In another specific implementation, a system includes: a processor and a memory coupled to the processor and storing instructions that can be run by the processor to perform the following operations, which include receiving input data including a plurality of feature vectors. The input data includes sensor data associated with one or more aircraft. The operations include labeling each of the plurality of feature vectors based on the temporal proximity of the feature vectors to the occurrence of a fault. Feature vectors within a threshold temporal proximity of the occurrence of the fault are labeled with a first label value, while feature vectors not within the threshold temporal proximity of the occurrence of the fault are labeled with a second label value. The operations include determining, for each feature vector in a subset of the plurality of feature vectors, the probability that the label value associated with the feature vector is correct. The subset includes feature vectors having a label indicating the first label value. The operations include reassigning the labels of one or more feature vectors of the subset, the one or more feature vectors having a probability that does not meet a probability threshold. The operations further include, after reassigning the labels of the one or more feature vectors, training an aircraft fault prediction classifier using supervised training data including the plurality of feature vectors and the labels associated with the plurality of feature vectors. The aircraft fault prediction classifier is configured to use second sensor data of the aircraft to predict the occurrence of a second fault of the aircraft.

[0006] In another specific implementation, a computer-readable storage device stores instructions that, when executed by a processor, cause the processor to perform operations including receiving input data including a plurality of feature vectors. The input data includes sensor data associated with one or more aircraft. The operations include labeling each of the plurality of feature vectors based on the temporal proximity of the feature vectors to the occurrence of a fault. Feature vectors within a threshold temporal proximity of the occurrence of the fault are labeled with a first label value, while feature vectors not within the threshold temporal proximity of the occurrence of the fault are labeled with a second label value. The operations include determining, for each feature vector in a subset of the plurality of feature vectors, the probability that the label value associated with the feature vector is correct. The subset includes feature vectors having a label indicating the first label value. The operations include reassigning the labels of one or more feature vectors of the subset, the one or more feature vectors having a probability that does not meet a probability threshold. The operations further include, after reassigning the labels of the one or more feature vectors, training an aircraft fault prediction classifier using supervised training data including the plurality of feature vectors and the labels associated with the plurality of feature vectors. The aircraft fault prediction classifier is configured to use second sensor data of the aircraft to predict the occurrence of a second fault of the aircraft. BRIEF DESCRIPTION OF THE DRAWINGS

[0007] Figure 1 is a block diagram showing a specific implementation of a system for reassigning labels of feature vectors to generate an aircraft fault prediction classifier;

[0008] Figure 2Shows an example of a sequence for determining potential feature state values;

[0009] Figure 3 Shows an example of reassigning labels based on probabilities;

[0010] Figure 4 Is a flowchart of an example of a method for generating an aircraft fault prediction classifier;

[0011] Figure 5 Is a flowchart of an example of a method for generating an aircraft fault prediction classifier;

[0012] Figure 6 Is a flowchart of a method associated with an aircraft fault prediction system; and

[0013] Figure 7 Is a block diagram of an aircraft including an aircraft fault prediction system. Detailed Description

[0014] The specific implementation manners are described with reference to the accompanying drawings. In the description, in all the drawings, common features are denoted by common reference numerals. As used herein, various terms are only for the purpose of describing the specific implementation manners and are not intended to be limiting. For example, the singular forms "a", "an", and "the" are also intended to include the plural forms unless the context clearly indicates otherwise. In addition, the terms "comprise", "comprises", and "comprising" may be interchanged with "include", "includes", or "including". Further, it should be understood that the term "wherein" may be interchanged with "where". As used herein, "exemplary" may indicate an example, an implementation, and / or an aspect and should not be construed as limiting or indicating a preference or a preferred implementation. As used herein, ordinal terms (e.g., "first", "second", "third", etc.) are used to modify elements, such as structures, components, operations, etc., and do not themselves indicate any priority or order of one element relative to another element, but merely distinguish the element from another element having the same name (but for the ordinal term). As used herein, the term "group" refers to a grouping of one or more elements, and the term "plurality" refers to a plurality of elements.

[0015] In the present disclosure, terms such as "determine", "calculate", "generate", "adjust", "modify", etc. may be used to describe how to perform one or more operations. It should be noted that these terms should not be construed as restrictive, and other techniques may be utilized to perform similar operations. Additionally, as described herein, "generate", "calculate", "use", "select", "access", and "determine" may be used interchangeably. For example, "generate", "calculate", or "determine" a parameter (or signal) may refer to actively generating, calculating, or determining the parameter (or signal), or may refer to using, selecting, or accessing a parameter (or signal) that has already been generated, e.g., by another component or device. Further, "adjust" and "modify" may be used interchangeably. For example, "adjust" or "modify" a parameter may refer to changing the parameter from a first value to a second value ("modifying the value" or "adjusting the value"). As used herein, "coupled" may include "communicatively coupled", "electrically coupled", or "physically coupled", and may also (or alternatively) include any combination thereof. Two devices (or components) may be directly or indirectly coupled (e.g., communicatively coupled, electrically coupled, or physically coupled) via one or more other devices, components, wires, buses, networks (e.g., a wired network, a wireless network, or a combination thereof), etc. As an illustrative non-limiting example, two devices (or components) that are electrically coupled may be included in the same device or different devices and may be connected via electronics, one or more connectors, or inductive coupling. In some implementations, two devices (or components) that are communicatively coupled (e.g., in an electrical communication) may directly or indirectly send and receive electrical signals (digital signals or analog signals), e.g., via one or more wires, buses, networks, etc. As used herein, "directly coupled" may include two coupled (e.g., communicatively coupled, electrically coupled, or physically coupled) devices without an intermediate component.

[0016] The implementations described herein describe model-free systems and methods for aircraft (or other vehicle) fault detection. Such methods are general for any type of time-series flight sensor data from any flight phase. The techniques described herein use a sequence of latent feature state values (e.g., time signatures) in a supervised learning algorithm to generate an aircraft fault prediction classifier.

[0017] The sequence of latent feature state values is determined based on parameter data from flight sensors (or other vehicle sensors) and is used as a feature vector when training the aircraft fault prediction classifier, as further described herein. In a specific example, a clustering operation is performed on the data from the sensors to generate the latent feature state values, and a sequence of latent feature state values within a sampling period is determined to generate the feature vector.

[0018] Once the feature vectors are generated, each feature vector (e.g., a sequence of latent feature state values) is labeled based on its proximity to the time of fault occurrence. For example, a feature vector associated with a time period within a specific range of the fault (e.g., three minutes before the fault) is labeled with a first label value (e.g., a numerical value corresponding to "precursor"), while a feature vector associated with a time period outside the specific range of the fault is labeled with a second label value (e.g., a numerical value corresponding to "normal"). At this stage, the feature vectors are identified as precursors of the fault state only based on their proximity to the time of fault occurrence. However, not every sequence of potential feature state values before the fault is actually attributable to or associated with the fault. Therefore, labeling each feature vector based on its proximity to the time of fault occurrence results in false positive labels for some feature vectors.

[0019] To reduce the number of false positive identifications of fault state precursors, the probability that each feature vector in a subset of feature vectors is correctly labeled is determined. In a specific implementation, the labeled feature vectors are provided as training data to a probability classifier (e.g., a random forest regression predictor) to determine the probability. The random forest regression predictor is trained to perform a regression analysis on multiple feature vectors and labels to output regression values, where the regression values indicate the probability that a feature vector in the subset of feature vectors is correctly labeled for a given set of multiple feature vectors. The subset of feature vectors includes feature vectors labeled with the first label value (e.g., feature vectors within a specific range of the fault and labeled with a numerical value corresponding to "precursor"). Feature vectors in the subset that have a probability not meeting a probability threshold are relabeled with the second label value (e.g., a numerical value corresponding to "normal"). Feature vectors outside the subset (e.g., feature vectors labeled with a numerical value corresponding to "normal") and feature vectors in the subset that have a probability not meeting the probability threshold are not relabeled. Thus, the probability is used to reclassify some feature vectors that are incorrectly labeled as fault precursors as normal feature vectors (e.g., not fault precursors).

[0020] After reassigning the labels of one or more feature vectors, the labeled feature vectors are used as training data for an aircraft fault prediction classifier. The aircraft fault prediction classifier is trained to predict the occurrence of a fault based on input data (e.g., identify a sequence of potential feature state values that are precursors to a fault). In a specific implementation, the aircraft fault prediction classifier includes a random forest classifier that is configured to output a label (e.g., a first label or a second label) based on the input feature vectors. (After generating the feature vectors of the potential feature state values), the aircraft fault prediction classifier can be executed on the real-time (or near real-time) sensor data of the aircraft to predict the fault of the aircraft. In some implementations, the aircraft fault prediction classifier generates a hint indicating the occurrence of the prediction and a specific repair or component associated with the prediction. Additionally, or alternatively, the aircraft fault prediction classifier can reformulate the repair plan of the aircraft based on the prediction. Thus, the implementations described herein describe a data-driven method that determines a sequence of potential feature state values before a fault for fault prediction and repair without a large amount of manual labeling of time series data, and reduces the false positive identification of faults (or precursors to faults).

[0021] Figure 1 An example of a specific implementation of a system 100 for generating one or more aircraft fault prediction classifiers is shown. System 100 includes one or more sensors 102, a computing device 104, and a display device 106. In a specific implementation, system 100 is integrated into a vehicle. As an illustrative non-limiting example, for instance, system 100 can be integrated in an aircraft, an unmanned aerial vehicle (UAV) (e.g., a drone), a car, a train, a motorcycle, a bus, a ship or boat, a rocket, a spacecraft, an autonomous vehicle, or other vehicles. In other implementations, one or more components can be external to the vehicle, e.g., sensors 102, computing device 104, display device 106, or a combination thereof.

[0022] Sensor 102 is configured to perform readings of one or more aspects or features of the vehicle to generate sensor data 150. In a specific implementation, sensor 102 is coupled to one or more aircraft, and sensor 102 is configured to generate sensor data 150 before, during, and after one or more aircraft fly. Sensor 102 can include multiple types of sensors. As an illustrative example, sensor 102 can include a speed sensor, an altitude sensor, a pressure sensor, a control surface sensor (e.g., a flap position indicator), a landing gear position indicator, a fuel flow rate sensor, an engine sensor (e.g., an engine revolutions per minute (RPM) sensor), a vibration sensor, a temperature sensor, other sensors, or a combination thereof.

[0023] Sensor data 150 includes time series data indicating the values of one or more parameters (e.g., variables). By way of illustration, sensor 102 is configured to measure one or more characteristics continuously or at discrete intervals. The measured values can be referred to as samples, and the measurement rate can be referred to as the sampling rate. As a non-limiting example, sensor data 150 includes fan air modulation valve (FAMV) sensor values that measure the temperature, pressure, and position of the FAMV. As another non-limiting example, sensor data 150 includes flow control valve (FCV) sensor values that measure the height and position of the FCV. In other examples, sensor data 150 includes other types of sensor values. In some implementations, the sensor data 150 is time-stamped. In other implementations, the sensor data 150 includes a start time and a sampling rate, and the sensor data is time-stamped or synchronized by computing device 104 or by another component (e.g., another processor or controller of the aircraft).

[0024] In some implementations, computing device 104 is coupled to sensor 102 and is configured to obtain sensor data 150 from sensor 102. In a particular implementation, computing device 104 is coupled to sensor 102 via a network. The network can include a wired network or a wireless network. The network can be configured according to one or more wireless communication protocols, e.g., Institute of Electrical and Electronics Engineers (IEEE) protocols, Wi-Fi Alliance protocols, protocols, protocols, near field communication protocol, cellular protocol, Long Term Evolution (LTE) protocol, or a combination thereof. Bluetooth is a registered trademark of the Bluetooth Technology Alliance (SIG), and Zigbee is a registered trademark of the Zigbee Alliance. In another particular implementation, computing device 104 is coupled to an interface (e.g., a bus) of the aircraft's sensor system and is configured to receive sensor data 150 via the interface. In other implementations, computing device 104 is external to the aircraft and is configured to receive sensor data 150 from one or more intermediate devices, such as a data storage device or other memory in the aircraft that stores the sensor data 150. In some implementations, sensor data 150 is received from multiple aircraft via one or more intermediate devices (e.g., a server that stores the sensor data 150).

[0025] In some implementations, the sensor data 150 is from sensor readings before, during, and after a particular aircraft flight. For example, the sensor data 150 can include sensor data from multiple segments of a flight or multiple segments of multiple different flights. Additionally, the sensor data 150 can include sensor readings before, during, and after other aircraft flights. For example, the sensor data 150 can include sensor data from a particular flight segment of multiple different aircraft, different segments of different flights of multiple different aircraft, or any combination thereof.

[0026] The computing device 104 includes an input interface 110, a processor 112 coupled to the input interface 110, and a memory 114 coupled to the processor 112. In a particular implementation, the input interface 110, the processor 112, and the memory 114 are coupled together via a bus or other interface. As a non-limiting example, the input interface 110 is configured to receive user input from a user input device (e.g., a keyboard, a mouse, a touch screen, a camera (for gesture commands), a microphone (for voice commands), or a combination thereof). The memory 114 includes volatile memory, non-volatile memory, or a combination thereof. The processor 112 is configured to execute instructions stored in the memory 114 to perform the operations described herein.

[0027] In Figure 1 the illustrated implementation, the instructions include feature vector generation instructions 120, tagging instructions 122, probability determination instructions 124, label reassignment instructions 126, and classifier generation instructions 128. The feature vector generation instructions 120 are configured to generate a feature vector 130 based on the sensor data 150, as further described herein. The tagging instructions 122 are configured to tag the feature vector 130 with a first label 136, as further described herein. The probability determination instructions 124 are configured to determine the probability that each label in a subset of the first labels 136 is correct, as further described herein. The label reassignment instructions 126 are configured to reassign one or more of the first labels 136 based on the probabilities to generate a second label 138, as further described herein. The classifier generation instructions 128 are configured to generate and train an aircraft fault prediction classifier 140, as further described herein.

[0028] The display device 106 is coupled to the computing device 104 and is configured to display an output based on data from the computing device 104. For example, the display device 106 can include a screen, a touch screen, a monitor, or other types of display devices. Although illustrated as external to the computing device 104, in other implementations, the display device 106 is integrated within the computing device 104.

[0029] During operation, the processor 112 receives sensor data 150. The sensor data 150 includes sensor readings and time series data of corresponding times. The processor 112 also receives fault data 132, which may be stored in the memory 114. The fault data 132 indicates the times when faults are detected on one or more aircraft. For example, the fault data 132 indicates the times when one or more aircraft generate maintenance messages, and the maintenance messages indicate the occurrence of faults.

[0030] The feature vector generation instruction 120 generates a feature vector 130 based on the sensor data. The feature vector 130 includes a sequence of potential feature state values over a plurality of sampling time periods, where one potential feature state value corresponds to one sampling time period. To determine the potential feature state values, the processor 112 performs a clustering operation on the sensor data 150 to group the sensor data 150 into potential feature state values. The clustering operation may include any type of clustering operation, such as centroid clustering operations (e.g., k-means, k-medians, k-medoids, etc.), distribution clustering operations, expectation maximization (EM) clustering operations, hierarchical clustering operations, density clustering operations (e.g., DBSCAN), other types of clustering operations, or any combination thereof. In a specific implementation, each potential feature state value corresponds to a cluster in a j-dimensional feature space, where j is the number of types of sensor variables in the sensor data 150. Refer to Figure 2 Further details of generating the potential feature state values are described. After determining the potential feature state values, the feature vector 130 is generated based on the potential feature state values. For example, the first feature vector includes a first sequence of potential feature state values (e.g., each element of the first feature vector indicates a potential feature state value), and the second feature vector indicates a second sequence of potential feature state values.

[0031] In a specific implementation, generating a sequence of potential feature state values may reduce the size of the sensor data 150. For example, compared with storing all the sensor data 150, generating a sequence of potential feature state values stored as the feature vector 130 reduces the amount of information to be stored in the memory 114. For further illustration, instead of storing multiple measurements at each sampling time, the sensor data 150 for that time period is represented as a single potential feature state value. Thus, the storage space at the memory 114 can be reduced by converting the sensor data 150 into the feature vector 130.

[0032] After generating the latent feature state values, the feature vector generation instruction 120 determines sequences of the latent feature state values, and these sequences of the latent feature state values are the feature vectors 130. For example, a rolling window of n time steps is used to identify a sequence of n latent feature state values as a feature vector. For example, each element of the feature vector indicates a latent feature state value in the sequence based on the time step associated with the latent feature state value.

[0033] After generating the feature vectors 130, each feature vector 130 is labeled. For example, the labeling instruction 122 is configured to label each feature vector with a first label value or a second label value. The first label value corresponds to a feature vector identified as a fault precursor, and the second label value corresponds to a "normal" feature vector (e.g., a feature vector that is not a fault precursor). For example, each feature vector is labeled with a numerical value, e.g., a first numerical value (e.g., 1) corresponding to a precursor or a second numerical value (e.g., 0) corresponding to a "normal" feature vector. The label of each feature vector 130 is stored as the first label 136 in the memory 114.

[0034] Each feature vector 130 is labeled based on the proximity of the feature vector 130 to the time of the fault occurrence. By way of illustration, the labeling instruction 122 accesses the fault data 132 to determine the time of the fault occurrence (e.g., the time when the maintenance message is generated). Additionally or alternatively, at least some of the sensor data 150 includes historical data, and the historical data includes at least some data with corresponding fault indications (e.g., at least some of the sensor data 150 may be labeled when received by the computing device 104). Sequences of latent feature state values that occur within a threshold time proximity (e.g., m seconds) of the fault are labeled with the first label value (e.g., 1), while feature vectors that are not within the threshold time proximity of the fault occurrence are labeled with the second label value (e.g., 0). As a specific example, each feature vector corresponding to a time period three minutes before the fault occurrence is labeled with the first label value (e.g., 1, corresponding to "precursor"). In this example, feature vectors corresponding to time periods that are not three minutes before the fault occurrence are labeled with the second label value (e.g., 0, corresponding to "normal"). In other examples, m is less than 3 minutes or greater than 3 minutes (e.g., 180 seconds).

[0035] The value of m is selected based on the competition problem of correctly identifying the sequence of potential characteristic state values that lead to faults and reducing the number of false positive identifications. For example, increasing m increases the number of feature vectors (e.g., the sequence of potential characteristic state values) initially labeled with the first label value, which increases the likelihood of identifying the feature vectors that lead to faults, but also increases the number of false positive feature vectors (e.g., labeled with the first label value but actually unrelated to faults). Decreasing m reduces the number of feature vectors initially labeled with the first label value, which reduces the number of false positives, but also reduces the likelihood of identifying the correct feature vectors.

[0036] After generating the first label 136, determine the probability that a subset of the first label 136 is correct. For example, the probability determination instruction 124 is configured to determine, for each feature vector of a subset of the feature vectors 130, the probability that the label associated with the feature vector is correct. The probability is used to relabel one or more feature vectors 130, as further described herein. The subset includes feature vectors having a label indicating the first label value (e.g., 1, corresponding to "precursor"). For example, the probability determination instruction 124 is configured to determine the probability that a feature vector labeled with the first label value is correctly labeled.

[0037] In a specific implementation, the probability determination instruction 124 is configured to generate and train a probability predictor 134. The probability predictor 134 is configured to determine the probability of correctly labeling each feature vector. In a specific implementation, the probability predictor 134 includes a random forest regression predictor. For example, the random forest regression predictor includes a plurality of regression decision trees trained using a supervised learning process that uses the feature vectors 130 and the first label 136 as inputs. Each decision tree is configured to output a numerical value based on a random sampling of the features of the feature vector 130, and the outputs of the plurality of regression decision trees are averaged together to generate the output of the random forest regression predictor. Because the outputs of the plurality of regression decision trees are averaged together, the random forest regression predictor reduces the likelihood of overfitting the training data while maintaining an acceptable level of complexity and prediction speed.

[0038] The regression random forest predictor returns the regression value of each training and test feature vector provided to the regression random forest predictor. The regression value is interpreted as a data-driven confidence in the degree of association of each feature vector with its class (e.g., precursor or normal). This is feasible because the initial labels of the feature vectors 130 are numerical (e.g., 1 corresponds to precursor, and 0 corresponds to normal). Thus, after training the random forest regression predictor, a subset of the feature vectors 130 is provided to the random forest regression predictor, and the output of the random forest regression predictor (e.g., the regression value) is used to determine the probability of correctly labeling each feature vector of the subset of the feature vectors 130.

[0039] In other implementations, the probability predictor 134 includes different types of predictors, such as a neural network predictor, a support vector machine predictor, a Bayesian predictor, a perceptron predictor, or other types of predictors. The use of the probability predictor 134 enables the effective determination of probabilities using machine learning techniques.

[0040] After determining the probability associated with a subset (e.g., a feature vector labeled with a first label value), one or more first labels 136 are reassigned to generate second labels 138. For example, the label reassignment instruction 126 is configured to reassign the labels of one or more feature vectors of a subset of the feature vectors 130. One or more feature vectors (e.g., feature vectors with reassigned labels) have a label indicating a first label value (e.g., 1, corresponding to "precursor") and a probability that does not meet a probability threshold before reassignment. For example, one or more feature vectors labeled with a first label value (e.g., corresponding to "precursor") and having a probability that does not meet the probability threshold (e.g., based on the output of the probability predictor 134) are relabeled with a second label value in the second labels 138 (e.g., 0, corresponding to a "normal" feature vector). Although referred to as relabeling with numerical label values (e.g., 0 or 1), in other implementations, all labels can be labeled using categorical label values (e.g., "precursor" or "normal"). Thus, based on the probability with the second label value, one or more feature vectors (one or more feature vectors initially labeled with the first label value in the subset) within a threshold time proximity of the occurrence of a fault are relabeled. Relabeling one or more feature vectors reduces false positives in which the feature vectors are identified as "precursors" because, based on the corresponding probabilities, the likelihood that one or more features are the cause of the fault is low. Additionally, some of the first labels 136 are not relabeled. For example, the label reassignment instruction 126 is configured to prohibit relabeling feature vectors having a label indicating a second label value (e.g., feature vectors labeled as "normal"). As another example, the label reassignment instruction 126 is configured to prohibit labeling feature vectors in the subset having a probability that meets the probability threshold (e.g., feature vectors labeled as "precursor"). Thus, feature vectors that may be related to the fault remain labeled with the first label value (e.g., as "precursor").

[0041] After reassigning labels (e.g., generating the second label 138), the aircraft fault prediction classifier 140 is trained. For example, the classifier generation instruction 128 is configured to generate and train the aircraft fault prediction classifier 140. The aircraft fault prediction classifier 140 is trained using training data that includes the feature vectors 130 and the second label 138. For example, each feature vector is labeled as "precursor" or "normal" (using numerical label values or categorical label values), and the labeled feature vectors are used to train the aircraft fault prediction classifier 140 in a supervised learning process to predict the occurrence of an aircraft fault based on input sensor data. The training data preferably includes a plurality of feature vectors labeled with a first label value (e.g., "precursor") and a plurality of feature vectors labeled with a second label value (e.g., "normal").

[0042] In a specific implementation, the aircraft fault prediction classifier 140 includes a random forest classifier. The random forest classifier includes a plurality of decision tree classifiers that are trained using a supervised learning process based on the feature vectors 130 and the second label 138 to determine whether an input feature vector is associated with a first label value (e.g., 1 or "precursor") or a second label value (e.g., 0 or "normal"). Each decision tree classifier is trained using features randomly (or pseudo-randomly) selected from the feature vectors 130 to output a classification (e.g., labeling the input feature vector as "precursor" or "normal"). The outputs of the plurality of decision tree classifiers are aggregated using a majority voting process. For example, if more decision tree classifiers output "precursor" for a given input feature vector than output "normal", the output of the random forest classifier is "precursor". Since the output of the random forest classifier is a collection of the outputs of the plurality of decision tree classifiers, the random forest classifier reduces the likelihood of overfitting the training data while maintaining an acceptable level of complexity and classification speed. Thus, the output of the random forest classifier is the label value associated with the input feature vector. Although described as a random forest classifier, in other implementations, the aircraft fault prediction classifier 140 includes different types of classifiers, such as, for example, a neural network classifier, a support vector machine classifier, a Bayesian classifier, a perceptron classifier, or other types of classifiers.

[0043] In a specific implementation, during the operation of the aircraft, the computing device 104 receives real-time sensor data 152 (or near real-time sensor data) from the sensor 102. As used herein, sensor data received in real-time or near real-time refers to sensor data generated during the operation of the aircraft (or other vehicle) and received from the sensor 102 after any processing. For example, the sensor 102 is configured to monitor the aircraft to generate real-time sensor data 152 and transmit (or process and transmit) the real-time sensor data 152 to the computing device 104. Different from the sensor data 150 that may include historical sensor data from multiple aircraft (e.g., multiple aircraft of the same type, multiple different types of aircraft, or a combination thereof), the real-time sensor data 152 is received from a specific aircraft when the specific aircraft is flying (or otherwise operating). The processor 112 executes the feature vector generation instruction 120 to generate additional feature vectors based on the real-time sensor data 152. The additional feature vectors are generated according to the process for generating the feature vectors 130. After generating the additional feature vectors, the additional feature vectors are provided to the aircraft fault prediction classifier 140, and the aircraft fault prediction classifier 140 outputs an indication of whether a fault is predicted based on the real-time sensor data 152 (e.g., based on the additional feature vectors). Therefore, the aircraft fault prediction classifier 140 can be used to predict whether a fault occurs during the operation of the aircraft (or other vehicle) based on real-time sensor data from the aircraft (or other vehicle).

[0044] In a specific implementation, the processor 112 is configured to execute the aircraft fault prediction classifier 140. For example, the computing device 104 can be implemented in the aircraft, and the processor 112 is configured to execute the aircraft fault prediction classifier 140 during the flight of the aircraft to predict the occurrence of a fault. Alternatively, the aircraft fault prediction classifier 140 can be generated by the computing device 104 and provided to another device for execution. For example, the computing device 104 can be implemented in a ground base station, and the aircraft fault prediction classifier 140 can be generated in the ground base station and then provided to the aircraft for execution during the operation of the aircraft. The aircraft executes the feature generation instruction to generate feature vectors based on the real-time sensor data and provides the feature vectors to the aircraft fault prediction classifier 140 for predicting the fault status of the aircraft.

[0045] In a specific implementation, the processor 112 is configured to generate a graphical user interface (GUI) 160 for display on the display device 106. For example, the memory 114 stores GUI generation instructions executable by the processor 112. The GUI 160 indicates the execution result of the aircraft fault prediction classifier 140 on the real-time sensor data 152. As a specific example, the GUI 160 may include a prompt 162 that indicates a predicted fault and a specific repair associated with the predicted fault. For illustration, the data stored in the memory 114 may associate one or more sequences of potential feature state values (e.g., feature vectors) with a specific type of fault, and the specific type of fault may be associated with different repairs to be performed on the aircraft. The processor 112 issues the prompt 162 after matching a specific feature vector with the corresponding repair. As another specific example, the GUI 160 may include an indication of a repair plan 164, and the repair plan may be re-formulated based on the prediction of the occurrence of a fault. For example, due to the prediction of a fault by the aircraft fault prediction classifier 140, the scheduled repair or downtime of the aircraft may be accelerated.

[0046] The system 100 is capable of generating the aircraft fault prediction classifier 140 in a fast and efficient manner. Since the aircraft fault prediction classifier 140 is trained based on the feature vectors 130 (e.g., based on the sensor data 150), the techniques described herein are data-driven as compared to physics-based models generated to simulate the operating state of an aircraft. These physics-based models may take a long time to develop and use a large amount of processing and storage resources. As another advantage, the training data used to train the aircraft fault prediction classifier 140 is labeled by the system 100, thereby reducing (or eliminating) the labeling of time series data performed by a user. In addition, since the feature vectors 130 are re-labeled before being used as training data, the false positive identification of faults by the aircraft fault prediction classifier 140 is reduced. Therefore, the system 100 is capable of generating an aircraft fault prediction classifier 140 that reduces the repair time or downtime of the aircraft and has fewer false positive identifications of faults, which improves the utility of the aircraft fault prediction classifier 140.

[0047] Reference Figure 2 , an example of determining a sequence of potential feature state values is shown and generally designated as 200. The sequence of potential feature state values is determined based on Figure 1 the sensor data 150. Once the sequence of potential feature state values is determined, the values of the sequence are stored as the feature vectors 130.

[0048] To determine the sequence of potential feature state values, the sensor data 150 is first converted into potential feature state values. To convert the sensor data 150 into potential feature state values, a clustering operation is performed on the sensor data 150. The clustering operation groups the elements (e.g., data points) of the sensor data 150 into clusters in a j-dimensional feature space based on the characteristics and relationships of the data points, where j is the number of types of sensor variables (e.g., parameters) in the sensor data 150. Since the sensor data 150 is not labeled before clustering, an unsupervised learning process is used to perform the clustering.

[0049] In a specific implementation, a k-means clustering is performed on the sensor data 150 to cluster the sensor data 150 in the feature space. For illustration, the number of clusters is determined and the cluster centers of each cluster are initially set in the feature space. In a specific implementation, the number of clusters is determined based on user input, additional analysis of the data, or some other means. After initializing the cluster centers in the feature space, the data points are added to the respective clusters and the positions of the cluster centers are modified. For example, in response to determining that a first data point is closer to a first cluster than to any other cluster, the first data point is added to the first cluster and the center position of the first cluster is modified (e.g., updated) to be between the position of the initial cluster center and the position of the first data point. In a specific implementation, the cluster centers are updated such that the sum of the squares of the Euclidean distances between the cluster centers and each data point in the first cluster is minimized. Additional points can be added to the clusters in a similar manner. For example, a second data point can be added to a second cluster based on the second data point being closer to the cluster center of the second cluster than to the centers of any other clusters, and the position of the cluster center of the second cluster is updated based on the position of the second data point. The first clustering operation continues until all data points (e.g., the data points of the sensor data 150) are assigned to the corresponding clusters and the positions of each cluster center are updated based on the assignment.

[0050] In another implementation, a k-medoids clustering operation is performed on the sensor data 150 to determine the potential feature state values. The k-medoids clustering operation is similar to the k-means clustering operation, except that the cluster centers are updated to the positions of the data points in the clusters that minimize the difference between the position of the cluster center and the positions of each data point in the cluster. Compared to the k-means clustering operation, the k-medoids clustering operation is more robust to noise and outliers.

[0051] In another specific implementation, a Gaussian mixture model (GMM) clustering operation, for example, a Dirichlet process GMM (DPGMM) clustering operation, is performed on the sensor data 150 to determine potential feature state values. For illustration, the cluster centers are determined based on the assumption of a normal distribution of data points around each cluster center. Specifically, DPGMM assumes an infinite mixture model, and the Dirichlet process is the prior distribution of the number of mixture models in GMM, where "mixture" corresponds to a state or a cluster. In DPGMM, the number of clusters that best fit the data is calculated according to the distribution G(μ), which can be defined by Equation 1.

[0052]

[0053] cluster means The values are distributed according to the distribution H(λ) (where H(λ) represents the user's prior assumption about the cluster distribution and can be assigned any parametric distribution with a user-selected parameter λ). δ μk is an indicator function. Regarding π k The distribution of is symmetric over an infinite set of clusters, where π k is the prior probability that a data point belongs to the k-th cluster. Finding the best number of clusters (converted to the number of potential feature states) that describe the data based on the assumptions of the Dirichlet process distribution with parameter λ, over the number of clusters, and the Gaussian model distribution within the points in the cluster means finding the posterior distribution of the cluster probabilities and their associated means. In a specific implementation, the number of clusters is determined by performing Markov chain Monte Carlo (MCMC) sampling on the posterior probability of the number of clusters.

[0054] In other implementations, other types of clustering operations are performed, such as hierarchical clustering, mean shift clustering operation, connectivity clustering operation, density clustering operation (e.g., DBSCAN), distribution clustering operation, EM clustering operation, or other types of clustering operations or algorithms.

[0055] Each cluster represents a potential feature state value in the feature space. After clustering the sensor data 150 into potential feature state values, a sequence of potential feature state values is determined. In Figure 2 the example shown, the sensor data 150 is clustered into one of four clusters, and each cluster represents one of four states: a first state, a second state, a third state, and a fourth state. At each time t, the potential feature state value can be determined based on which cluster the data points corresponding to time t are placed in by the clustering operation. In Figure 2In the example shown, as a result of the clustering operation, time t1 is associated with the second state, time t2 is associated with the second state, time t3 is associated with the first state, time t4 is associated with the third state, time t5 is associated with the third state, time t6 is associated with the fourth state, time t7 is associated with the first state, time t8 is associated with the third state, time t9 is associated with the second state, and time t10 is associated with the fourth state. In other examples, the sensor data 150 is clustered into fewer than four or more than four clusters.

[0056] After determining the potential feature state values based on the sensor data 150, a sequence of the potential feature state values is determined. In a specific implementation, the sequence is determined by applying a rolling window 215 to the potential feature state values. For example, a rolling window with n samples can be applied to the potential feature state values to determine a sequence of potential feature state values with length n. In Figure 2 the example shown, n is four time steps. A time step can correspond to any increment of time, and in other implementations, n is less than four or more than four time steps. In Figure 2 the example, a sequence of potential feature state values with length n (also referred to as a time series of the potential feature (TSLF)) is selected, and a first sequence 202 of potential feature state values, a second sequence 204 of potential feature state values, a third sequence 206 of potential feature state values, a fourth sequence 208 of potential feature state values, a fifth sequence 210 of potential feature state values, a sixth sequence 212 of potential feature state values, and a seventh sequence 214 of potential feature state values are generated. The first sequence 202 of potential feature state values corresponds to times t1 to t4, the second sequence 204 of potential feature state values corresponds to times t2 to t5, the third sequence 206 of potential feature state values corresponds to times t3 to t6, the fourth sequence 208 of potential feature state values corresponds to times t4 to t7, the fifth sequence 210 of potential feature state values corresponds to times t5 to t8, the sixth sequence 212 of potential feature state values corresponds to times t6 to t9, and the seventh sequence 214 of potential feature state values corresponds to times t7 to t10. Additional sequences of potential feature state values can be determined starting from times t8, t9, t10, t11, etc.

[0057] The sequences 202 to 214 of potential feature state values include a sequence of n feature values associated with consecutive time steps. In Figure 2In the example shown, the first sequence 202 of potential feature state values includes a second state, followed by the second state, followed by the first state, followed by the third state. The second sequence 204 of potential feature state values includes the second state, followed by the first state, followed by the third state, followed by the third state. The third sequence 206 of potential feature state values includes the first state, followed by the third state, followed by the third state, followed by the fourth state. The fourth sequence 208 of potential feature state values includes the third state, followed by the third state, followed by the fourth state, followed by the first state. The fifth sequence 210 of potential feature state values includes the third state, followed by the fourth state, followed by the first state, followed by the third state. The sixth sequence 212 of potential feature state values includes the fourth state, followed by the first state, followed by the third state, followed by the second state. The seventh sequence 214 of potential feature state values includes the first state, followed by the third state, followed by the second state, followed by the fourth state.

[0058] The sequences 202 to 214 of potential feature state values may be stored as the feature vector 130. For illustration, determining the first feature vector of the feature vector 130 includes determining the first sequence 202 of potential feature state values within the first set of sampling time periods (e.g., t1 to t4) of the first time period. Each element of the first feature vector includes the corresponding potential feature state value of the first sequence 202 of potential feature state values. In Figure 2 the example, the first feature vector includes the potential feature state values [2, 2, 1, 3] based on the first sequence 202 of potential feature state values. For further illustration, determining the second feature vector of the feature vector 130 includes determining the second sequence 204 of potential feature state values within the second set of sampling time periods (e.g., t2 to t5) of the second time period. Each element of the second feature vector includes the corresponding potential feature state value of the second sequence 204 of potential feature state values. In Figure 2 the example, the second feature vector includes [2, 1, 3, 3]. In addition, as Figure 2 shown, the time period associated with one feature vector may overlap with the time period associated with another feature vector. For example, both the first feature vector and the second feature vector are associated with the overlapping time period of t2 to t4 (e.g., due to the application of the rolling window 215 at each consecutive time step). Similarly, the third feature vector includes [1, 3, 3, 4], the fourth feature vector includes [3, 3, 4, 1], the fifth feature vector includes [3, 4, 1, 3], the sixth feature vector includes [4, 1, 3, 2], and the seventh feature vector includes [1, 3, 2, 4].

[0059] After determining the feature vectors corresponding to the sequences 202 to 214 of potential feature state values, the feature vectors are labeled. The labeling is based on the temporal proximity of the feature vectors to the fault. For illustration, the sensor data 150 includes historical sensor data associated with different times, and the fault data 132 indicates that faults occur at different times. In a particular implementation, a maintenance message is generated by the aircraft to indicate the fault. For the purpose of labeling, a rolling window 215 of size n is used to determine the sequences of potential feature state values (and the corresponding feature vectors), and the feature vectors associated with times within a time amount m (e.g., a threshold temporal proximity) before the occurrence of the fault are labeled as "precursor", while the other feature vectors are labeled as "normal". In a particular implementation, n is fifteen seconds and m is three minutes. In other implementations, n and m have other values.

[0060] For illustration, in Figure 2 the example of, a fault 218 occurs at time t12. The feature vectors within the threshold temporal proximity 216 of the occurrence of the fault 218 are labeled with a first label value 220, while the feature vectors not within the threshold temporal proximity 216 of the occurrence of the fault 218 are labeled with a second label value 222. For example, the feature vectors corresponding to the fifth sequence 210 of potential feature state values, the sixth sequence 212 of potential feature state values, and the seventh sequence 214 of potential feature state values are assigned the first label value 220 (e.g., 1, corresponding to "precursor") because these time sequences of potential feature state values fully occur within the threshold temporal proximity 216. As another example, the feature vectors corresponding to the first sequence 202 of potential feature state values, the second sequence 204 of potential feature state values, the third sequence 206 of potential feature state values, and the fourth sequence 208 of potential feature state values are assigned the second label value 222 (e.g., 0, corresponding to "normal") because at least a portion of the time sequence of potential feature state values occurs outside the threshold temporal proximity 216. Thus, the feature vectors associated with times within the threshold temporal proximity 216 of the occurrence of the fault 218 are initially labeled as "precursor", while the feature vectors associated with times not within the threshold temporal proximity 216 of the occurrence of the fault 218 are initially labeled as "normal". As further described with reference to Figure 1 one or more of these feature vectors are relabeled based on the probability associated with the feature vector, thereby reducing the false alarm rate (e.g., the rate of identifying a sequence of potential feature state values as a precursor even though the sequence of potential feature state values is not a proximate cause of the fault).

[0061] Thus, Figure 2 illustrates the sensor data (e.g., Figure 1The sensor data 150) is converted into a sequence of latent feature state values. Storing feature vectors based on the sequence of latent feature state values, rather than storing all the sensor data, reduces the use of storage space in the memory 114. Additionally, the feature vectors can be initially labeled based on the proximity in time to the occurrence of a fault. This technique of initially labeling feature vectors provides a "process" label, which can be "fine-tuned" by reassigning one or more labels based on probability values associated with the feature vectors, as further described with reference to Figure 1 Further described.

[0062] Reference Figure 3 , shows an example of reassigning labels based on probability, and is generally designated as 300. A plurality of feature vectors 302 to 308 are generated. For example, the feature vectors 302 to 308 include or correspond to Figure 1 The feature vectors 130 of. As described with reference to Figure 2 The feature vectors indicate a sequence of latent feature state values. In the Figure 3 example, the first feature vector 302 includes [3, 2, 4, 1], the second feature vector 304 includes [2, 4, 1, 2], the third feature vector 306 includes [2, 2, 1, 3], and the fourth feature vector 308 includes [2, 1, 3, 3]. In other examples, the feature vectors have other values, and fewer than four or more than four feature vectors can be generated.

[0063] After determining the feature vectors 302 to 308, labels are assigned to the feature vectors 302 to 308 based on whether the feature vectors are within a threshold time proximity to the occurrence of a fault, as described with reference to Figure 2 . In this initial labeling process, it is determined that the first feature vector 302 and the second feature vector 304 are within the threshold time proximity to the occurrence of a fault, and the third feature vector 306 and the fourth feature vector 308 are not within the threshold time proximity to the fault. Thus, the label 320 of the first feature vector 302 and the label 322 of the second feature vector 304 are assigned a first label value (e.g., 1, corresponding to "precursor"), and the label 324 of the third feature vector 306 and the label 326 of the fourth feature vector 308 are assigned a second label value (e.g., 0, corresponding to "normal").

[0064] After the initial label assignment, the probability that the initial label assignment is correct for the feature vectors 302 to 304 is determined. As explained with reference to Figure 1 , the feature vectors 302 to 308 and the corresponding labels 320 to 326 are used as training data to train a probability classifier, such as a random forest regression classifier. Using the probability classifier, the probability values that the initial label assignments for the corresponding feature vectors are correct are determined. In Figure 3In the example, the first eigenvector 302 is assigned a probability 310 of 0.9, and the second eigenvector 304 is assigned a probability 312 of 0.43. The probabilities of the third eigenvector 306 and the fourth eigenvector 308 are immaterial because the labels of the third eigenvector 306 and the fourth eigenvector 308 have a second label value (e.g., 0, corresponding to "normal").

[0065] The probabilities 310 to 312 are compared with a probability threshold 330 to determine whether any of the probabilities 310 to 312 fails to meet (e.g., is less than) the probability threshold 330. In Figure 3 the example, the probability threshold 330 is 0.7, and thus, the probability 312 of the second eigenvector 304 does not meet the probability threshold 330.

[0066] To reduce the number of false positive identifications of fault state precursors, one or more of the labels 320 to 322 are reassigned based on the probabilities 310 to 312. For illustration, if a label has a first label value (e.g., 1, corresponding to "precursor") and the corresponding probability does not meet the probability threshold 330, the label is reassigned to a second label value (e.g., 0, corresponding to "normal"). For example, because the second eigenvector 304 is initially assigned the first label value and because the probability 312 does not meet the probability threshold 330, the label 322 is reassigned to a reassigned label 340 having the second label value (e.g., 0, corresponding to "normal"). In Figure 3 none of the labels 320 are reassigned because the probability 310 meets the probability threshold 330. Additionally, none of the labels 324 and 326 are reassigned because the initial label values are the second label value (e.g., 0, corresponding to "normal").

[0067] By reassigning labels based on probabilities, one or more false positive identifications of fault precursors are reduced. After reassigning one or more labels, the labeled eigenvectors are used as training data to train an aircraft fault prediction classifier 140, as referenced Figure 1 above. The aircraft fault prediction classifier 140 is trained to output fewer false positive identifications of fault states, improving the utility of the aircraft fault prediction classifier 140.

[0068] Figure 4 FIG. shows a method 400 for generating an aircraft fault prediction classifier. In a specific implementation, the method 400 is executed by a computing device 104 (e.g., by a processor 112).

[0069] The method 400 includes computing potential feature state values at 402. For example, as referenced Figure 2As described above, potential feature state values are determined based on sensor data 150. In a specific implementation, potential feature state values are determined by performing a clustering operation on sensor data 150 to group the sensor data 150 into clusters corresponding to potential feature state values. The clustering operation can be a k-means clustering operation, a k-medoids clustering operation, a DPGMM clustering operation, or other types of clustering operations.

[0070] Method 400 includes computing a feature vector at 404. In a specific implementation, computing feature vector 130 includes computing a sequence of potential feature state values of length n. The feature vector within a time period m before the occurrence of a fault is identified for labeling purposes.

[0071] Method 400 includes labeling the feature vector at 406. For example, feature vectors within a threshold time proximity (e.g., time period m) of the occurrence of a fault are labeled with a first label value (e.g., a numerical value corresponding to "precursor"), while feature vectors not within the threshold time proximity of the occurrence of a fault are labeled with a second label value (e.g., a numerical value corresponding to "normal"). This initial labeling process generates a first label 136.

[0072] Method 400 includes passing the feature vector and label to a probability predictor at 408. For example, feature vector 130 and first label 136 are passed to probability predictor 134 as supervised training data. In a specific implementation, probability predictor 134 includes a random forest regression classifier. In other implementations, probability predictor 134 includes a neural network predictor, a support vector machine predictor, a Bayesian predictor, a perceptron predictor, or other types of predictors. In addition to being trained to output a numerical value indicating the probability that an input feature vector belongs to a specific class (e.g., "precursor" or "normal"), probability predictor 134 is also used to determine the probability of correctly labeling feature vector 130.

[0073] Method 400 includes identifying the feature vectors most likely associated with a fault at 410 and relabeling the other feature vectors. For example, feature vectors initially labeled with a first label value (e.g., "precursor") and having a probability that meets a threshold (e.g., greater than or equal to the threshold) are considered most likely associated with a fault, so the labels of these feature vectors are maintained. Feature vectors initially labeled with a first label value (e.g., "precursor") and having a probability that does not meet the threshold (e.g., less than the threshold) are relabeled with a second label value (e.g., "normal"). Method 400 prohibits relabeling feature vectors initially labeled with a second label value (e.g., "normal"). The relabeling of one or more labels generates a second label 138.

[0074] Method 400 further includes using the relabeled feature vectors to train an aircraft fault prediction classifier at 412. For example, the feature vector 130 and the second label 138 are provided as supervised training data to the aircraft fault prediction classifier 140 to train the aircraft fault prediction classifier to predict faults based on the input feature vectors. In a specific implementation, the aircraft fault prediction classifier 140 includes a random forest classifier. In other implementations, the aircraft fault prediction classifier includes other types of classifiers, such as, a neural network classifier, a support vector machine classifier, a Bayesian classifier, a perceptron classifier, or other types of classifiers.

[0075] Method 400 is capable of generating and training the aircraft fault prediction classifier 140. Since the aircraft fault prediction classifier 140 is trained based on the relabeled training data (e.g., the feature vector 130 and the second label 138, rather than the first label 136), the aircraft fault prediction classifier 140 generates fewer false fault alarms. Thus, method 400 improves the utility of the aircraft fault prediction classifier 140.

[0076] Figure 5 A method 500 for generating an aircraft fault prediction classifier is shown. In a specific implementation, method 500 is executed by the computing device 104 (e.g., by the processor 112).

[0077] Method 500 includes receiving input data including a plurality of feature vectors at 502. The input data includes sensor data associated with one or more aircraft. For example, the processor 112 receives the sensor data 150 from the sensor 102 (or from one or more other devices, such as, a data storage device, or stored in the memory 114).

[0078] Method 500 includes labeling each of the plurality of feature vectors based on the proximity in time of the feature vector to the occurrence of a fault at 504. Feature vectors within a threshold time proximity of the occurrence of a fault are labeled with a first label value, while feature vectors not within the threshold time proximity of the occurrence of a fault are labeled with a second label value. For example, the feature vector 130 is labeled based on the fault data 132 to generate the first label 136. Each first label 136 includes a first label value (e.g., a numerical value corresponding to "precursor") or a second label value (e.g., a numerical value corresponding to "normal") based on whether the corresponding feature vector is within the threshold time proximity of the fault.

[0079] Method 500 includes, at 506, determining, for each feature vector of a subset of a plurality of feature vectors, the probability that the label associated with the feature vector is correct. The subset includes feature vectors having a label indicating a first label value. For example, the feature vector 130 and the first label 136 are provided to the probability predictor 134 to determine the probability of correctly labeling the subset of the feature vector 130. The subset of the feature vector 130 includes feature vectors labeled with the first label value (e.g., "precursor") during an initial labeling step.

[0080] Method 500 includes, at 508, reassigning the label of one or more feature vectors of the subset. The one or more feature vectors have a probability that does not meet a probability threshold. For example, the first feature vector is labeled with the first label value (e.g., "precursor") and has a probability that does not meet the probability threshold. Accordingly, the label of the first feature vector is reassigned to a second label value (e.g., "normal"). Reassigning the one or more first labels 136 generates the second label 138.

[0081] Method 500 further includes, at 510, after reassigning the label of one or more feature vectors, using supervised training data including the plurality of feature vectors and the labels associated with the plurality of feature vectors to train an aircraft fault prediction classifier. The aircraft fault prediction classifier is configured to use second sensor data of the aircraft to predict the occurrence of a second fault of the aircraft. For example, the feature vector 130 and the second label 138 are used as supervised training data to train the aircraft fault prediction classifier 140. The aircraft fault prediction classifier 140 is configured to predict a fault of the aircraft based on real-time sensor data 152 from the sensor 102.

[0082] In a specific implementation, one or more feature vectors are within a threshold time proximity of a fault occurrence. For example, the feature vector with the reassigned label is within a threshold time proximity of a fault occurrence (e.g., the feature vector was initially assigned the "precursor" label). Reassigning the one or more feature vectors that are within the threshold time proximity of the fault and thus labeled with the first label value (e.g., "precursor") reduces false positive identifications of the fault state by the aircraft fault prediction classifier 140, which improves the utility of the aircraft fault prediction classifier 140.

[0083] In a specific implementation, the aircraft fault prediction classifier includes a random forest classifier. For example, the aircraft fault prediction classifier 140 includes a random forest classifier. The random forest classifier reduces the likelihood of overfitting the training data of the aircraft fault prediction classifier 140 while maintaining an acceptable level of complexity and classification speed.

[0084] In a specific implementation, method 500 further includes training a probability predictor to determine a probability associated with each feature vector. For example, probability predictor 134 is trained to output a probability coefficient that indicates the probability that the corresponding label of the first label 136 is correct. Using probability predictor 134 to determine the probability enables the use of machine learning techniques to effectively determine the probability. In some implementations, probability predictor 134 includes a random forest regression predictor. The random forest regression predictor reduces the likelihood of overfitting the training data of probability predictor 134 while maintaining an acceptable level of complexity and classification speed.

[0085] In a specific implementation, method 500 further includes prohibiting relabeling of feature vectors having a label indicating a second label value or a subset of feature vectors having a probability that meets a probability threshold. For example, referring to Figure 3 , the first feature vector 302 is not relabeled because the probability 310 meets (e.g., is greater than or equal to) the probability threshold 330. Additionally, the third feature vector 306 and the fourth feature vector 308 are not relabeled because the feature vectors are initially labeled with the second label value (e.g., "normal"). Prohibiting relabeling of feature vectors initially labeled with the second label value reduces the number of probability comparisons made, thereby increasing the speed of the relabeling process.

[0086] In a specific implementation, the plurality of feature vectors includes a sequence of latent feature state values over a plurality of sampling time periods. One latent feature state value corresponds to one sampling time period. For example, a sequence 202 to 214 of latent feature state values is determined based on sensor data 150. Each latent feature state value corresponds to a different period. Determining the sequence of latent feature state values reduces the size of sensor data 150 while determining information that can be used to predict a fault state. In some implementations, method 500 includes performing a clustering operation on the sensor data to group the sensor data into latent feature state values. For example, a clustering operation is performed on sensor data 150 to cluster sensor data 150 into latent feature state values. In a specific implementation, the clustering operation includes a k-means clustering operation, a k-medoids clustering operation, a DPGMM clustering operation, or other types of clustering operations. Clustering sensor data 150 into clusters enables determination of relevant latent feature state values based on the features of sensor data 150 and the relationships within sensor data 150. In some implementations, the latent feature state values correspond to clusters in a j-dimensional feature space, where j is the number of types of sensor variables in the sensor data. For example, by performing a clustering operation, sensor data 150 is reduced to clusters in a j-dimensional feature space. Reducing sensor data 150 to clusters in a j-dimensional feature space enables determination of relevant latent feature state values based on the features of many variables in sensor data 150.

[0087] In some implementations, determining a first eigenvector among a plurality of eigenvectors includes determining a first sequence of potential feature state values within a first set of sampling time periods of a first time period. Each element of the first eigenvector includes a corresponding potential feature state value of the first sequence. For example, for the sampling time periods t1 to t4 in Figure 2 , a first sequence 202 of potential feature state values is determined. As Figure 2 shown, a first eigenvector is generated based on the first sequence 202 of potential feature state values such that the first element of the first eigenvector includes a second state, the second element of the first eigenvector includes a second state, the third element of the first eigenvector includes a first state, and the fourth element of the first eigenvector includes a third state. In some implementations, determining a second eigenvector among a plurality of eigenvectors includes determining a second sequence of potential feature state values within a second set of sampling time periods of a second time period that partially overlaps the first time period. Each element of the second eigenvector includes a corresponding potential feature state value of the second sequence. For example, for the sampling time periods t2 to t5 in Figure 2 (which partially overlap the sampling time periods associated with the first eigenvector), a second sequence 204 of potential feature state values is determined. A second eigenvector is generated based on the second sequence 204 of potential feature state values such that the first element of the second eigenvector includes a second state, the second element of the second eigenvector includes a first state, the third element of the second eigenvector includes a third state, and the fourth element of the second eigenvector includes a third state, as Figure 2 shown. Generating eigenvectors based on a time series of potential feature state values reduces the size of the information used to train the aircraft fault prediction classifier 140 as compared to using all of the sensor data 150.

[0088] In a specific implementation, method 500 further includes executing an aircraft fault prediction classifier during aircraft operation to generate a prompt indicating a predicted occurrence of a second fault and a specific repair associated with the predicted occurrence of the second fault. For example, executing the aircraft fault prediction classifier 140 based on real-time sensor data 152 enables the generation of a prompt 162 that is displayed on the display device 106 via the GUI 160. In a specific implementation, the prompt 162 indicates a specific repair to be performed on the aircraft. For example, prior to training the aircraft fault prediction classifier, the eigenvectors can be labeled as "normal" or "precursor to a specific fault", and the aircraft fault prediction classifier 140 is trained to identify whether the input eigenvector is "normal" or a "precursor" to a corresponding type of fault. In this example, different repairs are associated with different types of faults. Identifying a specific repair associated with a fault improves the ability to respond to the fault.

[0089] In a specific implementation, method 500 further includes executing an aircraft fault prediction classifier during aircraft operation to re - formulate a repair plan based on a specific repair associated with the predicted occurrence of a second fault. For example, executing the aircraft fault prediction classifier 140 based on real - time sensor data 152 enables the re - formulation of the repair plan 164 based on the repair associated with the predicted occurrence of the fault. To further illustrate, when the aircraft lands to compensate for and repair the fault, specific repairs can be prioritized, thereby reducing the downtime for maintaining and repairing the aircraft. If a fault is predicted, even if the fault does not actually occur, the repair plan can be re - formulated to prevent the future occurrence of the fault in advance.

[0090] In a specific implementation, receiving input data includes receiving sensor data and generating a plurality of feature vectors. The plurality of feature vectors includes a sequence of latent feature state values, and generating the plurality of feature vectors reduces the size of the sensor data. For example, the feature vector 130 is generated based on the sequence of latent feature state values. Since the feature vector is based on clustering in a j - dimensional feature space (rather than j variables for each element), storing the feature vector 130 in the memory 114 uses less storage space than storing all of the sensor data 150.

[0091] Method 500 is capable of generating and training the aircraft fault prediction classifier 140. Since the aircraft fault prediction classifier 140 is trained based on re - labeled training data (e.g., the feature vector 130 and the second label 138, rather than the first label 136), the aircraft fault prediction classifier 140 generates fewer false - positive fault identifications. Therefore, method 500 improves the utility of the aircraft fault prediction classifier 140.

[0092] In some implementations, Figure 4 method 400 of Figure 5Method 500 or both are implemented as instructions stored on a computer-readable storage device. In a specific implementation, the computer-readable storage device stores instructions that, when executed by a processor, cause the processor to perform operations including receiving input data including a plurality of feature vectors. The input data includes sensor data associated with one or more aircraft. The operations include tagging each of the plurality of feature vectors based on the proximity of the feature vector to the time of occurrence of a fault. Feature vectors within a threshold proximity to the time of occurrence of the fault are tagged with a first tag value, while feature vectors not within the threshold proximity to the time of occurrence of the fault are tagged with a second tag value. The operations include determining, for each feature vector of a plurality of subsets of feature vectors, the probability that the tag associated with the feature vector is correct. The subsets include feature vectors having a tag indicating the first tag value. The operations include reassigning the tags of one or more feature vectors of the subset, the one or more feature vectors having a probability that does not meet a probability threshold. The operations further include, after reassigning the tags of one or more feature vectors, training an aircraft fault prediction classifier using supervised training data including the plurality of feature vectors and the tags associated with the plurality of feature vectors. The aircraft fault prediction classifier is configured to use second sensor data of an aircraft to predict the occurrence of a second fault of the aircraft. In a specific implementation, the plurality of feature vectors are at least partially based on historical data, the historical data including at least some data having corresponding fault indications. For example, sensor data 150 may include pre-tagged historical fault data. Alternatively, an initial tagging process is performed to determine the first tag 136. The tagged historical data is used to train the aircraft fault prediction classifier 140 such that the aircraft fault prediction classifier 140 can predict faults identified based on sensor data from one or more flights of one or more aircraft. In another specific implementation, the second sensor data includes real-time or near-real-time sensor data generated during operation of the aircraft. For example, the aircraft fault prediction classifier 140 is performed on the real-time sensor data 152 to predict an aircraft fault. Using the real-time sensor data 152 as input to the aircraft fault prediction classifier 140 enables prediction of faults during aircraft flight.

[0093] Reference Figure 6 and Figure 7 , in the context of a vehicle manufacturing and maintenance method 600 as shown in the flowchart of Figure 6 and a vehicle system 700 as shown in the block diagram of Figure 7 , examples of the present disclosure are described. The vehicle produced by Figure 6 the vehicle manufacturing and maintenance method 600 and Figure 7 the vehicle 700 may include an aircraft, a car, a train, a motorcycle, a bus, a ship or boat, a rocket, a spacecraft, an autonomous vehicle, or other vehicles, as illustrative non-limiting examples.

[0094] Reference Figure 6 , shows a flowchart of an illustrative example of a method associated with an aircraft fault prediction system and is designated 600. During pre-production, the exemplary method 600 includes, at 602, the specification and design of the vehicle, e.g., reference Figure 7 to the vehicle 700 described. During the specification and design of the vehicle, the method 600 includes specifying one or more sensors, processors, memories, display devices, or combinations thereof. In a particular implementation, the one or more sensors, processors, memories, and display devices respectively include or correspond to Figure 1 the sensor 102, processor 112, memory 114, and display device 106 of

[0095] During production, the method 600 includes, at 606, the manufacture of components and sub-assemblies and, at 608, the system integration of the vehicle. In a particular implementation, the method 600 includes the manufacture of components and sub-assemblies of the aircraft fault prediction system (e.g., generating one or more sensors, processors, memories, display devices, or combinations thereof) and the system integration of the aircraft fault prediction system (e.g., coupling one or more sensors to a processor). At 610, the method 600 includes the certification and delivery of the vehicle, and at 612, the vehicle is put into use. In some implementations, the certification and delivery include certifying the aircraft fault prediction system. Putting the vehicle into use may also include putting the aircraft fault prediction system into use. During customer use, the vehicle may be scheduled for routine maintenance and servicing (which may also include modifications, reconfigurations, refurbishments, etc.). At 614, the method 600 includes performing maintenance and servicing on the vehicle. In a particular implementation, the method 600 includes performing maintenance and servicing on the aircraft fault prediction system. For example, the maintenance and servicing of the aircraft fault prediction system includes replacing one or more of the one or more sensors, processors, memories, display devices, or combinations thereof.

[0096] Each process of the method 600 is performed or implemented by a system integrator, third party, and / or operator (e.g., a customer). For the purposes of this specification, a system integrator includes, but is not limited to, any number of vehicle manufacturers and prime system subcontractors; a third party includes, but is not limited to, any number of suppliers, subcontractors, and vendors; and an operator is an airline, leasing company, military entity, service organization, etc.

[0097] Reference Figure 7, a block diagram of an illustrative implementation of a vehicle including components of an aircraft fault prediction system is shown and designated as 700. In a particular implementation, vehicle 700 includes an aircraft. In other implementations, vehicle 700 includes other types of vehicles. In at least one implementation, vehicle 700 is produced by at least a portion of method 600 of Figure 6 As shown in Figure 7 , vehicle 700 includes a fuselage 718 having a plurality of systems 720 and an interior 722. Examples of the plurality of systems 720 include one or more of a propulsion system 724, an electrical system 726, an environmental system 728, a hydraulic system 730, and a sensor system (e.g., sensor 102). Sensor 102 includes one or more sensors on vehicle 700 and is configured to generate sensor data before, during, and after vehicle 700 operates.

[0098] Vehicle 700 also includes an aircraft fault prediction system 734. Aircraft fault prediction system 734 includes a processor 112 and a memory 114, as referenced in Figure 1 . Processor 112 is configured to execute an aircraft fault prediction classifier 140 on real-time (or near real-time) sensor data from sensor 102 to predict faults of vehicle 700. Aircraft fault prediction system 734 optionally includes a display device 106 (configured to display GUI 160, as referenced in Figure 1 ).

[0099] Vehicle 700 may include any number of other systems. Although an aerospace example is shown, the present disclosure may be applied to other industries. For example, aircraft fault prediction system 734 can be used on manned or unmanned vehicles (e.g., satellites, ships, or land-based vehicles) or in buildings or other structures.

[0100] The devices and methods included herein can be used during any one or more stages of method 600 of Figure 6 . By way of example and not limitation, at 612, components or sub-assemblies corresponding to production process 608 can be fabricated or manufactured in a manner similar to components or sub-assemblies produced in the use of vehicle 700. Additionally, during production stages (e.g., stages 602 to 610 of method 600), for example, by significantly accelerating the assembly of vehicle 700 or reducing the cost of vehicle 700, one or more device implementations, method implementations, or combinations thereof can be used. Similarly, at 612, when vehicle 700 is in use, for example but not limited to maintenance and servicing at 614, one or more device implementations, method implementations, or combinations thereof can be used.

[0101] Although Figures 1 to 7One or more of them may illustrate systems, devices, and / or methods according to the teachings of the present disclosure, but the present disclosure is not limited to these illustrated systems, devices, and / or methods. Any of the Figures 1 to 7 one or more functions or components of any of the figures herein, may be combined with Figures 1 to 7 one or more other portions of another figure herein. For example, Figure 5 one or more elements of method 500 of Figure 6 method 600 of Figure 5 or a combination thereof, may be combined with Figure 6 one or more elements of method 500 of Figure 6 method 600 of Figures 5 to 6 or any combination thereof or one or more elements of other operations described herein. Accordingly, no single implementation described herein should be construed as restrictive, and implementations of the present disclosure may be appropriately combined without departing from the teachings of the present disclosure. By way of example, one or more operations referenced in Figures 5 to 6 may be optional, may be performed at least partially concurrently, and / or may be performed in an order different from that shown or described.

[0102] The illustrations of the examples described herein are intended to provide a general understanding of the structure of the various implementations. These illustrations are not intended to serve as a complete description of all elements and features of the devices and systems that utilize the structures or methods described herein. After reading this disclosure, many other implementations may be apparent to those of ordinary skill in the art. Other implementations may be utilized and derived from this disclosure, such that structural and logical substitutions and changes may be made without departing from the scope of the present disclosure. For example, method operations may be performed in an order different from that shown in the figures, or one or more method operations may be omitted. Accordingly, the present disclosure and the figures are to be regarded as illustrative rather than restrictive.

[0103] In addition, although specific examples have been shown and described herein, it should be understood that any subsequent arrangement designed to achieve the same or similar results may replace the specific implementations shown. The present disclosure is intended to cover any and all subsequent adaptations or variations of the various implementations. After reading the specification, combinations of the above implementations and other implementations not specifically described herein will be apparent to those of ordinary skill in the art.

[0104] In addition, the present disclosure includes embodiments according to the following:

[0105] Item 1. A method of generating an aircraft fault prediction classifier (140), the method comprising:

[0106] Receiving input data including a plurality of feature vectors (130), the input data including sensor data (150) associated with one or more aircraft;

[0107] Mark each of a plurality of feature vectors (130) based on the proximity of the feature vector to the time of occurrence of a fault, wherein feature vectors within a threshold time proximity of the occurrence of the fault are marked with a first label value, and wherein feature vectors not within the threshold time proximity of the occurrence of the fault are marked with a second label value;

[0108] For each feature vector in a subset of the plurality of feature vectors (130), determine the probability that the label value associated with the feature vector is correct, wherein the subset includes feature vectors having a label indicating the first label value;

[0109] Reassign the labels of one or more feature vectors of the subset, the one or more feature vectors having a probability that does not meet a probability threshold; and

[0110] After reassigning the labels of the one or more feature vectors, use supervised training data including the plurality of feature vectors (130) and the labels associated with the plurality of feature vectors to train an aircraft fault prediction classifier (140), the aircraft fault prediction classifier (140) being configured to use second sensor data of the aircraft to predict the occurrence of a second fault of the aircraft.

[0111] Item 2. The method according to item 1, wherein one or more feature vectors are within a threshold time proximity of the occurrence of the fault.

[0112] Item 3. The method according to item 1 or 2, wherein the aircraft fault prediction classifier (140) includes a random forest classifier.

[0113] Item 4. The method according to any one of items 1 to 3, further comprising training a probability predictor (134) to determine the probability associated with each feature vector.

[0114] Item 5. The method according to any one of items 1 to 4, wherein the probability predictor (134) includes a random forest regression predictor.

[0115] Item 6. The method according to any one of items 1 to 5, further comprising prohibiting relabeling feature vectors having a label indicating the second label value or feature vectors of a subset having a probability that meets the probability threshold.

[0116] Item 7. The method according to any one of items 1 to 6, wherein the plurality of feature vectors (130) includes a sequence (202-214) of potential feature state values over a plurality of sampling time periods, and wherein one potential feature state value corresponds to one sampling time period.

[0117] Item 8. The method according to any one of Items 1 to 7, wherein the potential feature state value corresponds to a cluster in a j-dimensional feature space, and wherein j is the number of types of sensor variables in the sensor data (150).

[0118] Item 9. The method according to any one of Items 1 to 8, further comprising performing a clustering operation on the sensor data (150) to group the sensor data (150) into potential feature state values.

[0119] Item 10. The method according to any one of Items 1 to 8, wherein determining a first feature vector among the plurality of feature vectors (130) includes determining a first sequence (202) of potential feature state values within a first set of sampling time periods of a first time period, and wherein each element of the first feature vector includes the corresponding potential feature state value of the first sequence (202).

[0120] Item 11. The method according to any one of Items 1 to 10, further comprising performing an aircraft fault prediction classifier (140) during aircraft operation to generate a hint (162) indicating a predicted occurrence of a second fault and a specific repair associated with the predicted occurrence of the second fault.

[0121] Item 12. The method according to any one of Items 1 to 13, further comprising performing an aircraft fault prediction classifier (140) during aircraft operation to reformulate a repair plan (164) based on a specific repair associated with the predicted occurrence of a second fault.

[0122] Item 13. The method according to any one of Items 1 to 13, wherein receiving input data includes receiving sensor data (150) and generating a plurality of feature vectors (130), wherein the plurality of feature vectors (130) includes sequences (202-214) of potential feature state values, and wherein generating the plurality of feature vectors (130) reduces the size of the sensor data (150).

[0123] Item 14. A system (100), comprising:

[0124] A processor (112); and

[0125] A memory (114), coupled to the processor (112) and storing instructions executable by the processor (112) to perform operations, the operations including:

[0126] Receiving input data including a plurality of feature vectors (130), the input data including sensor data (150) associated with one or more aircraft;

[0127] Label each of a plurality of feature vectors (130) based on the proximity of the feature vector to the time of occurrence of a fault, where feature vectors within a threshold time proximity of the occurrence of the fault are labeled with a first label value, and where feature vectors not within the threshold time proximity of the occurrence of the fault are labeled with a second label value;

[0128] For each feature vector of a subset of the plurality of feature vectors (130), determine the probability that the label value associated with the feature vector is correct, where the subset includes feature vectors having a label indicating the first label value;

[0129] Reassign the labels of one or more feature vectors of the subset, where the one or more feature vectors have a probability that does not meet a probability threshold; and

[0130] After reassigning the labels of the one or more feature vectors, use supervised training data including the plurality of feature vectors (130) and the labels associated with the plurality of feature vectors (130) to train an aircraft fault prediction classifier (140), the aircraft fault prediction classifier (140) being configured to use second sensor data of the aircraft to predict the occurrence of a second fault of the aircraft.

[0131] Item 15. The system (100) according to item 14, wherein the plurality of feature vectors (130) includes a sequence (202-214) of potential feature state values over a plurality of sampling time periods, where each potential feature state value corresponds to a sampling time period, and where the potential feature state values correspond to clusters in a feature space.

[0132] Item 16. The system (100) according to item 14 or 15, further comprising the aircraft, wherein the processor (112) is configured to execute the aircraft fault prediction classifier (140).

[0133] Item 17. The system (100) according to any one of items 14 to 16, further comprising one or more sensors (102), the sensors being configured to monitor the aircraft to generate second sensor data.

[0134] Item 18. A computer-readable storage device storing instructions that, when executed by a processor (112), cause the processor (112) to perform operations including:

[0135] Receive input data including a plurality of feature vectors (130), the input data including sensor data (150) associated with one or more aircraft;

[0136] Label each of a plurality of feature vectors (130) based on a proximity to a time of occurrence of a fault, wherein feature vectors within a threshold proximity to the time of occurrence of the fault are labeled with a first label value and wherein feature vectors not within the threshold proximity to the time of occurrence of the fault are labeled with a second label value;

[0137] For each feature vector of a subset of the plurality of feature vectors (130), determine a probability that a label value associated with the feature vector is correct, wherein the subset includes feature vectors having a label indicating the first label value;

[0138] Reassign the labels of one or more feature vectors of the subset, the one or more feature vectors having a probability that does not meet a probability threshold; and

[0139] After reassigning the labels of the one or more feature vectors, train an aircraft fault prediction classifier (140) using supervised training data including the plurality of feature vectors (130) and the labels associated with the plurality of feature vectors (130), the aircraft fault prediction classifier (140) being configured to use second sensor data of an aircraft to predict the occurrence of a second fault of the aircraft.

[0140] Item 19. The computer-readable storage device according to item 18, wherein the plurality of feature vectors (130) are at least partially based on historical data, the historical data including at least some data having corresponding fault indications.

[0141] Item 20. The computer-readable storage device according to item 18 or 19, wherein the second sensor data includes real-time or near real-time sensor data (152) generated during operation of the aircraft.

[0142] When submitting the abstract of the present disclosure, it should be understood that it will not be used to interpret or limit the scope or meaning of the claims. Additionally, in the foregoing detailed description, for the purpose of simplifying the present disclosure, various features may be combined together or described in a single implementation. The above examples illustrate but do not limit the present disclosure. It should also be understood that many modifications and variations are possible in accordance with the principles of the present disclosure. As reflected in the appended claims, the claimed subject matter may relate to not all features of any of the disclosed examples. Accordingly, the scope of the present disclosure is defined by the appended claims and their equivalents.

Claims

1. A method for generating an aircraft fault prediction classifier (140), the method comprising: receiving input data including a plurality of feature vectors (130), the input data including sensor data (150) associated with one or more aircraft; marking each of the plurality of feature vectors (130) based on the proximity of the feature vector to the time of fault occurrence, wherein feature vectors within a threshold time proximity of the fault occurrence are marked with a first label value, and wherein feature vectors not within the threshold time proximity of the fault occurrence are marked with a second label value; for each feature vector of a subset of the plurality of feature vectors (130), determining the probability that the label value associated with the feature vector is correct, wherein the subset includes feature vectors having a label indicating the first label value; reassigning the labels of one or more feature vectors of the subset, the one or more feature vectors having a probability that does not meet a probability threshold; and after reassigning the labels of the one or more feature vectors, training an aircraft fault prediction classifier (140) using supervised training data including the plurality of feature vectors (130) and the labels associated with the plurality of feature vectors, the aircraft fault prediction classifier (140) being configured to use second sensor data of the aircraft to predict the occurrence of a second fault of the aircraft, wherein the aircraft fault prediction classifier includes a random forest classifier; training a probability predictor, the probability predictor including a random forest regression predictor; and generating, by the probability predictor, a confidence for each vector in the subset of the plurality of feature vectors based on an average of outputs from a plurality of regression decision trees, the confidence being associated with the probability that the label associated with the feature vector is correct.

2. The method according to claim 1, wherein, the one or more feature vectors are within the threshold time proximity of the fault occurrence.

3. The method according to claim 1 or 2, further comprising prohibiting relabeling feature vectors having a label indicating the second label value or feature vectors of the subset having a probability that meets the probability threshold.

4. The method according to claim 1 or 2, wherein, the plurality of feature vectors (130) includes a sequence (202-214) of potential feature state values over a plurality of sampling time periods, and wherein one of the potential feature state values corresponds to one of the sampling time periods.

5. The method according to claim 4, wherein, the potential feature state value corresponds to a cluster in a j-dimensional feature space, and wherein j is the number of types of sensor variables in the sensor data (150).

6. The method according to claim 5, further comprising performing a clustering operation on the sensor data (150) to group the sensor data (150) into the potential feature state values.

7. The method according to claim 4, wherein, Determining that a first eigenvector among the plurality of eigenvectors (130) includes a first sequence (202) of the potential feature state values determined during a first set of sampling time periods within a first time period, and wherein each element of the first eigenvector includes a corresponding potential feature state value of the first sequence (202).

8. The method according to claim 1 or 2, further comprising executing the aircraft fault prediction classifier (140) during aircraft operation to generate a prompt (162) indicating a predicted occurrence of the second fault and a specific repair associated with the predicted occurrence of the second fault.

9. The method according to claim 1 or 2, further comprising executing the aircraft fault prediction classifier (140) during aircraft operation to re-formulate a repair plan (164) based on a specific repair associated with the predicted occurrence of the second fault.

10. The method according to claim 1 or 2, wherein, receiving the input data includes receiving the sensor data (150) and generating the plurality of eigenvectors (130), wherein the plurality of eigenvectors (130) includes sequences (202 - 214) of potential feature state values, and wherein generating the plurality of eigenvectors (130) reduces the size of the sensor data (150).

11. A system (100) for generating an aircraft fault prediction classifier (140), comprising: a processor (112); and a memory (114), coupled to the processor (112) and storing instructions executable by the processor (112) to perform operations, the operations including: receiving input data including a plurality of eigenvectors (130), the input data including sensor data (150) associated with one or more aircraft; marking each eigenvector among the plurality of eigenvectors (130) based on a temporal proximity of the eigenvector to a fault occurrence, wherein eigenvectors within a threshold temporal proximity to a fault occurrence are marked with a first label value, and wherein eigenvectors not within the threshold temporal proximity to the fault occurrence are marked with a second label value; for each eigenvector of a subset of the plurality of eigenvectors (130), determining a probability that the label value associated with the eigenvector is correct, wherein the subset includes eigenvectors having a label indicating the first label value; re-assigning labels of one or more eigenvectors of the subset, the one or more eigenvectors having a probability that does not meet a probability threshold; and after re-assigning labels of the one or more eigenvectors, training an aircraft fault prediction classifier (140) using supervised training data including the plurality of eigenvectors (130) and labels associated with the plurality of eigenvectors (130), the aircraft fault prediction classifier (140) being configured to use second sensor data of the aircraft to predict an occurrence of a second fault of the aircraft, wherein the aircraft fault prediction classifier includes a random forest classifier; training a probability predictor, the probability predictor including a random forest regression predictor; and The probability predictor generates a confidence for each vector in the subset of the plurality of feature vectors based on an average of outputs from a plurality of regression decision trees, the confidence being associated with the probability that the label associated with the feature vector is correct.

12. The system (100) according to claim 11, wherein, the plurality of feature vectors (130) includes sequences (202-214) of potential feature state values over a plurality of sampling time periods, wherein each of the potential feature state values corresponds to one of the sampling time periods, and wherein the potential feature state values correspond to clusters in a feature space.

13. The system (100) according to claim 11 or 12, further comprising the aircraft, wherein, the processor (112) is configured to execute the aircraft fault prediction classifier (140).

14. The system (100) according to claim 13, further comprising one or more sensors (102) configured to monitor the aircraft to generate the second sensor data.

15. A computer-readable storage device storing instructions that, when executed by a processor (112), cause the processor (112) to perform operations that include: receiving input data including a plurality of feature vectors (130), the input data including sensor data (150) associated with one or more aircraft; labeling each feature vector in the plurality of feature vectors (130) based on the proximity of the feature vector to the time of occurrence of a fault, wherein feature vectors within a threshold time proximity of the occurrence of a fault are labeled with a first label value, and wherein feature vectors not within the threshold time proximity of the occurrence of the fault are labeled with a second label value; for each feature vector in a subset of the plurality of feature vectors (130), determining the probability that the label value associated with the feature vector is correct, wherein the subset includes feature vectors having a label indicating the first label value; reassigning the labels of one or more feature vectors in the subset that have a probability that does not meet a probability threshold; and after reassigning the labels of the one or more feature vectors, training an aircraft fault prediction classifier (140) using supervised training data including the plurality of feature vectors (130) and the labels associated with the plurality of feature vectors (130), the aircraft fault prediction classifier (140) being configured to predict the occurrence of a second fault of the aircraft using second sensor data of the aircraft, wherein the aircraft fault prediction classifier includes a random forest classifier; training a probability predictor, the probability predictor including a random forest regression predictor; and generating, by the probability predictor, a confidence for each vector in the subset of the plurality of feature vectors based on an average of outputs from a plurality of regression decision trees, the confidence being associated with the probability that the label associated with the feature vector is correct.

16. The computer-readable storage device according to claim 15, wherein, The plurality of feature vectors (130) are at least partially based on historical data, the historical data including at least some data having corresponding fault indications.

17. The computer-readable storage device according to claim 15 or 16, wherein, the second sensor data includes real-time or near real-time sensor data (152) generated during operation of the aircraft.

Citation Information

Patent Citations

  • Method, Apparatus And Computer Program Product For Predicting And Avoiding A Fault

    US20090228160A1

  • System and methods for automated plant asset failure detection

    US20140351642A1