fit

Оцените параметры остающейся модели срока полезного использования, использующей исторические данные

Описание

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(TestBatteryLoad,TestAmbientTemperature,"B",'RowTimes',hours(30));
TestData.Properties.VariableNames = {'Temperature','Load','Manufacturer'};
TestData.Properties.DimensionNames{1} = 'DischargeTime';

Предскажите RUL для батареи.

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

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

plot(mdl,TestData)

Входные параметры

свернуть все

Остающаяся модель предсказания срока полезного использования в виде одной из этих моделей. fit обновляет параметры этой модели с помощью исторических данных в data.

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

Для получения дополнительной информации о различных типах модели и когда использовать их, см. Модели для Предсказания Остающегося Срока полезного использования.

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

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

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

Модель ухудшения

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

  • Массивы 2D столбца, где каждая строка содержит время использования в первом столбце и соответствующее измерение функции во втором столбце. В этом случае столбец времени использования должен содержать числовые значения; то есть, это не может использовать, например, 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 isa:

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

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

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

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

fit хранилища lifeTimeVariable в LifeTimeVariable свойство модели.

Покажите переменные данных в виде массива строк или массива строк. Если data isa:

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

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

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

Если data :

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

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

fit хранилища dataVariables в DataVariables свойство модели.

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

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

fit хранилища censorVariable в CensorVariable свойство модели.

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

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

fit хранилища encodedVariables в EncodedVariables свойство модели.

Введенный в R2018a