Health Management Using Distances for Segmented Time Series

A method, apparatus, and system for evaluating health of a component of a vehicle. Time series data generated during operation of the vehicle is received by a computer system. The computer system transforms the time series data into a plurality of segments based on a selected state for the vehicle that is of interest. The computer system builds a prognostic distance matrix based on pairings formed using the plurality of segments. The prognostic distance matrix comprises distances that measure deviation of the component from nominal performance for the selected state. The computer system generates a digital prognosis for the component of the vehicle based on the prognostic distance matrix. The digital prognosis predicts whether a maintenance operation should be performed with respect to the component. The distances may be used to diagnose what maintenance operation should be performed.

BACKGROUND INFORMATION

The present disclosure relates generally to managing the health of a complex system, such as an aircraft. More particularly, the present disclosure relates to a method and apparatus for evaluating the health of a component of a complex system using distances computed based on segmented time series.

Managing the health of a complex system may include managing the health of various components that make up that complex system. This type of health management may include, for example, evaluating the performance of a component in the complex system. Evaluating the performance of a component may include, but is not limited to, acquiring data related to the performance of the component, transforming the data, analyzing the data, forming a diagnosis based on the data, making predictions based on the data, other suitable actions, or some combination thereof.

Machine learning algorithms are increasingly being used to assess the health of complex systems. Machine learning algorithms can learn from and make predictions on data based on supervised learning, unsupervised learning, reinforcement learning, other types of learning, or a combination thereof. Typically, machine learning algorithms require that input data be received in a matrix form.

An aircraft is an example of a complex system. Data captured on an aircraft over time may be high volume time series data that includes data generated over different lengths of time, different sampling frequencies, or both. Using this type of data with machine learning algorithms, data mining algorithms, and other types of algorithms may be more challenging and time-consuming than desired. For example, putting this type of data into a matrix form for input into a machine learning algorithm may be more difficult than desired without loss of information. In particular, this type of data may pose challenges when using machine learning algorithms for prognostic applications, such as predicting health-related events.

For example, the data generated over multiple flights of an aircraft may vary in length based on the different durations of the flights. In some cases, the data may be at different sampling frequencies. Further, the data generated on an aircraft may include many different time series.

Some currently available methods for evaluating systems using time series are more cumbersome and time-consuming than desired, or are difficult to interpret. For example, subject matter experts can help identify features in each time series to reduce the volume of data that is analyzed. However, in some cases, subject matter experts may not be readily available. Thus, the analysis process may be more time-consuming than desired. Further, the features identified by different subject matter experts may vary by expert. Therefore, it would be desirable to have a method and apparatus that take into account at least some of the issues discussed above, as well as other possible issues.

SUMMARY

In one illustrative embodiment, a method for evaluating a component of a vehicle is provided. Time series data generated during operation of the vehicle is received by a computer system. The computer system transforms the time series data into a plurality of segments based on a selected state for the vehicle that is of interest. The computer system builds a prognostic distance matrix based on pairings formed using the plurality of segments. The prognostic distance matrix comprises distances that measure deviation of the component from nominal performance for the selected state. The computer system generates a digital prognosis for the component of the vehicle based on the prognostic distance matrix. The digital prognosis predicts whether a maintenance operation should be performed with respect to the component.

In another illustrative embodiment, an apparatus comprises a segment generator module, a distance generator module, and a health manager module, which are all implemented in a computer system. The segment generator module receives time series data generated during operation of a vehicle and transforms the time series data into a plurality of segments based on a selected state for the vehicle that is of interest. The distance generator module builds a prognostic distance matrix based on pairings formed using the plurality of segments. The prognostic distance matrix comprises distances that measure deviation of a component from nominal performance for the selected state. A health manager module generates a digital prognosis for the component of the vehicle based on the prognostic distance matrix. The digital prognosis predicts whether a maintenance operation should be performed with respect to the component. The distances may be used to diagnose what maintenance operation should be performed.

In yet another illustrative embodiment, a health management system comprises a segment generator module, a distance generator module, and a health manager module, which are all implemented in a computer system. The segment generator module receives time series data generated during operation of an aircraft and transforms the time series data into a plurality of segments based on a selected state for the aircraft that is of interest. The distance generator module builds a prognostic distance matrix based on pairings formed using the plurality of segments. The prognostic distance matrix comprises distances that measure deviation of the component from nominal performance for the selected state. A health manager module generates a digital prognosis for the component of the aircraft based on the prognostic distance matrix. The digital prognosis predicts whether a maintenance operation should be performed with respect to the component. The distances may be used to diagnose what maintenance operation should be performed.

DETAILED DESCRIPTION

The illustrative embodiments recognize and take into account different considerations. For example, the illustrative embodiments recognize and take into account that it may be desirable to have a computer-based system that is capable of evaluating the health of a component in a complex system using time series data. In particular, the illustrative embodiments recognize and take into account that it may be desirable to have a method and apparatus for evaluating multiple time series collected during the operation of a complex system, such as an aircraft, to identify prognostic indicators with respect to the health of one or more components in the complex system. A component of a complex system may be a part, a subsystem, an assembly, a sub-assembly, or some other portion of the complex system.

As one illustrative example, an aircraft collects sensor data in the form of time series during flight. In some cases, data measurements may be collected about once per second during flight. This sensor data may be used to assess the health of a subsystem of the aircraft but may be high volume and difficult to process directly. The illustrative embodiments provide a method and apparatus for transforming the time series into distance data. This distance data may include distances that represent deviation from nominal performance. A matrix of these distances may be used as input for prognostic algorithms, such as machine learning algorithms, that predict system health. Further, these distances may aid visualization of the time series, such as indicating which time series are most informative.

Thus, the illustrative embodiments provide a method and apparatus for evaluating a component of a complex system, such as a vehicle, using time series. In one illustrative embodiment, a method for evaluating a component of a vehicle is provided. Time series data generated during operation of the vehicle is received by a computer system. The computer system transforms the time series data into a plurality of segments based on a selected state for the vehicle that is of interest. The computer system builds a prognostic distance matrix based on pairings formed using the plurality of segments. The prognostic distance matrix comprises distances that measure deviation of the component from the nominal performance for the selected state. The computer system generates a digital prognosis for the component of the vehicle based on the prognostic distance matrix. The digital prognosis predicts whether a maintenance operation should be performed with respect to the component.

The prognostic distance matrix comprises distances that measure deviation of the component from nominal performance for the selected state, and are therefore interpretable by subject matter experts. In training one or more machine learning algorithms, the distances may be related graphically to both the original time series and events of interest to help understand the problem and guide a solution. The one or more machine learning algorithms may then be deployed for prognostic and diagnostic purposes.

