exponenta event banner

подгонка

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

Описание

fit функция оценивает параметры модели прогнозирования оставшегося срока полезного использования (RUL), используя исторические данные относительно работоспособности ансамбля сходных компонентов, таких как множество машин, изготовленных в соответствии с одинаковыми спецификациями. В зависимости от типа модели, исторические данные о состоянии задаются как набор измерений продолжительности жизни или профилей деградации. После оценки параметров модели можно прогнозировать оставшийся срок службы аналогичных компонентов с помощью predictRUL функция.

Используя fit, можно настроить параметры для следующих типов моделей оценки:

  • Модели деградации

  • Модели выживания

  • Модели подобия

Базовый пример, иллюстрирующий прогнозирование RUL, см. в разделе Обновление прогнозирования RUL по мере поступления данных.

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

пример

fit(mdl,data) подходит под параметры оставшейся модели срока службы mdl использование исторических данных в data. Этот синтаксис применяется только в том случае, если data не содержит table или timetable данные.

пример

fit(mdl,data,lifeTimeVariable) соответствует параметрам mdl использование переменной времени lifeTimeVariable и устанавливает LifeTimeVariable имущество mdl. Этот синтаксис применяется только в том случае, если data содержит:

  • Нетабулярные данные

  • Табличные данные и mdl не использует переменные данных

fit(mdl,data,lifeTimeVariable,dataVariables) соответствует параметрам mdl использование переменных данных в dataVariables и устанавливает DataVariables имущество mdl.

пример

fit(mdl,data,lifeTimeVariable,dataVariables,censorVariable) задает переменную цензора для модели выживания и задает CensorVariable имущество mdl. Переменная цензора указывает, какие измерения времени жизни в data не являются ценностями с окончанием срока службы. Этот синтаксис применяется только в том случае, если mdl является моделью выживания и data содержит табличные данные.

пример

fit(mdl,data,lifeTimeVariable,dataVariables,censorVariable,encodedVariables) задает кодированные переменные для ковариатной модели выживания и устанавливает EncodedVariables имущество mdl. Закодированные переменные обычно не являются числовыми категориальными признаками, которые fit преобразует в числовые векторы перед подгонкой. Этот синтаксис применяется только в том случае, если mdl является covariateSurvivalModel объект и data содержит табличные данные.

Примеры

свернуть все

Загрузить данные обучения.

load('linTrainVectors.mat')

Обучающие данные представляют собой клеточный массив векторов столбцов. Каждый вектор столбца является профилем элемента деградации для компонента.

Создайте модель линейной деградации с настройками по умолчанию.

mdl = linearDegradationModel;

Обучение модели деградации с использованием данных обучения.

fit(mdl,linTrainVectors)

Загрузить данные обучения.

load('reliabilityData.mat')

Эти данные являются вектором столбца duration объекты, представляющие время разряда батареи.

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

mdl = reliabilitySurvivalModel;

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

fit(mdl,reliabilityData,"hours")

Загрузить данные обучения.

load('hashTrainTables.mat')

Данные обучения представляют собой массив ячеек таблиц. Каждая таблица является профилем элемента деградации для компонента. Каждый профиль состоит из измерений срока службы в "Time" измерения переменных и соответствующих признаков деградации в "Condition" переменная.

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

mdl = hashSimilarityModel('Method',@(x) [mean(x),std(x),kurtosis(x),median(x)]);

Обучение модели подобия с использованием данных обучения. Укажите имена переменных времени жизни и данных.

fit(mdl,hashTrainTables,"Time","Condition")

Загрузить данные обучения.

load('covariateData.mat')

Эти данные содержат время разряда батареи и соответствующую ковариатную информацию. Ковариатные переменные:

  • Температура

  • Груз

  • Производитель

Информация об изготовителе является категориальной переменной, которая должна быть закодирована.

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

mdl = covariateSurvivalModel('LifeTimeVariable',"DischargeTime",'LifeTimeUnit',"hours",...
   'DataVariables',["Temperature","Load","Manufacturer"],'EncodedVariables',"Manufacturer");
fit(mdl,covariateData)
Successful convergence: Norm of gradient less than OPTIONS.TolFun

Предположим, что у вас есть батарейный блок производства производителя B который был запущен для 30 часов. Создайте таблицу тестовых данных, содержащую время использования. DischargeTimeи измеренную температуру окружающей среды, TestAmbientTemperature, и нарисованный ток, TestBatteryLoad.

TestBatteryLoad = 25;
TestAmbientTemperature = 60; 
DischargeTime = hours(30);
TestData = timetable(TestAmbientTemperature,TestBatteryLoad,"B",'RowTimes',hours(30));
TestData.Properties.VariableNames = {'Temperature','Load','Manufacturer'};
TestData.Properties.DimensionNames{1} = 'DischargeTime';

Спрогнозировать значение RUL для батареи.

estRUL = predictRUL(mdl,TestData)
estRUL = duration
   38.337 hr

Постройте график функции выживания для ковариатных данных батареи.

plot(mdl,TestData)

