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 и представление кодированного порядка битов.

Переменная 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)

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