exponenta event banner

trendability

Измерение сходства траекторий индикаторов состояния

Описание

пример

Y = trendability(X) возвращает изменчивость данных времени жизни X. Использовать trendability в качестве меры сходства между траекториями признака, измеренными в нескольких экспериментах от пробега до отказа. Более модный элемент имеет траектории с той же самой базовой формой. Значения Y диапазон от 0 до 1, где Y равно 1, если X является совершенно модным и 0, если X не поддается моде.

пример

Y = trendability(X,lifetimeVar) возвращает изменчивость данных времени жизни X используя переменную времени жизни lifetimeVar.

пример

Y = trendability(X,lifetimeVar,dataVar) возвращает изменчивость данных времени жизни X используя переменные данных, указанные dataVar.

пример

Y = trendability(X,lifetimeVar,dataVar,memberVar) возвращает изменчивость данных времени жизни X используя переменную времени жизни lifetimeVar, переменные данных, указанные dataVarи переменная-член memberVar.

пример

Y = trendability(___,Name,Value) оценивает модность с дополнительными опциями, указанными одним или несколькими Name,Value аргументы пары. Этот синтаксис можно использовать с любой из предыдущих комбинаций входных аргументов.

пример

trendability(___) без выходных аргументов строит гистограмму ранжированных значений модности.

Примеры

свернуть все

В этом примере рассмотрим данные о времени жизни 10 идентичных машин со следующими 6 потенциальными прогностическими параметрами - постоянными, линейными, квадратичными, кубическими, логарифмическими и периодическими. Набор данных machineDataCellArray.mat содержит C который является 1x10 массив ячеек матриц, где каждый элемент массива ячеек является матрицей, которая содержит данные времени жизни машины. Для каждой матрицы в массиве ячеек первый столбец содержит время, в то время как другие столбцы содержат переменные данных.

Загрузите данные о времени жизни и визуализируйте их по времени.

load('machineDataCellArray.mat','C')
display(C)
C=1×10 cell array
  Columns 1 through 4

    {219x7 double}    {189x7 double}    {202x7 double}    {199x7 double}

  Columns 5 through 8

    {229x7 double}    {184x7 double}    {224x7 double}    {208x7 double}

  Columns 9 through 10

    {181x7 double}    {197x7 double}

for k = 1:length(C)
    plot(C{k}(:,1), C{k}(:,2:end));
    hold on;
end

Figure contains an axes. The axes contains 60 objects of type line.

Просмотрите 6 различных индикаторов состояния - постоянный, линейный, квадратичный, кубический, логарифмический и периодический - для всех 10 машин на графике.

Визуализируйте модность потенциальных прогностических особенностей.

trendability(C)

Figure contains an axes. The axes with title Trendability Metric contains an object of type bar.

На графике гистограммы обратите внимание, что элементы Var2 и Var5 имеют значения изменчивости 1. Следовательно, эти особенности более подходят для оставшихся прогнозов срока службы, поскольку они являются лучшими показателями работоспособности машины.

В этом примере рассмотрим данные о времени жизни 10 идентичных машин со следующими 6 потенциальными прогностическими параметрами - постоянными, линейными, квадратичными, кубическими, логарифмическими и периодическими. Набор данных machineDataTable.mat содержит T, который является 1x10 массив ячеек таблиц, где каждый элемент массива ячеек содержит таблицу данных о времени жизни для машины.

Загрузите и просмотрите данные.

load('machineDataTable.mat','T');
display(T)
T=1×10 cell array
  Columns 1 through 4

    {219x7 table}    {189x7 table}    {202x7 table}    {199x7 table}

  Columns 5 through 8

    {229x7 table}    {184x7 table}    {224x7 table}    {208x7 table}

  Columns 9 through 10

    {181x7 table}    {197x7 table}

head(T{1},2)
ans=2×7 table
    Time    Constant    Linear    Quadratic    Cubic     Logarithmic    Periodic
    ____    ________    ______    _________    ______    ___________    ________

       0     3.2029     11.203     7.7029      3.8829      2.2517        0.2029 
    0.05     2.8135     10.763     7.2637      3.6006      1.8579       0.12251 

