exponenta event banner

covariateSurvivalModel

Модель выживания с пропорциональной опасностью для оценки остаточного срока службы

Описание

Использовать covariateSurvivalModel для оценки оставшегося срока службы (RUL) компонента с использованием пропорциональной модели выживания от опасности. Эта модель описывает вероятность выживания тестируемого компонента, используя историческую информацию о продолжительности жизни компонентов и связанных ковариат. Ковариаты представляют собой переменные окружающей среды или объясняющие переменные, такие как производитель компонентов или условия эксплуатации. Ковариатные модели выживания полезны, когда единственными имеющимися данными являются время отказа и связанные ковариаты для совокупности сходных компонентов, таких как несколько машин, изготовленных в соответствии с одинаковыми спецификациями. Дополнительные сведения о модели выживания см. в разделе Модель выживания с пропорциональным риском.

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

Если у вас есть только измерения продолжительности жизни и у вас нет ковариационной информации, используйте reliabilitySurvivalModel.

Общие сведения о прогнозировании оставшегося срока полезного использования см. в разделе Модели прогнозирования оставшегося срока полезного использования.

Создание

Описание

пример

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

mdl = covariateSurvivalModel(initModel) создает ковариатную модель выживания и инициализирует параметры модели с использованием существующего covariateSurvivalModel объект initModel.

пример

mdl = covariateSurvivalModel(___,Name,Value) задает настраиваемые пользователем свойства модели с помощью пар имя-значение. Например, covariateSurvivalModel('LifeTimeUnit',"days") создает ковариатную модель выживания с использованием дней в качестве пожизненной единицы. Можно указать несколько пар имя-значение. Заключите каждое имя свойства в кавычки.

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

развернуть все

Ковариатная модель выживания, указанная как covariateSurvivalModel объект.

Свойства

развернуть все

Это свойство доступно только для чтения.

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

Дополнительные сведения о модели выживания см. в разделе Модель выживания с пропорциональным риском.

Метод кодирования для категориальных функций в EncodedVariables, указано как одно из следующих:

  • "dummy" - Для категориальной функции с N категориями кодируйте переменную с помощью (N - 1) битов.

  • "binary" - Двоичная кодировка

Можно указать EncodingMethod:

  • Использование пары имя-значение при создании модели

  • Использование точечной нотации после создания модели

Флаг стандартизации ковариатных элементов при вычислении параметров регрессии Кокса, заданный как логическое значение. Когда Standardize является true, числовые ковариатные переменные стандартизированы так, что ковариатные X становится (X-mean(X))/std(X).

Стандартизация не влияет на кодированные категориальные переменные.

Можно указать Standardize:

  • Использование пары имя-значение при создании модели

  • Использование точечной нотации после создания модели

Метод обработки времени связанного отказа, указанный как "breslow" или "efron". Дополнительные сведения об этих методах см. в разделе Модель пропорциональных рисков Кокса.

Можно указать Ties:

  • Использование пары имя-значение при создании модели

  • Использование точечной нотации после создания модели

Числовые и графические параметры регрессии Кокса, заданные как структура, созданная с помощью statset('coxphfit'). Можно изменить опции в структуре с помощью точечных обозначений.

Можно указать Options:

  • Использование пары имя-значение при создании модели

  • Использование точечной нотации после создания модели

Это свойство доступно только для чтения.

Ковариатные коэффициенты умножения модели выживания, определенные как скаляр и оцененные fit функция. Дополнительные сведения о модели выживания см. в разделе Модель выживания с пропорциональным риском.

Это свойство доступно только для чтения.

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

Это свойство доступно только для чтения.

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

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

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

CensorVariable не должны соответствовать ни одной из строк в DataVariables или LifeTimeVariable.

Можно указать CensorVariable:

  • Использование пары имя-значение при создании модели

  • В качестве аргумента при вызове fit функция

  • Использование точечной нотации после создания модели

Переменная времени жизни, заданная как строка, содержащая допустимое имя переменной MATLAB. Для моделей выживания переменная срока службы содержит исторические измерения срока службы компонентов.

Можно указать LifeTimeVariable:

  • Использование пары имя-значение при создании модели

  • В качестве аргумента при вызове fit функция

  • Использование точечной нотации вручную

Единицы переменной времени жизни, указанные как строка.

Единицы переменной времени жизни не обязательно должны основываться на времени. Срок службы испытуемого компонента может быть измерен с помощью переменной использования, такой как пройденное расстояние (мили) или потребляемое топливо (галлоны).

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

Можно указать DataVariables:

  • Использование пары имя-значение при создании модели

  • В качестве аргумента при вызове fit функция

  • Использование точечной нотации после создания модели

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

Чтобы указать метод кодирования, используйте EncodingMethod.

Можно указать EncodedVariables:

  • Использование пары имя-значение при создании модели

  • В качестве аргумента при вызове fit функция

  • Использование точечной нотации после создания модели

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

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

Можно указать UserData:

  • Использование пары имя-значение при создании модели

  • Использование точечной нотации после создания модели

Функции объекта

predictRULОценка остаточного срока службы испытательного компонента
fitОценка параметров модели остаточного срока службы с использованием исторических данных
plotПостройте график функции выживания для ковариатной модели оставшегося срока службы

Примеры

свернуть все

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

load('covariateData.mat')

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

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

  • Груз

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

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

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

mdl = covariateSurvivalModel;

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

fit(mdl,covariateData,"DischargeTime",["Temperature","Load","Manufacturer"],[],"Manufacturer")
Successful convergence: Norm of gradient less than OPTIONS.TolFun

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

plot(mdl)

Figure contains an axes. The axes with title Survival Function Plot contains an object of type stair. This object represents Baseline Survival Function.

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

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.

Алгоритмы

развернуть все

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