Figure contains an axes. The axes with title Survival Function Plot contains 2 objects of type stair. These objects represent Baseline Survival Function, Current Survival Function.

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

свернуть все

Модель прогнозирования оставшегося срока службы, указанная как одна из этих моделей. fit обновляет параметры этой модели, используя исторические данные в data.

Группы моделей RULМодель прогнозирования
Модели деградацииlinearDegradationModel
exponentialDegradationModel
Модели выживанияreliabilitySurvivalModel
covariateSurvivalModel
Модели подобияhashSimilarityModel
pairwiseSimilarityModel
residualSimilarityModel

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

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

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

Формат data зависит от типа модели RUL, указанной в mdl.

Модель деградации

Если mdl является linearDegradationModel или exponentialDegradationModel, указать data в виде массива ячеек профилей деградации компонентов. Каждый элемент массива ячеек содержит профиль функции деградации в течение всего срока службы одного компонента. Для модели может существовать только один элемент деградации. Можно указать data как массив ячеек из:

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

  • table объекты. Выберите переменную из таблицы, содержащей профиль деградации элемента, используя dataVariablesи выберите переменную времени использования, если она присутствует, используя lifeTimeVariable.

  • timetable объекты. Выберите переменную из таблицы, содержащей профиль деградации элемента, используя dataVariablesи выберите переменную времени использования с помощью lifeTimeVariable.

Модель выживания

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

  • Столбчатый вектор измерений срока службы - этот случай применяется только в том случае, если mdl является reliabilitySurvivalModel.

  • Массив - первый столбец содержит измерения срока службы, а остальные столбцы содержат ковариатные значения. Этот случай применяется только в том случае, если mdl является covariateSurvivalModel.

  • table или timetable - В этом случае выберите переменную из таблицы, которая содержит измерения срока службы, используя lifeTimeVariable. Для ковариатных моделей выживания выберите ковариатные переменные, используя dataVariables. Для моделей выживания надежности, fit игнорирует dataVariables.

По умолчанию fit предполагает, что все измерения срока службы являются значениями окончания срока службы. Чтобы указать, что измерение срока службы не является значением окончания срока службы, используйте цензуру. Для этого укажите data в качестве table или timetable содержит переменную цензора. Переменная цензора является двоичной переменной, которая 1 когда соответствующее измерение срока службы не является значением окончания срока службы. Выберите переменную цензора с помощью censorVariable.

Модель подобия

Если mdl является hashSimilarityModel, pairwiseSimilarityModel, или residualSimilarityModel, указать data как массив ячеек профилей деградации. Каждый элемент массива ячеек содержит профили признаков деградации в течение всего срока службы одного компонента. Для моделей подобия можно указать несколько элементов деградации, где каждый элемент является индикатором работоспособности компонента. Можно указать data как массив ячеек из:

  • N-by- (Mi + 1) массивы, где N - количество измерений характеристик (в разное время использования), а Mi - количество характеристик. Первый столбец содержит время использования, а остальные столбцы содержат соответствующие измерения для признаков деградации.

  • table объекты. Выберите переменные из таблицы, содержащие профили деградации элементов, используя dataVariablesи выберите соответствующую переменную времени использования, если она присутствует, используя lifeTimeVariable.

  • timetable объекты. Выберите переменные из таблицы, содержащие профили деградации элементов, используя dataVariablesи выберите соответствующую переменную времени использования с помощью lifeTimeVariable.

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

Переменная времени жизни, заданная как строка. Если data является:

  • table, то lifeTimeVariable должно соответствовать одному из имен переменных в таблице.

  • timetable, то lifeTimeVariable одно из имен переменных в таблице или имя измерения переменной времени, data.Properties.DimensionNames{1}.

table или timetable, то lifeTimeVariable должно соответствовать одному из имен переменных в таблице. Если в таблице нет переменной времени жизни или если data нетабулярно, то можно опустить lifeTimeVariable.

lifeTimeVariable должно быть "" или допустимое имя переменной MATLAB ® и не должно совпадать ни с одной из строк вdataVariables.

fit магазины lifeTimeVariable в LifeTimeVariable свойство модели.

Переменные данных элемента, указанные как строковый или строковый массив. Если data является:

  • Модель деградации, затем dataVariables должен быть строкой

  • Модель подобия или ковариатная модель выживания, затем dataVariables должен быть строковым массивом

  • Модель выживания надежности, затем fit игнорирует dataVariables

Если data является:

  • A table или timetable, затем строки в dataVariables должны соответствовать именам переменных в таблице.

  • Нетабулярный, затем dataVariables должно быть "" или содержать то же количество строк, что и столбцы данных в data. Строки в dataVariables должны быть допустимыми именами переменных MATLAB.

fit магазины dataVariables в DataVariables свойство модели.

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

При указании censorVariable, строка должна соответствовать одному из имен переменных в data и не должны совпадать ни с одной из строк в dataVariables или lifeTimeVariable.

fit магазины censorVariable в CensorVariable свойство модели.

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

Строки в encodedVariables должен быть подмножеством строк в dataVariables.

fit магазины encodedVariables в EncodedVariables свойство модели.

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