In one illustrative example, the prognostic distance matrix is input into a set of machine learning algorithms that generate prognostic indicators with respect to the health of a component. Generating prognostic indicators using distances that are computed based on segmented time series may be less time-consuming, less difficult, and more efficient than generating these prognostic indicators using a matrix created directly from the original time series. Additionally, the prognostic distance matrix reduces the overall volume of data that is used in evaluating the health of a component, while still allowing the generation of a digital prognosis that has a desired level of accuracy.

Predictions may be made based on these prognostic indicators and maintenance operations may be scheduled to help prevent undesired events, such as unhealthy states, inconsistencies, sub-optimal performance, unplanned part removals, unscheduled use interruptions, and other types of undesired events. Further, maintenance operations that will avoid operational inefficiencies may be performed based on the prognostic indicators. For example, operational inefficiencies such as excess fuel burn may be avoided.

Referring now to the figures and, in particular, with reference toFIG. 1, an illustration of an aircraft is depicted in accordance with an illustrative embodiment. In this illustrative example, aircraft100has wing102and wing104attached to body106. Further, aircraft100includes engine108attached to wing102and engine110attached to wing104. Body106has tail section112. Horizontal stabilizer114, horizontal stabilizer116, and vertical stabilizer118are attached to tail section112of body106.

During flight, sensor data may be collected by, for example, without limitation, flight recorder120. The sensor data collected by flight recorder120may be retrieved and stored in server system122. Over time, the sensor data collected during each flight of aircraft100and stored in server system122may accumulate. As one illustrative example, during about one year of flights of aircraft100, about 50 terabytes of sensor data124may be collected. In some illustrative examples, about 2 gigabytes to about 1000 gigabytes of sensor data124may be collected per flight.

The sensor data collected during the flight of aircraft100may include measurements for performance parameters that are generated multiple times during flight. In one illustrative example, aircraft100may collect measurements for about 1000 to about 2500 performance parameters per second.

Thus, the sensor data collected from flight recorder120over time may include multiple time series. A time series may be a time-ordered sequence of data points that typically include successive measurements made over a time interval. In many cases, the multiple time series may be irregular in that the time series have unequal sampling rates and are collected over varying flight durations. Consequently, accounting for these differences prior to processing of the data may reduce the overall time of processing.

The illustrative embodiments provide a health management system that is capable of processing and transforming one or more time series for aircraft100into segments. Each of these segments may correspond to a different selected state of interest for aircraft100. Distances are then computed based on these segments. These distances may be used to create a prognostic distance matrix. The prognostic distance matrix may be input into a set of machine learning algorithms. This set of machine learning algorithms may evaluate the health of aircraft100or one or more components of aircraft100using the prognostic distance matrix to generate a digital prognosis about the health of aircraft100.

This digital prognosis may predict whether or not a maintenance operation should be performed for aircraft100. In some cases, the digital prognosis may indicate a time frame within which the maintenance operation should be performed. The maintenance operation may comprise at least one of inspection, preventative maintenance, corrective maintenance, adaptive maintenance, in-use maintenance, repair, rework replacement, or overhaul.

The prognostic distance matrix may also be used to create a visual report that may be displayed in a graphical user interface on a display system. A subject matter expert may use this visual report to diagnose why maintenance operations should be performed for aircraft100. An example of one implementation for a health management system that may be used to evaluate the health of aircraft100is described in greater detail below inFIG. 2.

With reference now toFIG. 2, an illustration of a health management system is depicted in the form of a block diagram in accordance with an illustrative embodiment. Health management system200may be used to manage the health of system201.

System201may be a complex system such as, but not limited to, vehicle205. As one illustrative example, vehicle205takes the form of aircraft202. In other illustrative examples, system201may take the form of a space vehicle, a water vehicle, a ground vehicle, a computer station, a manufacturing facility, a robotic system, or some other type of system.

The health of system201may include a status of the entirety of system201, the various components that make up system201, or a combination thereof. As used herein, a component of a complex system, such as system201, may be a subsystem, an assembly, a subassembly, an individual part, a sensor, a sensor system, a computer system, an electronic system, an electromechanical system, a communications system, some other type of element that makes up the complex system, or a combination thereof.

In one illustrative example, health management system200may be implemented using computer system203. Computer system203may comprise a single computer or multiple computers that are in communication with each other. Below, the implementation of health management system200is described with respect to system201in the form of aircraft202. However, a similar implementation may be used for system201in the form of a different type of vehicle or other type of complex system.

In one illustrative example, health management system200includes segment generator204, distance generator206, and health manager208. In this illustrative example, segment generator204, distance generator206, and health manager208may take the form of modules that are implemented in computer system203. For example, segment generator204, distance generator206, and health manager208may take the form of a segment generator module, a distance generator module, and a health manager module, respectively.

A module, as used herein, may be implemented in software, hardware, firmware, or a combination thereof. When software is used, the operations performed by the module may be implemented using, for example, without limitation, program code configured to run on a processor unit. When firmware is used, the operations performed by the module may be implemented using, for example, without limitation, program code and data and stored in persistent memory to run on a processor unit.

When hardware is employed, the hardware may include one or more circuits that operate to perform the operations performed by the module. Depending on the implementation, the hardware may take the form of a circuit system, an integrated circuit, an application specific integrated circuit (ASIC), a programmable logic device, or some other suitable type of hardware device configured to perform any number of operations.

A programmable logic device may be configured to perform certain operations. The device may be permanently configured to perform these operations or may be reconfigurable. A programmable logic device may take the form of, for example, without limitation, a programmable logic array, a programmable array logic, a field programmable logic array, a field programmable gate array, or some other type of programmable hardware device.

In some illustrative examples, the operations and/or processes performed by the module may be performed using organic components integrated with inorganic components. In some cases, the operations and/or processes may be performed by entirely organic components, excluding a human being. As one illustrative example, circuits in organic semiconductors may be used to perform these operations and/or processes.

As depicted, segment generator204receives time series data210that may be used to manage health211of aircraft202. Time series data210may be generated during operation of aircraft202. Depending on the implementation, health management system200may be used to manage health211of a single component of system201, multiple components of aircraft202, or the entirety of aircraft202.

Time series data210may include set of time series212. As used herein, a “set of” items may include one or more items. In this manner, set of time series212may include one time series or multiple time series. A time series may be a time-ordered sequence of data points that typically include successive measurements made over a time interval. Time series data210may include measurements of at least one performance parameter related to health211of aircraft202.