Обратите внимание, что каждая таблица в массиве ячеек содержит переменную времени жизни 'Time' и переменные данных 'Constant', 'Linear', 'Quadratic', 'Cubic', 'Logarithmic', и 'Periodic'.

Вычислить модность с помощью Time в качестве переменной времени жизни.

Y = trendability(T,'Time')
Y=1×6 table
    Constant     Linear     Quadratic     Cubic     Logarithmic    Periodic 
    _________    _______    _________    _______    ___________    _________

    0.0035529    0.99984     0.63753     0.92057      0.99582      0.0041995

Из результирующей таблицы значений изменчивости следует, что линейные, кубические и логарифмические элементы имеют значения, близкие к 1. Следовательно, эти три признака более подходят для прогнозирования оставшегося срока службы, поскольку они являются лучшими показателями работоспособности машины.

Рассмотрим данные о сроке службы 4 машин. Каждая машина имеет 4 кода отказа для индикаторов потенциального состояния - напряжение, ток и мощность. trendabilityEnsemble.zip представляет собой коллекцию из 4 файлов, где каждый файл содержит расписание времени жизни данных для каждой машины - tbl1.mat, tbl2.mat, tbl3.mat и tbl4.mat. Можно также использовать файлы, содержащие данные для нескольких машин. Для каждого графика организация данных выглядит следующим образом:

При выполнении вычислений в массивах TALL MATLAB ® использует либо параллельный пул (по умолчанию при наличии Toolbox™ Parallel Computing), либо локальный сеанс MATLAB. Для выполнения примера с использованием локального сеанса MATLAB измените глобальную среду выполнения с помощью mapreducer функция.

mapreducer(0)

Извлеките сжатые файлы, прочитайте данные в расписаниях и создайте fileEnsembleDatastore с использованием данных расписания. Дополнительные сведения о создании хранилища данных ансамбля файлов см. в разделе fileEnsembleDatastore.

unzip trendabilityEnsemble.zip;
ens = fileEnsembleDatastore(pwd,'.mat');
ens.DataVariables = {'Voltage','Current','Power','FaultCode','Machine'};
% Make sure that the function for reading data is on path
addpath(fullfile(matlabroot,'examples','predmaint','main')) 
ens.ReadFcn = @readtable_data;
ens.SelectedVariables = {'Voltage','Current','Power','FaultCode','Machine'};

Визуализировать модность потенциальных прогностических особенностей с помощью 'Machine' в качестве переменной-члена и группировать данные о сроке службы по 'FaultCode'. Группирование данных о сроке службы гарантирует, что trendability вычисляет метрику для каждого кода неисправности отдельно.

trendability(ens,'MemberVariable','Machine','GroupBy','FaultCode');
Evaluating tall expression using the Local MATLAB Session:
- Pass 1 of 1: Completed in 0.083 sec
Evaluation completed in 0.2 sec
Evaluating tall expression using the Local MATLAB Session:
- Pass 1 of 1: Completed in 0.037 sec
Evaluation completed in 0.14 sec
Evaluating tall expression using the Local MATLAB Session:
- Pass 1 of 1: Completed in 0.13 sec
Evaluation completed in 0.15 sec

Figure contains an axes. The axes with title Trendability Metric contains 4 objects of type bar. These objects represent FaultCode: 1, FaultCode: 2, FaultCode: 3, FaultCode: 4.

trendability возвращает график гистограммы с элементами, ранжированными по значениям их модности. Более высокое значение модности указывает на более подходящий прогностический параметр. Например, элемент-кандидат Current имеет наивысшую степень модности для машин с FaultCode 1.

rmpath(fullfile(matlabroot,'examples','predmaint','main')) % Reset path

Входные аргументы

свернуть все

Данные о времени жизни, определенные как массив ячеек матриц, массив ячеек таблиц и расписаний, fileEnsembleDatastore объект, таблица или расписание. Данные о сроке службы содержат данные о сбое контролируемых систем. Термин «срок службы» здесь относится к сроку службы машины, определяемому в терминах единиц, используемых для измерения срока службы системы. Единицами срока службы могут быть такие величины, как пройденное расстояние (мили), потребляемое топливо (галлоны) или время с начала работы (дни).

