covariateSurvivalModel

Пропорциональная модель выживания опасности для оценки остающегося срока полезного использования

Описание

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

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

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

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

Создание

Синтаксис

mdl = covariateSurvivalModel
mdl = covariateSurvivalModel(initModel)
mdl = covariateSurvivalModel(___,Name,Value)

Описание

пример

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

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

пример

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

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

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

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

Свойства

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

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

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

Для получения дополнительной информации о модели выживания см. Пропорциональную Модель Выживания Опасности.

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

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

  • двоичный файл Бинарное кодирование

Можно задать EncodingMethod:

  • Используя пару "имя-значение", когда вы создаете модель

  • Используя запись через точку после образцового создания

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

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

Можно задать Standardize:

  • Используя пару "имя-значение", когда вы создаете модель

  • Используя запись через точку после образцового создания

Метод для обработки связанных времен отказа, заданных или как "breslow" или как "efron". Для получения дополнительной информации об этих методах смотрите Cox Пропорциональная Модель Опасностей (Statistics and Machine Learning Toolbox).

Можно задать Ties:

  • Используя пару "имя-значение", когда вы создаете модель

  • Используя запись через точку после образцового создания

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

Можно задать Options:

  • Используя пару "имя-значение", когда вы создаете модель

  • Используя запись через точку после образцового создания

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

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

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

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

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

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

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

Переменная Censor, заданная как строка, которая содержит допустимое имя переменной 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)

Загрузите данные тренировки.

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)

Алгоритмы

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

Введенный в R2018a