Time series data210may be formed from any number of different sources of data. In one illustrative example, time series data210may include sensor data generated on board aircraft202during a most recent flight of aircraft202, past sensor data generated over some number of previous flights, or both.

In one illustrative example, time series data210is used to manage health211of component214in aircraft202. Managing health211of component214in aircraft202may include different types of actions or operations. For example, without limitation, managing health211of component214may include at least one of acquiring time series data210, transforming time series data210, analyzing time series data210, forming a diagnosis based on time series data210, making predictions about health211of component214based on time series data210, or some other type of action.

As used herein, the phrase “at least one of,” when used with a list of items, means different combinations of one or more of the listed items may be used and only one of the items in the list may be needed. The item may be a particular object, thing, step, operation, process, or category. In other words, “at least one of” means any combination of items or number of items may be used from the list, but not all of the items in the list may be required.

For example, without limitation, “at least one of item A, item B, or item C” or “at least one of item A, item B, and item C” may mean item A; item A and item B; item B; item A, item B, and item C; item B and item C; or item A and C. In some cases, “at least one of item A, item B, or item C” or “at least one of item A, item B, and item C” may mean, but is not limited to, two of item A, one of item B, and ten of item C; four of item B and seven of item C; or some other suitable combination.

Segment generator204may transform time series data210into plurality of segments216for use in evaluating health211of component214. In particular, time series data210may be transformed into plurality of segments216based on at least one selected state220for aircraft202that is of interest.

Selected state220may be a state of operation for aircraft202. In some cases, selected state220may be referred to as an operational regime for aircraft202. For example, without limitation, selected state220may be an entire flight of aircraft202, a particular phase of flight of aircraft202, a selected portion of a flight of aircraft202, a selected time period during a flight of aircraft202, a selected time period after a number of commands are sent from an aircraft control system to component214, or some other state of operation.

As used herein, a “number of” items may include one or more items. In this manner, a number of commands may include one or more commands.

Selected state220may be of interest because evaluating segments that correspond to a same selected state220will ensure that these segments are comparable and useful in distinguishing when component214is performing nominally and when component214is not performing nominally. In particular, selected state220may be selected such that a comparison of two segments that correspond to selected state220may be used to distinguish when component214is performing nominally and when component214is not performing nominally. In these illustrative examples, nominal performance215for component214may be at least one of expected performance, performance that is within selected tolerances, performance that provides desired fuel efficiencies, performance that provides desired performance of the entirety of aircraft202, healthy behavior, normal behavior, or some other type of standard behavior.

A segment, such as segment218in plurality of segments216, that corresponds to selected state220may be a portion of data that was generated or acquired during selected state220. For example, selected state220may be a cruise phase of flight and a corresponding segment may be a portion of time series data210that was generated or acquired during that cruise phase of flight.

In some cases, selected state220may occur once per flight of aircraft202. In other cases, selected state220may occur multiple times per flight of aircraft202. In still other illustrative examples, a segment, such as segment218, may be the combination of any and all portions of data that correspond to the same selected state220for a particular flight.

In some illustrative examples, selected state220may be specific to component214. For example, without limitation, when component214takes the form of a brake system of aircraft202, selected state220may be the portion of a flight of aircraft202just after landing.

Plurality of segments216may be sent to distance generator206for processing. Distance generator206transforms plurality of segments216into prognostic distance matrix221. Prognostic distance matrix221may be a matrix that comprises distances computed based on pairings.

For example, without limitation, distance222may be computed for pairing224. Pairing224may take a number of different forms. In these illustrative examples, pairing224may be a pairing of a first portion of data with a second portion of data from which distance222may be computed. Distance222may measure a deviation from nominal performance by measuring differences between the first portion of data and the second portion of data.

A first type of pairing224may take the form of segment-segment pairing225. Segment-segment pairing225may be a pairing between two segments of plurality of segments216, both of which correspond to the same selected state220. Segment-segment pairing225is selected such that distance222computed based on segment-segment pairing225may help distinguish between nominal performance and non-nominal performance.

For example, segment-segment pairing225may be between segment218and complementary segment226. Segment218may comprise data generated by a first sensor during selected state220for a particular flight. Complementary segment226may comprise data generated by a second sensor during selected state220for the particular flight. It may be known that comparing the first sensor to the second sensor during selected state220of the particular flight may enable distinguishing between nominal performance and non-nominal performance. Distance222may be computed by comparing segment218to complementary segment226.

A second type of pairing224may take the form of segment-nominal pairing227between a segment, such as segment218, and nominal segment228. In this example, nominal segment228represents nominal performance. Nominal segment228may comprise data previously generated, historical data, or expected data that corresponds to selected state220. For example, a database of expected sensor values may be used to identify expected values for selected state220. These expected values may be normalized or otherwise transformed to form nominal segment228. Distance222may be computed by comparing segment218to nominal segment228.

In some cases, nominal segment228may be formed by estimating values for selected state220. For example, historical data may be used to estimate values to form nominal segment228.

A third type of pairing224may be shapelet-segment pairing231, which may be between shapelet229and a segment, such as segment218. When it is known that a segment that represents non-nominal performance varies only in localized sections from a segment that represents nominal performance, shapelet229may be used to compute distance222for that segment.

Shapelet229may be a subsequence that may be present in non-nominal performance or nominal performance but not both. Consequently, shapelet229may be used to distinguish when segment218indicates nominal performance and when segment218indicates non-nominal performance.

Shapelet229may be identified for use in analyzing segment218in a number of different ways. In one illustrative example, shapelet229may be a local section within segment218that is identified as being representative of non-nominal performance or nominal performance. In another illustrative example, shapelet229may be identified through training based on previously collected data. For example, without limitations, prior segments that have been identified as representing performance that is not nominal may be searched to find a localized section that is in segments of non-nominal performance, but not in segments of nominal performance. In other illustrative examples, multiple localized sections from various segments or from within a single segment may be processed and used as a set of shapelets.

Distance222may be computed between each pairing of shapelet229and one of a plurality of sections of segment218. Each section in this plurality of sections may be different. But, depending on the implementation, at least a portion of the plurality of sections may overlap. The smallest distance that is computed may represent a best match between shapelet229and a corresponding section of segment218. This smallest distance may be selected as distance222for shapelet-segment pairing231.

Distance generator206may compute the distances that form prognostic distance matrix221in a number of different ways. Any number of algorithms, statistical formulas, equations, models, or combination thereof may be used to compute the distances that form prognostic distance matrix221. For example, these distances may be computed using different types of distance measures, which include, but are not limited to, lock-step distance measures, elastic distance measures, shape-based distance measures, threshold distance measures, and other distance measures.