Если X является

  • массив ячеек матриц или таблиц, функция предполагает, что каждая матрица или таблица содержит столбцы данных о сроке службы для системы. Каждый столбец каждой матрицы или таблицы, за исключением первого столбца, содержит данные для прогностической переменной. 'Var1','Var2', ... может использоваться для ссылки на столбцы матрицы, содержащие данные о сроке службы. Например, файл machineDataCellArray.mat содержит массив ячеек 1 на 10 матриц Cгде каждая из 10 матриц содержит данные для конкретной машины.

  • таблица или расписание, функция предполагает, что каждый столбец, кроме первого, содержит столбцы данных о времени жизни. Имена табличных переменных можно использовать для ссылок на столбцы, содержащие данные о времени жизни. Если lifetimeVar не указано, когда X является таблицей, то первый столбец данных используется в качестве переменной времени жизни.

  • a fileEnsembleDatastore объект, укажите переменные данных dataVar и переменные-члены memberVar для использования. Если lifetimeVar не указан, тогда первый столбец данных используется в качестве переменной времени жизни для вычисления.

Каждый числовой элемент в X имеет тип double.

Переменная времени жизни, заданная как строковый или символьный вектор. lifetimeVar измеряет срок службы отслеживаемых систем, и данные о сроке службы сортируются по lifetimeVar. Значение lifetimeVar должно быть допустимым именем переменной ансамбля или таблицы.

Для массива ячеек матриц значение 'Time' может использоваться для ссылки на первый столбец каждой матрицы, который, как предполагается, содержит переменную времени жизни. Например, файл machineDataCellArray.mat содержит массив ячеек C, где первый столбец в каждой матрице содержит переменную срока службы, в то время как другие столбцы содержат переменные данных.

Переменные данных, указанные как строковый массив, символьный вектор или массив ячеек символьных векторов. Переменные данных являются основным содержанием членов ансамбля. Переменные данных могут включать измеренные данные или производные данные для анализа и разработки алгоритмов прогностического обслуживания.

Если X является

  • a fileEnsembleDatastore объект, значение dataVar заменяет DataVariables собственность ансамбля.

  • массив ячеек матриц, значение 'Time' может использоваться для ссылки на первый столбец каждой матрицы, то есть переменную срока службы lifetimeVar. 'Var1','Var2', ... может использоваться для ссылки на другие столбцы матрицы, которые содержат данные о сроке службы. Например, файл machineDataCellArray.mat содержит массив ячеек C где первый столбец в каждой матрице содержит переменную срока службы. Другие столбцы в массиве ячеек C содержат переменные данных.

  • таблица, имена табличных переменных могут использоваться для ссылки на столбцы, содержащие данные о времени жизни.

Значения dataVar должны быть допустимыми именами переменных ансамбля или таблицы. Если dataVar не указан, вычисление включает все столбцы данных, кроме указанного в lifetimeVar. Например, предположим, что каждая запись в массиве ячеек является таблицей с переменными A, B, C, и D. Настройка dataVar кому ["A","D"] использует только A и D для вычисления во время C и D игнорируются.

Переменная-член, заданная как строковый или символьный вектор. Использовать memberVar указание переменной для идентификации систем или машин в данных о сроке службы X. Например, в fileEnsembleDatastore объект, пятый столбец в каждом расписании содержит номера, которые идентифицируют данные от конкретной машины. Имя столбца соответствует переменной-члену memberVar.

memberVar игнорируется, когда X задается как массив ячеек матриц или таблиц.

Аргументы пары «имя-значение»

Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.

Пример: ...,'Method','rank'

Переменная времени жизни, заданная как разделенная запятыми пара, состоящая из 'LifeTimeVariable«и либо строковый, либо символьный вектор». Если 'LifeTimeVariable«не указан, используется первый столбец данных».

'LifeTimeVariable"" эквивалентен входному аргументу " lifetimeVar.

Переменные данных, указанные как разделенная запятыми пара, состоящая из 'DataVariablesи строковый массив, символьный вектор или массив ячеек символьных векторов.

'DataVariables"" эквивалентен входному аргументу " dataVar.

Переменные-члены, указанные как пара, разделенная запятыми, состоящая из 'MemberVariable«и либо строковый, либо символьный вектор».

