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 объект.

Свойства

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

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

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

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

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

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

  • "binary" — Бинарное кодирование

Можно задать 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

Для просмотра документации необходимо авторизоваться на сайте