For example, lock-step distance measures may include Euclidean distance and complexity invariant Euclidian distance. Elastic distance measures may include edit distance on real sequences (EDR), edit distance with real penalty (EPR), longest common subsequences (LOSS), and dynamic time warping (DTW). Shape-based distance measures may include derivative dynamic time warping and feature-based dynamic time warping. The Short Time Series approach and the Dissimilarity approach both take into account different sampling rates.

In one illustrative example, prognostic distance matrix221may comprise distances computed for segment-segment pairings for each distance type of a number of different distance types. These distances may be computed for each selected state of a number of selected states to form prognostic distance matrix221.

In another illustrative example, prognostic distance matrix221may comprise distances computed for segment-nominal pairings for a number of different parameters for each selected state in a number of selected states. In yet another illustrative example, prognostic distance matrix221may include distances for shapelet-segment pairings for a number of different types of shapelets for each selected state of a number of different selected states. Further, these distances may be computed for each parameter of a number of different parameters.

Prognostic distance matrix221may be output from distance generator206and sent into health manager208as input for further analysis. By transforming plurality of segments216into prognostic distance matrix221, the volume of data input into health manager208is reduced.

Health manager208uses prognostic distance matrix221as an input for set of machine learning algorithms230. Set of machine learning algorithms230may include at least one algorithm that can learn from and make predictions on data based on at least one of supervised learning, unsupervised learning, reinforcement learning, anomaly detection, or some other type of learning.

Set of machine learning algorithms230may generate number of prognostic indicators232for component214. Each prognostic indicator in number of prognostic indicators232is a prediction of a likely outcome or future status for component214with respect to the performance or health of component214. For example, without limitation, a prognostic indicator in number of prognostic indicators232may signpost that an undesired event related to the performance or health of component214may occur within a specified period of time. The undesired event may be a component failure, a component fault, an operational inefficiency, or some other type of undesired event.

As one specific illustrative example, a prognostic indicator may signpost that component214may need to be replaced in about 15 days in order to maintain a desired level of performance for component214and a desired level of fuel efficiency for aircraft202. As another illustrative example, a prognostic indicator may indicate that component214will need to be serviced in about 2 months in order to maintain a desired level of performance for component214and a desired level of performance for aircraft202.

Health manager208may generate an output in the form of digital prognosis235based on number of prognostic indicators232. Digital prognosis235may be presented to a user in a number of different ways. For example, without limitation, a visual representation of digital prognosis235is displayed in graphical user interface236on display system238for a user. Display system238may comprise any number of display devices that are in communication with each other, in communication with computer system203, or both. In this illustrative example, display system238may be considered separate from computer system203. However, in other illustrative examples, display system238may be considered part of computer system203.

In some illustrative examples, health manager208may generate an output in the form of diagnosis output240, which may be based directly on the distances in prognostic distance matrix221. Diagnosis output240may be used by, for example, without limitation, a subject matter expert, to diagnose any issues that have been indicated by digital prognosis235.

As time series data210is collected and processed over time, new segments may be selected and added to collection of segments241. Distance generator206may add each distance computed to distance data242for collection of segments241.

In some cases, health manager208may use distance data242to form input for set of machine learning algorithms230. Health manager208may then generate digital prognosis235that is at least one of based directly on distance data242, based indirectly on distance data242, based on the various prognostic indicators generated by set of machine learning algorithms230, or based on some other type of algorithm.

Prior to set of machine learning algorithms230being used, set of machine learning algorithms230may be trained. Training may include using big data algorithms based on, for example, without limitation, Hadoop® provided by Apache™, MapReduce, Spark, some other type of computing software, or a combination thereof. Batches of historical data may be processed in a manner similar to that described above. When deployed, streaming algorithms may be used as aircraft202completes flight. Time series data210may be acquired, segments created, distances computed, and a digital prognosis generated in real time.

As part of training, health manager208identifies set of events244related to component214. Set of events244may be a set of events that are of interest with respect to health211of component214. An event in set of events244may include, for example, without limitation, at least one of a maintenance event, a scheduled interruption, an inspection, a system repair, a part replacement, an upgrade, or some other type of event related to health211of system201. Set of events244may be used as markers to help choose the input distances and understand the output from set of machine learning algorithms230as set of machine learning algorithms230is being trained.

In one illustrative example, health manager208identifies set of events244based on user input. In another illustrative example, health manager208receives an identification of set of events244from the output of one or more algorithms. For example, without limitation, a number of algorithms may be used to analyze at least one of service reports, repair reports, maintenance records, interruption records, or other types of information to identify set of events244. In one illustrative example, identifying set of events244includes identifying the time at which each event in set of events244occurred.

With reference now toFIG. 3, an illustration of a set of time series is depicted in accordance with an illustrative embodiment. In this illustrative example, set of time series300is displayed with respect to time axis302. Set of time series300may be an example of one implementation for set of time series212inFIG. 2.

As depicted, set of time series300includes speed times series304, flap handle time series306, and flap position time series308. Speed time series304may include measurements of the speed of an aircraft, such as aircraft100inFIG. 1, during the flight of the aircraft. Flap handle time series306may include measurements of the position of the control handle that controls flap position during the flight of the aircraft. Further, flap position time series308may include measurements of flap position during the flight of the aircraft.

Although each time series in set of times series300comprises successive measurements taken over time, these measurements are not all taken at the same points in time. Further, the sampling frequencies for each time series may differ. Processing set of time series300generated over multiple flights by segmenting set of time series300and computing distances in the manner described inFIG. 2above may produce effective features for later prognostic activities and better represent information in the data to match analysis goals.

Creating segments based on set of time series300and computing distances based on these segments may help reduce overall processing time, make processing easier, and keep processing consistent. In particular, inputting a prognostic distance matrix into machine learning algorithms as compared to a matrix created directly based on the set of time series300may reduce the volume of data that needs to be input into the machine learning algorithms to generate prognostic indicators for a component, such as component214.

With reference now toFIG. 4, an illustration of a graph of pairings is depicted in accordance with an illustrative embodiment. In this illustrative example, graph400illustrates pairings with respect to time axis402.

As depicted, graph400illustrates first plurality of pairings404, second plurality of pairings406, third plurality of pairings408, and fourth plurality of pairings410. Each of first plurality of pairings404, second plurality of pairings406, third plurality of pairings408, and fourth plurality of pairings410includes a plurality of segment-segment pairings, similar to segment-segment pairing225inFIG. 2.

In one illustrative example, each segment-segment pairing in graph400represents a pairing of brake systems. For example, each segment-segment pairing in second plurality of pairings406may include a first segment that represents temperature for a first rear brake system and a second segment that represents temperature for a second rear brake system, respectively, of an aircraft. These two segments correspond to the same selected state of interest, which may be a period of time just after landing in this illustrative example.