'MemberVariable"" эквивалентен входному аргументу " memberVar.

Критерий группировки, указанный как разделенная запятыми пара, состоящая из 'GroupBy«и либо строковый, либо символьный вектор». Использовать 'GroupBy«чтобы указать переменные для группирования данных о сроке службы» X по условиям эксплуатации.

Функция вычисляет метрику отдельно для каждой группы, которая является результатом применения критерия, такого как условие отказа, указанное в 'GroupBy'. Например, в fileEnsembleDatastore объект ens, четвертый столбец в каждом расписании в ens содержит переменную 'FaultCode'. Метрика вычисляется для каждой машины путем группирования данных по 'FaultCode'.

Группировать переменные можно только в том случае, если X определяется как fileEnsembleDatastore объект, таблица, расписание или массив ячеек таблиц или расписаний.

Размер центрированного окна скользящего среднего для сглаживания данных, указанного как разделенная запятыми пара, состоящая из 'WindowSizeи скалярный или двухэлементный вектор. Для сглаживания данных используется фильтр Савицки-Голая. Дополнительные сведения см. в разделе smoothdata.

Если 'WindowSize'не указан, длина окна автоматически определяется на основе данных о сроке службы X использование smoothdata(X,'sgolay'). Установить 'WindowSizeдо 0, чтобы отключить сглаживание данных.

Выходные аргументы

свернуть все

Изменчивость данных о времени жизни, возвращаемых в виде вектора или таблицы.

Изменчивость - это мера сходства между траекториями признака, измеренными в нескольких экспериментах от пробега до сбоя. Более модный элемент имеет траектории с той же самой базовой формой. По мере того, как система постепенно приближается к отказу, подходящий индикатор состояния обычно является очень модным. И наоборот, любая функция, которая не является модной, является менее подходящим индикатором состояния. Значения Y диапазон от 0 до 1.

  • Y равно 1, если X совершенно модно.

  • Y равно 0, если X совершенно не поддается моде.

Выбор соответствующих параметров оценки из всех доступных признаков является первым шагом в построении надежного механизма прогнозирования оставшегося срока службы. Значения изменчивости в Y полезны для определения, какие индикаторы состояния лучше всего отслеживают процесс деградации контролируемых систем. Чем выше изменчивость, тем более желательна особенность для прогностики.

Когда 'GroupBy'не указан, то Y возвращается как вектор строки или однострочная таблица. И наоборот, когдаGroupByуказан ', затем каждая строка в Y соответствует одной группе.

Ограничения

  • Когда X - высокий стол или высокое расписание, trendability тем не менее загружает полный массив в память с помощью gather. Если доступная память недостаточна, то trendability возвращает ошибку.

Алгоритмы

При вычислении модности используется следующая формула:

изменчивость = minj, k 'corr (xj, xk )  | ,  j, k = 1,...,M

где xj представляет вектор измерений признака в j-ой системе, а переменная M - количество контролируемых систем.

Когда xj и xk имеют разную длину, более короткий вектор повторно дискретизируется в соответствии с длиной более длинного вектора. Чтобы облегчить этот процесс, их векторы времени сначала нормализуются до процента времени жизни, то есть [0%, 100%].

Ссылки

[1] Плоскодонная рыбачья лодка, J. и Дж. В. Хайнз. «Определение оптимальных прогностических параметров на основе подхода к генетическим алгоритмам». В материалах ежегодной конференции Общества по прогностике и управлению здравоохранением. 2009.

[2] Кобл, J. «Объединение источников данных для прогнозирования оставшегося срока службы - автоматизированный метод определения прогностических параметров». Доктор философии. Дипломная работа. Университет Теннесси, Ноксвилл, TN, 2010.

[3] Lei, Y. Интеллектуальная диагностика неисправностей и прогнозирование оставшегося срока службы вращающегося оборудования. Сиань, Китай: Сианьский университет Цзяотун Пресс, 2017.

[4] Лофти, С., Дж. Б. Али, Э. Беххёфер и М. Бенбузид. «Прогноз здоровья высокоскоростных подшипников валов ветротурбин через спектральные показатели Куртоза и СВР». Прикладная акустика том 120, 2017, стр. 1-8.

Представлен в R2018b