Interactively extract, visualize, and rank features from measured or simulated data for machine diagnostics and prognostics
The Diagnostic Feature Designer app allows you to accomplish the feature design portion of the predictive maintenance workflow using a multifunction graphical interface. You design and compare features interactively, and then determine which features are best at discriminating between data from nominal systems and from faulty systems. The most effective features ultimately become your condition indicators for fault diagnosis and prognostics.
Using this app, you can:
Import measured or simulated data from individual files, an ensemble file, or an ensemble datastore that references files external to the app.
Interactively visualize data to plot the ensemble variables you import or that you compute within the app. Group data by condition label in plots so that you can clearly see whether member data comes from nominal or faulty systems.
Derive new variables such as time-synchronous averaged signals or order spectra. The app executes processing on all ensemble members with one command.
Generate features from your variables, and visualize their effectiveness using histograms. Features include signal statistics, nonlinear metrics, rotating machinery metrics, and spectral metrics.
Use conditional ranking with labeled features so that you can determine which ones are most likely to discriminate between nominal and faulty behavior.
Use prognostic ranking with features extracted from run-to-failure data so that you can determine which ones are most likely to indicate remaining useful life (RUL).
Export your most effective features directly to Classification Learner for more insight into feature effectiveness and for algorithm training.
Generate code for the features you choose so that you can reproduce, customize, and automate the feature computations in a MATLAB® function.
To get started with the app, you must have data from your systems available in your MATLAB workspace. For information about organizing your data for import into the app, see Organize System Data for Diagnostic Feature Designer.
MATLAB toolstrip: On the Apps tab, under Control System Design and Analysis, click the app icon.
MATLAB command prompt: Enter diagnosticFeatureDesigner
.
Import Data
— Import datasets from the MATLAB workspace into the appImport Single-Member Datasets
| Import Multi-Member Ensemble
Import single-member datasets when your source data in the MATLAB workspace consists of an individual workspace variable for each machine member.
The app displays a selectable list of all the datasets in your MATLAB workspace. Select the datasets that correspond to your ensemble members. Upon completion of the import, the app incorporates the datasets into a single ensemble. For more information, use the Help button in the Import dialog box.
Import a multimember ensemble when your source data is combined into one collective dataset that includes data for all members. This collective dataset can be any of the following:
An ensemble table containing table
arrays or matrices. Table
rows represent individual members.
An ensemble cell array containing tables or matrices. Cell array rows represent individual members.
An ensemble datastore object that contains the information necessary to interact with files stored externally to the app. Use an ensemble datastore object especially when you have too much data to fit into app memory.
The app displays a menu that allows you to choose one dataset or ensemble datastore object from the MATLAB workspace. Select the item that corresponds to your ensemble. Upon completion of the import, the app initializes its internal ensemble using the imported item. For more information, use the Help button in the Import dialog box.
When you select either of the import methods, the app selects the variables to display based on format, not content. The list of candidate datasets are therefore similar for both methods. The app bases its interpretation of the dataset on the import method you select.
For more information about the import dialog boxes, see:
For more information about terms related to data ensembles, see More About.
For more information about organizing your data for import into the app, see Organize System Data for Diagnostic Feature Designer.
Computation Options
— Select data handling mode, parallel computing, and in-app ensemble optionsSpecify preferences for how Diagnostic Feature Designer performs computations and where the app stores results. Computation Options opens a dialog box that accepts these preferences. Some options are visible only under specific conditions:
Data Handling Mode — Full signal or frame-based. Always available
Results Return Location — Write results to original folder or to local dataset. Available only when you import an ensemble datastore object.
Use Parallel Computing — Process ensemble members in parallel. Available only when you have the Parallel Computing Toolbox™ installed.
For more information, see Computation Options.
Data Processing
— Select data processing options by categorySelect options for processing your data into new signals. Use these new signals as inputs to other processing options or as inputs to feature generation. Most processing options operate on each ensemble member. You can also perform ensemble-level processing to view how the ensemble behaves as a whole. Each option selection opens a dialog box for your specifications.
For information about the choices, see:
Filtering & Averaging
Residue Generation
Spectral Estimation
Time Domain Features
— Compute features in the time domainSignal Features
| Rotating Machinery Features
| Nonlinear Features
Compute features in the time domain. Signal Features apply to any signals. Rotational Machinery Features are specialized metrics that apply to gearing. Nonlinear Features provide metrics that characterize chaotic behavior in vibration signals. Each selection opens a dialog box for your specifications. For more information, see:
Spectral Features
— Compute features in the frequency domainSpectral features provide frequency-domain metrics on your data. To compute spectral features, you must already have a power spectrum or an order spectrum variable. SelectingSpectral Features opens a dialog box for your specification. For more information, see Spectral Features.
Rank Features
— Rank featuresOpen the feature ranking tab that lets you perform classification and prognostic ranking for the feature table that you select. For more information, see Feature Ranking Tab.
Export
— Export features and data or generate MATLAB codeExport Features to the MATLAB workspace
| Export Features to the Classification Learner
| Export a Data Set to the MATLAB Workspace
| Generate Function for Features
| Generate Function for...
Export features, or your entire data set, to use them or share them outside of the app. Generate code to reproduce your feature computations in a MATLAB function.
For feature export, both options open an unranked selectable list to choose from. When you export to the MATLAB workspace, you can use command-line techniques with the features. When you export to Classification Learner, you open a Classification Learner session that uses your selected features as input.
If you have ranked your features and want to select features to export from a ranked list, use Export from the Feature Ranking tab.
For code generation, the first option, Generate Function for
Features
, lets you generate MATLAB code with a simple set of specifications for feature table, ranking
algorithm, and number of features. Use this option when you want to generate code
for features based solely on ranking, or when you want to generate code for all your
features.
The second code generation option, Generate Function
for...
, allows you to customize your selection of items to include
in the function. For example, you can filter your selection based on criteria such
as input or output text. You can include signals and spectra that are not used in
the features you select. Selecting Generate Function
for...
opens a selectable list of all the signals, features, and
ranking tables that you have generated. Generate Function
for...
also opens the Code Generation tab,
which provides filtering capability for the list. Use a filter to view only the
items that meet the filter criterion. You can use different filters to select the
outputs you want. To review all your selections regardless of filter, click
Sort by Selection. This option lists all the available
outputs with items that you selected on top. For more information, see Code Generation Tab.
If you have specified frame-based data (see Computation Options), clicking Generate Function for...
first opens a list with selections for the frame specifications that you have used.
The items in your generated code must either all operate on the full signal or all
use the same frame specification.
For more information on how to generate code in the app, see Automatic Feature Extraction Using Generated MATLAB Code and Generate a MATLAB Function in Diagnostic Feature Designer.
For more information about the Export options, see:
Panner
— Control plot scale and x-axis rangeUse the Panner to focus on data segments in the x-axis range that you specify and to change the plot scale. The Panner provides a strip plot beneath the main plot. To focus on a section of the main plot, move the handles. To change the scale of the plot, select one of the options in Scale.
Ensemble View Preferences
— Group data and configure view preferencesGroup by
| Configure View
Use Ensemble View Preferences to control how you view your data as an ensemble:
Group by
— Group data by a condition variable
label. The app uses color to the label group for each ensemble member. For
example, if your condition variable is faultCode
with labels
healthy
and degraded
, the app uses one
color for data with the healthy
data and another color for data
with the degraded
label.
Configure View
— Specify number of ensemble members
to display, whether to display variation among the members
.
Selecting this option opens a dialog box for your specifications. For more
information, see Ensemble View Preferences.
Group Signals, Group Variables
— Plot multiple variables together in separate plots or in one plotSpecify how to plot multiple variables together.
Select to create separate plots displayed vertically, each with a unique y-axis scaling.
Clear to create a single plot that overlays all traces and uses a single y-axis scale.
Show Signal Information
— Display highlighted variable member name and condition labelIn a signal or spectrum plot, you highlight an individual member by positioning your cursor on the member trace. Select Show Signal Information to display both the variable member that you highlight and the condition label for that member in the lower right corner.
Data Cursors
— Display x and y values of points, distances between two pointsSelect Data Cursors to display values of key points in your signal. Data Cursors are horizontal and vertical bars that you position over a point of interest, such as a peak value. The cursors display the x and y positions. To display the distance between the cursors, select Show Signal Information. To lock the bars so that they move together, select one of the Lock Spacing options.
Select Features
— Choose the features to plotClick Select Features to open a selectable list of features to plot. Use Select Features, for example, when you have generated many features but you want to focus on a subset in a single plot panel.
Group By
— Select the condition variable for grouping data Select the condition variable to base feature histograms on. The feature histograms use color to visualize the separation of data groups with different labels for that condition variable.
Example: faultCode
Bin Settings
— Specify the histogram resolutionauto
(default) | numeric | binning method nameSpecify histogram resolution, as driven by your selection of Bin Width, Bin Method, Number of Bins, and Bin Limits. The bin settings apply to all the histograms for the feature table
The bin settings are not independent. The algorithm uses an order of precedence to determine what to use:
The Binning Method is the default driver for the bin width.
A Bin Width specification overrides the Binning Method.
The bin width and the independent Bin Limits drive the
number of bins. A Number of Bins specification has an effect
only when the value of Group By is
none
.
For more information on interpreting and customizing histograms, see Generate and Customize Feature Histograms.
Classification Ranking
— Select a classification ranking algorithm to applyT-Test
| One-way ANOVA
| ROC
| ...Select a classification ranking technique to assess how effectively each feature separates data with different condition labels. If you have already ranked your features, you can rank again with a different technique and display the resulting rankings together. Each technique uses a different statistical method.
The menu differentiates between two-class and multiclass ranking methods.
Two-Class Methods — Use when your condition variable (CV) has only two labels,
such as healthy
and faulty
. The default
value for two-class methods is T-Test
.
Multiclass methods — use when your condition variable has more than two
labels, such as healthy
, faultCode1
, and
faultCode2
. The default value for multiclass methods is
One-way ANOVA
The default ranking technique for two-class condition variables,
t-test
, is the simplest technique, as it uses only the
means of the two labeled groups and not their distributions.
t-test
is primarily useful for identifying ineffective
features to discard.
The table lays out the influence of specific criteria on ranking-method selection.
Criterion | Ranking Method |
---|---|
Condition Variable Type |
|
Feature Scoring Criterion |
|
Distribution Shape |
|
Desired Method Basis |
|
Selecting a technique activates a new tab with a name that matches the ranking technique. For more information on this technique-activated tab, see Ranking Technique Tab.
For more information on the ranking methods, see:
One-way ANOVA — anova1
Bhattacharyya — bhattacharyyaDistance
Kruskal-Wallis — kruskalwallis
Entropy — relativeEntropy
ROC — perfcurve
Wilcoxon — ranksum
T-test — ttest2
Prognostic Ranking
— Select a prognostic ranking algorithm to applyMonotonicity
| Trendability
| Prognosability
Select a prognostic ranking technique to assess how effectively each feature tracks the degradation of your ensemble members when you have run-to-failure data. The top-ranking features are best at predicting the remaining useful life (RUL).
The app provides three prognostic ranking techniques, all of which score features on
a scale ranging from 0 through 1. One technique,
Monotonicity
, is always available. The other two techniques,
Trendability
and Prognosability
,
are available only when you are using frame-based data. The smaller data segments in
frame-based data allow the tracking of small changes that are induced by
degradation.
Monotonicity characterizes the trend of a feature as the
system evolves toward failure. As a system gets progressively closer to failure, a
suitable condition indicator has a monotonic positive or negative trend. For more
information, see monotonicity
.
Trendability provides a measure of similarity between the
trajectories of a feature measured in multiple run-to-failure experiments.
Trendability of a candidate condition indicator is defined as the smallest absolute
correlation between measurements. For more information, see trendability
.
Prognosability is a measure of the variability of a
feature at failure relative to the range between its initial and final values. A
more prognosable feature has less variation at failure relative to the range between
its initial and final values. For more information, see prognosability
.
Selecting a technique activates a new tab with a name that matches the ranking technique. For more information on this technique-activated tab, see Ranking Technique Tab.
For an example of using prognostic ranking in the app, see Perform Prognostic Feature Ranking for a Degrading System Using Diagnostic Feature Designer.
Rank By
— Specify condition variable for classification ranking algorithm to useSelect the condition variable that provides the labels for the classification ranking algorithm to use.
Sort By
— Specify ranking technique to sort results by when displaying results from multiple techniquesSpecify the ranking technique to sort by when you are comparing the results of different ranking methods. When you use a single ranking technique, the app displays the results in order of importance, as indicated by the ranking score for that technique. When you are comparing the results for multiple methods, change Sort By to change the technique that drives the sorting order.
Delete Scores
— Delete ranking scores from displaySpecify this parameter to eliminate ranking scores for a specific technique. Use this parameter, for example, when you are comparing the results of multiple rankings, and you want to simplify the display by eliminating rankings that do not influence your feature selection.
Export
— Export features from the app or generate MATLAB code to reproduce your feature computations in a command-line functionExport features to the MATLAB workspace
| Export features to the Classification Learner
| Generate Function for Features
| Generate Function for...
Export features to use them or share them outside of the app. Both options open a ranking-sorted selectable list to choose from. When you export to the MATLAB workspace, you can use command-line techniques with the features. When you export to the Classification Learner, you open a Classification Learner session that uses your selected features as input.
If you want to export your entire data set from the app, use Export from the Feature Designer tab.
You can also generate code that reproduces the computations for the variables and
features you select. For more information, see the code generation options description
in the Export section in the
Feature Designer tab. When you generate code using
Generate Function for Features
from the Feature
Ranking tab, Ranking Method defaults to the method you
specify in Sort By.
Correlation Importance
— Reduce the ranking of redundant featuresThe correlation importance setting allows you to screen out features that convey similar information to higher-ranked features. This screening provides a more diverse feature set in the upper ranks.
The criterion for the screening is the set of cross-correlation coefficients a feature has with higher-ranked features. High cross-correlation between two features implies that both features are separating condition groups similarly and provide redundant information. With the default value of 0, the app does not incorporate feature redundancy into ranking scores. As you increase the correlation importance value, the app increases the influence of feature cross-correlation on the feature ranking score. This increasing influence progressively lowers the score of redundant features.
Normalization Scheme
— Apply normalization across members for classification rankingminmax
(default) | none
| meanvar
| softmax
The normalization scheme performs independent normalization across the members for every feature. Normalization allows more direct comparisons among features. The app displays the defining equation for the scheme you select directly beneath your selection.
This option is available only for classification ranking techniques.
Apply
— Apply parameter settings to new ranking computationClick Apply to calculate ranking with the specified parameters. The Feature Ranking tab in the plotting area displays the results both graphically and tabularly. This display also includes the results for the default ranking algorithm, and for any other ranking techniques you calculated previously.
Once you calculate a ranking, the app disables Apply until you change a parameter. You can calculate ranking within a tab multiple times. Each time you modify the parameters and calculate ranking, the new results overwrite the previous results in the plotting-area tab.
Close
— Close the tab and return control to the feature ranking tabOnce you have completed your ranking within the ranking technique tab, close that tab to return control to the Feature Ranking tab. The Feature Ranking is disabled while any ranking technique tab is activated.
Frame Policy
— Feature table name, frame size, and frame rate Full Signal
,
None
(default) | feature table name, frame size, frame rateThis property is read-only.
The frame policy information reflects the choice you make when you select Export > Generate Function for... in the Feature Designer tab.
Filter or Sort
— Define criteria to refine your code generation choicesSet criteria to refine your options when selecting items for your generated function. All criteria allow you to overwrite selectable options with a string. String matching is case insensitive. Your filters apply to all output items, including signals, features, and ranking tables. Criteria include:
Output — String appearing in the output name, which is the name of the variable, feature, or ranking table to select for the generated function
Input — Input signal from which the output variable or feature was computed or feature table from which the ranking table was computed
Method — Computation that produced the output item, such
as TSA
or Kurtosis
Analysis Type — Data processing, feature processing, or feature ranking
To reset a single filter, delete the contents and click anywhere in the app. To reset all filters at once, click Reset Filters.
Sort by Selection
— Display all selected itemsDisplay all selected items together. Use Sort Selected especially when you have used multiple filter combinations to assemble your codegen selections. All your selections appear together.
Code
— Execute function generationClick the Generate Function button when you have completed configuring your selections. The app opens a function that contains computations used for all the output items you selected.
For more information about generating code in the app, see Automatic Feature Extraction Using Generated MATLAB Code.