The temperature of a brake system after landing may be a performance parameter that is known to be indicative of the health of the brake system. Although temperature measurements may be collected throughout the duration of each flight of an aircraft, in some cases, only the period of time just after landing may be of interest in evaluating the health of a brake system.

With reference now toFIGS. 5A and 5B, illustrations of a segment-segment pairing that is healthy and a segment-segment pairing that is not healthy are depicted in accordance with an illustrative embodiment. In this illustrative example, segment-segment pairing500and segment-segment pairing502are shown. Segment-segment pairing500and segment-segment pairing502may each be an example of one implementation for segment-segment pairing225inFIG. 2.

The segments shown in segment-segment pairing500and segment-segment pairing502may have been formed by a segment generator, such as segment generator204inFIG. 2. Segment-segment pairing500includes first segment504and second segment506, which may be portions of data from a first time series and a second time series, respectively. Segment-segment pairing502includes first segment508and second segment510, which may be portions of data from a first time series and a second time series, respectively. In one illustrative example, segment-segment pairing500and segment-segment pairing502are selected from second plurality of pairings406inFIG. 4.

In this illustrative example, the first time series may include temperature measurements for a first brake system and the second time series may include temperature measurements for a second brake system. The first time series and the second time series may be considered complementary time series.

As depicted, the data in segment-segment pairing502was generated at a later time than the data in segment-segment pairing500. Segment-segment pairing500is depicted with respect to time axis512and sensor value axis514. In this illustrative example, first segment504and second segment506of segment-segment pairing500correspond to a first flight of an aircraft. In particular, first segment504and second segment506were generated during the same period of time during this flight just after landing. As depicted, first segment504and second segment506follow each other closely.

Segment-segment pairing502is depicted with respect to time axis516and sensor value axis518. In this illustrative example, first segment508and second segment510of segment-segment pairing502correspond to a second flight of the aircraft. In particular, first segment508and second segment510were generated during the same period of time during this flight just after landing.

Thus, the segments in both segment-segment pairing500and segment-segment pairing502correspond to the same selected state of interest, which is the period of time just after landing. In other words, both segment-segment pairing500and segment-segment pairing502are comparable in that both include segments that comprise data collected at a common operational regime: after landing.

A distance generator, such as distance generator206inFIG. 2, may compute distances between the segments in segment-segment pairing500and the segments in segment-segment pairing502. The distance computed for a segment-segment pairing measures a deviation from nominal performance. In this illustrative example, nominal performance may be that the temperatures of both brake systems have similar values when both brake systems are performing nominally. This is because two brake systems have been chosen that should operate similarly when performing nominally. Equivalently, the distance computed between segment-segment pairings should be relatively small when both brake systems are performing nominally.

The distance computed for the segments within segment-segment pairing500would indicate a lesser deviation from nominal performance. The distance computed for the segments within segment-segment pairing502would indicate a greater deviation from nominal performance.

Different types of distances may be computed for segment-segment pairing500and segment-segment pairing502. For example, distances could include distances currently available in the field of time series data mining. In some illustrative examples, distances could be custom-designed. For example, without limitation, a custom algorithm or formula may be created to compute a certain type of distance.

With reference now toFIG. 6, an illustration of a plot of distances over time is depicted in accordance with an illustrative embodiment. In this illustrative example, plot600of distances601for various pairings is shown with respect to flight number axis602.

For example, for sensor pair604, first distances614represent the distances computed between segments for a first sensor in sensor pair604and nominal segments. Second distances616represent the distances computed between segments for a second sensor in sensor pair604and nominal segments.

In this illustrative example, portion618of first distances614diverge from second distances616, thereby indicating a problem with the first sensor. This problem increases before line620, which marks a maintenance event. The maintenance event was the replacement of the first sensor. Portion622of first distances614represents the flights after the maintenance event and shows that the replacement sensor began operating nominally after the maintenance event.

In these illustrative examples, the maintenance event represented by line620may have been performed in response to an output from a health management system, such as health management system200inFIG. 2. The output included a prognosis for the sensor, which indicated that the sensor was not operating nominally and that the sensor should be replaced within a specified period of time to prevent the sensor from failing during operation of the aircraft. At the time of the prognosis, plot600may have been used to diagnose which sensor of sensor pair604was having a problem.

With reference now toFIG. 7, an illustration of a shapelet and a segment is depicted in accordance with an illustrative embodiment. In this illustrative example, segment700may be an example of one implementation for segment218inFIG. 2. Shapelet702may be a section that represents local, non-nominal performance. Shapelet702may also be referred to as a subsequence.

Shapelet702may be used to compute a distance for a shapelet-segment pairing involving segment700by sliding shapelet702down along segment700in the direction of arrow704to form various pairs between shapelet702and a plurality of sections of segment700. These local sections may or may not overlap. A distance is computed for each pairing of shapelet702and a local section of segment700. These distances may then be used to compute an overall distance for the shapelet-segment pairing. In one illustrative example, the smallest of these distances is used as the overall distance for the shapelet-segment pairing.

With reference now toFIG. 8, an illustration of a prognostic distance matrix for segment-nominal pairings is depicted in accordance with an illustrative embodiment. InFIG. 8, prognostic distance matrix800is an example of one implementation for prognostic distance matrix221inFIG. 2.

Prognostic distance matrix800comprises distances for segment-nominal pairings. In some cases, prognostic distance matrix800may be referred to as a nominal-based prognostic distance matrix.

In this illustrative example, prognostic distance matrix800comprises distances for various flights in flights802. In particular, these distances are computed for selected states804of flights802. Selected states804may include S states, ranging from State1806to State S808.

Prognostic distance matrix800includes a submatrix for each of selected states804. For example, prognostic distance matrix800includes submatrix810for State1806and submatrix812for State S808.

In particular, for each of flights802, submatrix810includes a distance computed for one of P parameters with respect to State1806. For example, each column of submatrix810comprises, for each one of flights802, a distance between a nominal segment and a segment extracted from time series data for a particular parameter during State1806for the corresponding flight.

Column814comprises a distance between a segment extracted from time series data for parameter1during State1806for the corresponding flight and a nominal segment that represents nominal values for parameter1during State1806. Column816comprises a distance between a segment extracted from time series data for parameter P during State1806for the corresponding flight and a nominal segment that represents nominal values for parameter P during State1806.

Further, column818of submatrix812comprises a distance between a segment extracted from time series data for parameter1during State S808for the corresponding flight and a nominal segment that represents nominal values for parameter1during State S808. Column820of submatrix812comprises a distance between a segment extracted from time series data for parameter P during State S808for the corresponding flight and a nominal segment that represents nominal values for parameter P during State S808.

With reference now toFIG. 9, an illustration of a prognostic distance matrix for segment-segment pairings is depicted in accordance with an illustrative embodiment. InFIG. 9, prognostic distance matrix900is an example of one implementation for prognostic distance matrix221inFIG. 2.

Prognostic distance matrix900comprises distances for segment-segment pairings. In some cases, prognostic distance matrix900may be referred to as a segment-based prognostic distance matrix. The different segment-segment pairings represented by prognostic distance matrix900may represent sensor pairs.

In this illustrative example, prognostic distance matrix900comprises distances for various flights in flights902. In particular, these distances are computed for selected states904of flights902. Selected states904may include S states, ranging from State1906to State S908.

For each selected state, prognostic distance matrix900includes a set of submatrices for M distance types910ranging from distance type1912to distance type M914. Thus, for each selected state of selected states904, prognostic distance matrix900includes a submatrix for each distance type of distance types910. For example, prognostic distance matrix900includes submatrix916for distance type1912and submatrix918for distance type M914.

In particular, for each of flights902, submatrix916includes a distance computed for a sensor pair with respect to distance type1912and State1906. For example, each column of submatrix916comprises, for each one of flights902, a distance of distance type1912between two segments extracted from time series data for two sensors during State1906for the corresponding flight.

Column920comprises a distance of distance type1912for data for a first sensor pair corresponding to State1906for the corresponding flight. Column922comprises a distance of distance type1912for data for a kthsensor pair corresponding to State1906for the corresponding flight.

Further, column924of submatrix918comprises a distance of distance type M914for a first sensor pair corresponding to State1906for the corresponding flight. Column926of submatrix918comprises a distance of distance type M914for data from a kthsensor pair corresponding to State1906for the corresponding flight.

With reference now toFIG. 10, an illustration of a prognostic distance matrix for shapelet-segment pairings is depicted in accordance with an illustrative embodiment. InFIG. 10, prognostic distance matrix1000is an example of one implementation for prognostic distance matrix221inFIG. 2.

Prognostic distance matrix1000comprises distances for shapelet-segment pairings. In some cases, prognostic distance matrix1000may be referred to as a shapelet-based prognostic distance matrix.

In this illustrative example, prognostic distance matrix1000comprises distances for various flights in flights1002. In particular, these distances are computed for P parameters1004. Parameters1004range from parameter11006to parameter P1008.

For each parameter of the P parameters1004, prognostic distance matrix1000includes a set of submatrices for selected states1010. Selected states1010range from State11011to State S1012.

Prognostic distance matrix1000includes a submatrix for each of selected states1010. For example, prognostic distance matrix1000includes submatrix1014for State11011and submatrix1016for State S1012.

In particular, for each of flights1002, submatrix1014includes distances computed for various shapelet-segment pairings. For example, for each selected state of selected states1010, some number of shapelets may be identified. For State11011, 1k shapelets may be identified for use. For State S1012, Sk shapelets may be identified for use. Depending on the implementation, 1k may be the same in number or different in number from Sk.

Each selected state for a particular parameter corresponds to a particular segment. In one illustrative example, State11011for parameter11006corresponds to a first segment that was extracted from time series data capturing parameter11006during State11011. State S1012for parameter11006corresponds to a second segment that was extracted from time series data capturing parameter11006during State S1012.

Each column of submatrix1014for State11011comprises, for each one of flights1002, a distance for a pairing of a particular shapelet and the first segment. This distance may be, for example, the minimum distance of the distances computed for the pairings of the shapelet with different sections of the first segment.

Column1018comprises a distance for a shapelet-segment pairing between a first shapelet and the first segment for State11011of the corresponding flight. Column1020comprises a distance for a shapelet-segment pairing between a 1kthshapelet and the first segment for State11011of the corresponding flight.

Further, column1022of submatrix1016comprises a distance for a shapelet-segment pairing between a first shapelet and the second segment for State S1012of the corresponding flight. Column1024of submatrix1016comprises a distance for a shapelet-segment pairing between a 1kthshapelet and the second segment for State S1012of the corresponding flight.

InFIGS. 8-10, a two-tiered feature extraction process may be employed, which calculates moving aggregates of distances in time windows. These time windows may be, for example, over 15 flights, 20 flights, 40 flights, some other number of flights, or some other time window. Aggregates of distances may include average, standard deviation, slope, the difference between maximum and minimum, or some other type of measurement parameter. In this process, the original distances may be replaced by the moving aggregates. These moving aggregates may be added to the corresponding prognostic distance matrix as additional columns, while maintaining the general structure of the prognostic distance matrix.

With reference now toFIG. 11, an illustration of a ranking of distances is depicted in accordance with an illustrative embodiment. In this illustrative example, graph1100of distance types1101is depicted in accordance with an illustrative embodiment. Graph1100is a bar graph in which each bar represents the importance of a distance for predicting a problem in a component of an aircraft, such as aircraft100inFIG. 1.

In this illustrative example, graph1100ranks the variable importance of the different types of distances that may be computed for segment-segment pairings that capture temperature measurements for two complementary brake systems in an aircraft. For example, the different distance types1101that may be computed for a pair of segments may include, but are not limited to, distances computed using algorithms currently available in the time series data mining field, distances custom-designed for the intended application, or both.

The distance types1101in graph1100are ranked according to variable importance1102. In one illustrative example, the importance of a particular distance type may be a weighting to be used when a distance of that distance type is input into a machine learning algorithm. These weightings may be changed to change the overall importance of the different distance types1101in generating a final score or prognostic indicator for the brake system. This final score may also be referred to as an anomaly score.

For example, all of distance types1101shown may be computed for a pair of segmented time series. These distances may be put into a matrix form and input into a machine learning algorithm that generates a final score. This final score may be a prognostic indicator with respect to the health of the brake system.

In some illustrative examples, an algorithm may be used to select which distance types are more important than others. For example, without limitation, the Boruta algorithm may be used to select the relevant distances.

With reference now toFIG. 12, an illustration of digital prognoses is depicted in accordance with an illustrative embodiment. In this illustrative example, digital prognosis1200may be an example of one implementation for digital prognosis235inFIG. 2. Digital prognosis1200is depicted with respect to flight date axis1202. Digital prognosis1200includes component plot1204, component plot1206, component plot1208, and component plot1210. Each of component plot1204, component plot1206, component plot1208, and component plot1210corresponds to a different component of an aircraft and is a plot of graphical indicators.

As depicted, digital prognosis1200includes multiples plots that include graphical indicators1212. Each of graphical indicators1212in digital prognosis1200represents a prognostic indicator that was generated by a machine learning algorithm, such as from a set of machine learning algorithms230inFIG. 2. Digital prognosis1200also identifies events1213that are of interest.

Graphical indicators1212include healthy indicators1214, mild alert indicators1216, and severe alert indicators1218. Each of these indicators represents the health status of the corresponding component on a particular flight date, as determined by the health manager, which may be, for example, health manager208inFIG. 3. For example, the health manager may generate prognostic indicators for the components based on distances computed based on segments. These prognostic indicators are visually represented by graphical indicators1212.

Each of healthy indicators1214indicates that the performance of the corresponding component on the corresponding flight date was within selected tolerances of nominal performance. Each of mild alert indicators1216indicates that the performance of the corresponding component on the corresponding flight date deviated from nominal performance sufficiently to warrant a mild alert. Each of severe alert indicators1218indicates that the performance of the corresponding component on the corresponding flight date deviated from nominal performance sufficiently to warrant a severe alert.

With reference now toFIG. 13, an illustration of a process for evaluating a component of a vehicle is depicted in the form of a flowchart in accordance with an illustrative embodiment. The process illustrated inFIG. 13may be implemented using health management system200inFIG. 2.

The process may begin by receiving time series data generated during operation of a vehicle (operation1300). Next, the time series data is transformed into a plurality of segments based on a selected state for the vehicle that is of interest (operation1302).

Thereafter, a prognostic distance matrix is built based on pairings formed using the plurality of segments in which the prognostic distance matrix comprises distances that measure deviation of the component from nominal performance for the selected state (operation1304). A digital prognosis is generated for the component of the vehicle based on the prognostic distance matrix in which the digital prognosis predicts whether a maintenance operation should be performed with respect to the component (operation1306), with the process terminating thereafter.

With reference now toFIG. 14, an illustration of a process for evaluating a component of an aircraft is depicted in the form of a flowchart in accordance with an illustrative embodiment. The process illustrated inFIG. 13may be implemented using health management system200inFIG. 2.

The process may begin by receiving time series data in which each time series in the time series data measures at least one performance parameter for a component of an aircraft (operation1400). Next, the time series data is transformed into a plurality of segments (operation1402). A plurality of pairings are formed using the plurality of segments in which the plurality of pairings include at least one of segment-segment pairings, segment-nominal pairings, or shapelet-segment pairings (operation1404).

Next, at least one distance is computed for each pairing in the plurality of pairings (operation1406). In operation1406, different distances of different distance types may be computed for a same pairing.

Thereafter, the computed distances may be used in a number of different ways. For example, without limitation, the distances may be used to perform at least one of operation1408, operation1410, or operation1410described below.

In one illustrative example, the distances may be used to aid in visualizing at least one time series in the time series data (operation1408), with the process terminating thereafter. In some cases, operation1408may be performed by displaying a visual representation of a time series in a graphical user interface on a display system. Further, a number of distance features may be displayed in a separate plot that allows marking extreme distances while seeing the associated time series.

Further, in some cases, in operation1408, a number of event features may be displayed in association with the visual representation to identify the correlation between events and the distances. The visual presentation of the times of events and the distance features may help a user understand when extreme distances precede an identified event. If so, these distances may be useful prognostic features.

In another illustrative example, after the distances are computed in operation1406, the distances may be used to build a prognostic distance matrix that is input into a set of machine learning algorithms for use in generating a number of prognostic indicators with respect to the health of the component (operation1410), with the process terminating thereafter. In some illustrative examples, once the distances are computed in operation1406, the distances may be used to help diagnose an undesired inconsistency in the performance of the component (operation1412), with the process terminating thereafter.

With reference now toFIG. 15, an illustration of a process for computing a distance is depicted in the form of a flowchart in accordance with an illustrative embodiment. The process illustrated inFIG. 15may be implemented using distance generator206inFIG. 2.

The process may begin by selecting a pairing for processing (operation1500). A determination is made as to whether the pairing is a segment-segment pairing built between a first segment extracted from a portion of the time series data generated by a first sensor during the selected state and a second segment extracted from another portion of the time series data generated by a second sensor during the selected state (operation1502).

If the pairing is a segment-segment pairing, a distance is computed between the first segment and the second segment of the segment-segment pairing (operation1504), with the process terminating thereafter. Otherwise, if the pairing is not a segment-segment pairing, a determination is made as to whether the pairing is a segment-nominal pairing built between a segment extracted from a portion of the time series data generated during a selected state and a nominal segment (operation1506).

In some cases, the nominal segment may comprise expected values obtained through, for example, without limitation, subject matter expertise, engineering tables, or some other source. In other cases, the nominal segment may comprise values that have been estimated based on historical data. In yet other illustrative example, a nominal segment may be a segment from time series data for a same selected state that was previously identified as representing nominal performance. In this manner, the nominal segment may have been identified in a number of different ways including, but not limited to, training or previous analysis.

If the pairing is a segment-nominal pairing, a distance is computed between the actual values of the segment and the expected values of the nominal segment (operation1508), with the process terminating thereafter. Otherwise, a determination is made as to whether the pairing is a shapelet-segment pairing in which the shapelet is a subsequence that is present in either non-nominal performance or nominal performance but not both (operation1510).

If the pairing is a shapelet-segment pairing, the distance is computed by identifying a best match between the shapelet and one of a plurality of sections of the segment (operation1512), with the process terminating thereafter. Otherwise, the process terminates.

The shapelet may be a subsequence within a selected segment that has been identified as representative of nominal performance or non-nominal performance but not both. For example, prior segments that have been identified as representing an unhealthy condition may be searched to find a local section that is representative of non-nominal performance. In some cases, multiple local sections from training may be processed and used to create a shapelet.

In operation1512, the shapelet may be slid over different sections of the segment, which may or may not overlap. A distance may be computed for each pairing of the shapelet and a section of the segment. The smallest distance may be used as the best match in operation1512.

Turning now toFIG. 16, an illustration of a data processing system in the form of a block diagram is depicted in accordance with an illustrative embodiment. Data processing system1600may be used to implement computer system203inFIG. 2. As depicted, data processing system1600includes communications framework1602, which provides communications between processor unit1604, storage devices1606, communications unit1608, input/output unit1610, and display1612. In some cases, communications framework1602may be implemented as a bus system.

Processor unit1604is configured to execute instructions for software to perform a number of operations. Processor unit1604may comprise a number of processors, a multi-processor core, and/or some other type of processor, depending on the implementation. In some cases, processor unit1604may take the form of a hardware unit, such as a circuit system, an application specific integrated circuit (ASIC), a programmable logic device, or some other suitable type of hardware unit.

Instructions for the operating system, applications, and/or programs run by processor unit1604may be located in storage devices1606. Storage devices1606may be in communication with processor unit1604through communications framework1602. As used herein, a storage device, also referred to as a computer readable storage device, is any piece of hardware capable of storing information on a temporary and/or permanent basis. This information may include, but is not limited to, data, program code, and/or other information.

Memory1614and persistent storage1616are examples of storage devices1606. Memory1614may take the form of, for example, a random access memory or some type of volatile or non-volatile storage device. Persistent storage1616may comprise any number of components or devices. For example, persistent storage1616may comprise a hard drive, a flash memory, a rewritable optical disk, a rewritable magnetic tape, or some combination of the above. The media used by persistent storage1616may or may not be removable.

Communications unit1608allows data processing system1600to communicate with other data processing systems and/or devices. Communications unit1608may provide communications using physical and/or wireless communications links.

Input/output unit1610allows input to be received from and output to be sent to other devices connected to data processing system1600. For example, input/output unit1610may allow user input to be received through a keyboard, a mouse, and/or some other type of input device. As another example, input/output unit1610may allow output to be sent to a printer connected to data processing system1600.

Display1612is configured to display information to a user. Display1612may comprise, for example, without limitation, a monitor, a touch screen, a laser display, a holographic display, a virtual display device, and/or some other type of display device.

In this illustrative example, the processes of the different illustrative embodiments may be performed by processor unit1604using computer-implemented instructions. These instructions may be referred to as program code, computer usable program code, or computer readable program code and may be read and executed by one or more processors in processor unit1604.

In these examples, program code1618is located in a functional form on computer readable media1620, which is selectively removable, and may be loaded onto or transferred to data processing system1600for execution by processor unit1604. Program code1618and computer readable media1620together form computer program product1622. In this illustrative example, computer readable media1620may be computer readable storage media1624or computer readable signal media1626.

Computer readable storage media1624is a physical or tangible storage device used to store program code1618rather than a medium that propagates or transmits program code1618. Computer readable storage media1624may be, for example, without limitation, an optical or magnetic disk or a persistent storage device that is connected to data processing system1600.

Alternatively, program code1618may be transferred to data processing system1600using computer readable signal media1626. Computer readable signal media1626may be, for example, a propagated data signal containing program code1618. This data signal may be an electromagnetic signal, an optical signal, and/or some other type of signal that can be transmitted over physical and/or wireless communications links.

The illustration of data processing system1600inFIG. 16is not meant to provide architectural limitations to the manner in which the illustrative embodiments may be implemented. The different illustrative embodiments may be implemented in a data processing system that includes components in addition to or in place of those illustrated for data processing system1600. Further, components shown inFIG. 16may be varied from the illustrative examples shown.

Illustrative embodiments of the disclosure may be described in the context of aircraft manufacturing and service method1700as shown inFIG. 17and aircraft1800as shown inFIG. 18. Turning first toFIG. 17, an illustration of an aircraft manufacturing and service method is depicted in accordance with an illustrative embodiment. During pre-production, aircraft manufacturing and service method1700may include specification and design1702of aircraft1800inFIG. 18and material procurement1704.

During production, component and subassembly manufacturing1706and system integration1708of aircraft1800inFIG. 18takes place. Thereafter, aircraft1800inFIG. 18may go through certification and delivery1710in order to be placed in service1712. While in service1712by a customer, aircraft1800inFIG. 18is scheduled for routine maintenance and service1714, which may include modification, reconfiguration, refurbishment, and other maintenance or service.

With reference now toFIG. 18, an illustration of an aircraft is depicted in which an illustrative embodiment may be implemented. In this example, aircraft1800is produced by aircraft manufacturing and service method1700inFIG. 17and may include airframe1802with plurality of systems1804and interior1806. Examples of systems1804include one or more of propulsion system1808, electrical system1810, hydraulic system1812, and environmental system1814. Any number of other systems may be included. Although an aerospace example is shown, different illustrative embodiments may be applied to other industries, such as the automotive industry.

Apparatuses and methods embodied herein may be employed during at least one of the stages of aircraft manufacturing and service method1700inFIG. 17. In particular, health management system200fromFIG. 2may be used to evaluate the health of aircraft1800during any one of the stages of aircraft manufacturing and service method1700. For example, without limitation, health management system200fromFIG. 2may be used to evaluate the health of aircraft during at least one of system integration1708, certification and delivery1710, in service1712, routine maintenance and service1714, or some other stage of aircraft manufacturing and service method1700. Still further, health management system200fromFIG. 2may be used to evaluate the health of aircraft1800and systems1804that make up aircraft1800over the life of the aircraft.

In one illustrative example, components or subassemblies produced in component and subassembly manufacturing1706inFIG. 17may be fabricated or manufactured in a manner similar to components or subassemblies produced while aircraft1800is in service1712inFIG. 17. As yet another example, one or more apparatus embodiments, method embodiments, or a combination thereof may be utilized during production stages, such as component and subassembly manufacturing1706and system integration1708inFIG. 17. One or more apparatus embodiments, method embodiments, or a combination thereof may be utilized while aircraft1800is in service1712and/or during maintenance and service1714inFIG. 17. The use of a number of the different illustrative embodiments may substantially expedite the assembly of and/or reduce the cost of aircraft1800.

Thus, the illustrative embodiments provide a method and apparatus for evaluating the health of a system, such as an aircraft, using segmented time series and distances. Multiple time series of sensor measurements may be represented as distances that measure deviation from healthy behavior. A matrix of distances may then be fed as input into downstream prognostic machine learning algorithms.

The illustrative embodiments provide a process of segment selection and distance extraction and selection. Further, these distances may be used to select individual time series worthy of closer examination, graphically represent trends leading up to an undesired event, and diagnose the cause of undesired inconsistencies.

By segmenting multiple time series, these time series may be restructured to reduce overall data volume without sacrificing information. Further, using distances computed based on segmented time series helps better represent the information in the data to match analysis goals of machine learning algorithms. These distances may better help identify which components or sensor streams deviate from nominal performance sufficiently to warrant extra attention. Patterns associated with large deviations from nominal performance may also help provide insight into the reasons behind these deviations.

The illustrative embodiments provide a method and apparatus that enable calculating a basket of distances on a set of performance parameters for a complex system even when the durations of interest are not of the same length and when the sampling rates vary. These distances may be used predicting and diagnosing problems with a desired level of accuracy.