exponenta event banner

exponentialDegradationModel

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

Описание

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

Настройка exponentialDegradationModel объект для определенного типа компонента, можно:

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

  • Укажите параметры модели при создании модели на основе знаний о процессе деградации компонентов.

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

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

Создание

Описание

пример

mdl = exponentialDegradationModel создает экспоненциальную модель ухудшения для оценки RUL и инициализирует модель с настройками по умолчанию.

пример

mdl = exponentialDegradationModel(Name,Value) задает настраиваемые пользователем свойства модели с помощью пар имя-значение. Например, exponentialDegradationModel('NoiseVariance',0.5) создает экспоненциальную модель ухудшения с дисперсией шума модели 0.5. Можно указать несколько пар имя-значение. Заключите каждое имя свойства в кавычки.

Свойства

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

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

Текущее среднее значение параметра startв модели деградации, указанное как скаляр. Дополнительные сведения о модели деградации см. в разделе Экспоненциальная модель деградации.

Можно указать Theta использование аргумента пары «имя-значение» при выполнении следующих действий:

  • Создайте модель.

  • Сбросьте модель с помощью restart функция.

В противном случае значение Theta изменения при использовании update функция.

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

Текущая дисперсия параметра startв модели деградации, заданная как неотрицательный скаляр. Дополнительные сведения о модели деградации см. в разделе Экспоненциальная модель деградации.

Можно указать ThetaVariance использование аргумента пары «имя-значение» при выполнении следующих действий:

  • Создайте модель.

  • Сбросьте модель с помощью restart функция.

В противном случае значение ThetaVariance изменения при использовании update функция.

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

Текущее среднее значение параметра β в модели деградации, указанное как скаляр. Дополнительные сведения о модели деградации см. в разделе Экспоненциальная модель деградации.

Можно указать Beta использование аргумента пары «имя-значение» при выполнении следующих действий:

  • Создайте модель.

  • Сбросьте модель с помощью restart функция.

В противном случае значение Beta изменения при использовании update функция.

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

Текущая дисперсия параметра β в модели деградации, заданная как неотрицательный скаляр. Дополнительные сведения о модели деградации см. в разделе Экспоненциальная модель деградации.

Можно указать BetaVariance использование аргумента пары «имя-значение» при выполнении следующих действий:

  • Создайте модель.

  • Сбросьте модель с помощью restart функция.

В противном случае значение BetaVariance изменения при использовании update функция.

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

Текущая корреляция, заданная как скалярное значение в диапазоне [-1,1]. Дополнительные сведения о модели деградации см. в разделе Экспоненциальная модель деградации.

Можно указать Rho использование аргумента пары «имя-значение» при выполнении следующих действий:

  • Создайте модель.

  • Сбросьте модель с помощью restart функция.

В противном случае значение Rho изменения при использовании update функция.

Текущее значение перехвата в модели деградации, указанное как скаляр. Дополнительные сведения о модели деградации см. в разделе Экспоненциальная модель деградации.

Можно указать Phi использование аргумента пара имя-значение при создании модели. В противном случае значение Phi изменения при оценке модели до использования fit функция.

Предшествующая информация о параметрах модели, заданная как структура со следующими полями:

  • Theta - Среднее значение λ

  • ThetaVariance - Дисперсия

  • Beta - Среднее значение β

  • BetaVariance - Дисперсия β

  • Rho - Корреляция между startи β.

Можно указать поля Prior:

  • При создании модели. При указании Theta, ThetaVariance, Beta, BetaVariance, или Rho при создании модели с использованием пар имя-значение, соответствующее поле Prior также устанавливается.

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

  • Использование restart функция. В этом случае текущие значения Theta, ThetaVariance, Beta, BetaVariance, и Rho копируются в соответствующие поля Prior.

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

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

Дисперсию аддитивного шума в модели деградации, заданную как неотрицательный скаляр. Дополнительные сведения о модели деградации см. в разделе Экспоненциальная модель деградации.

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

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

  • Использование пары имя-значение с restart функция

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

Уровень обнаружения наклона для определения начала процесса деградации, заданный как скаляр в диапазоне [0,1]. Это значение соответствует альфа-значению в t-тесте значимости наклона.

Для отключения теста обнаружения уклона установите SlopeDetectionLevel кому [].

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

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

  • Использование пары имя-значение с restart функция

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

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

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

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

Последнее значение элемента ухудшения, предоставленное update функция, заданная как скаляр.

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

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

Когда модель обнаруживает уклон, InitialLifeTime значение изменяется в соответствии с SlopeDetectionInstant значение.

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

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

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

При обучении модели с помощью fit функция, если данные обучения:

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

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

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

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

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

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

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

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

Имя переменной деградации, указанное как строка, содержащая допустимое имя переменной MATLAB. Модели деградации имеют только одну переменную данных.

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

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

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

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

Флаг для использования параллельных вычислений при подборе предыдущих значений из данных, указанный как true или false.

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

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

  • Использование пары имя-значение с restart функция

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

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

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

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

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

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

fitОценка параметров модели остаточного срока службы с использованием исторических данных
predictRULОценка остаточного срока службы испытательного компонента
updateОбновление апостериорного распределения параметров модели остаточного срока службы
restartСбросить оставшуюся модель ухудшения срока службы

Примеры

свернуть все

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

load('expTrainVectors.mat')

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

Создайте экспоненциальную модель деградации с настройками по умолчанию.

mdl = exponentialDegradationModel;

Обучение модели деградации с использованием данных обучения.

fit(mdl,expTrainVectors)

Создайте экспоненциальную модель деградации и настройте ее с известным ранее распределением.

mdl = exponentialDegradationModel('Theta',0.5,'ThetaVariance',0.003,...
                                  'Beta',0.3,'BetaVariance',0.002,...
                                  'Rho',0.1);

Указанные ранее параметры распределения хранятся в Prior свойство модели.

mdl.Prior
ans = struct with fields:
            Theta: 0.5000
    ThetaVariance: 0.0030
             Beta: 0.3000
     BetaVariance: 0.0020
              Rho: 0.1000

Текущее апостериорное распределение модели также устанавливается в соответствии с указанным предыдущим распределением. Например, проверьте заднее значение параметра корреляции.

mdl.Rho 
ans = 0.1000

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

load('expTrainTables.mat')

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

Создайте экспоненциальную модель деградации с настройками по умолчанию.

mdl = exponentialDegradationModel;

Обучение модели деградации с использованием данных обучения. Укажите имена переменных времени жизни и данных.

fit(mdl,expTrainTables,"Time","Condition")

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

load('expTrainTables.mat')

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

Создайте экспоненциальную модель ухудшения, задав единицы измерения переменных времени жизни.

mdl = exponentialDegradationModel('LifeTimeUnit',"hours");

Обучение модели деградации с использованием данных обучения. Укажите имена переменных времени жизни и данных.

fit(mdl,expTrainTables,"Time","Condition")

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

load('expTestData.mat')

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

threshold = 500;

Предположим, что индикатор условия компонента измеряется каждый час в течение 150 часов. Обновление обучаемой модели деградации с каждым измерением. Затем прогнозируют оставшийся срок службы компонента в течение 150 часов. Значение RUL - это прогнозируемое время, в течение которого функция ухудшения состояния будет проходить заданное пороговое значение.

for t = 1:150 
 update(mdl,expTestData(t,:)) 
end 
estRUL = predictRUL(mdl,threshold) 
estRUL = duration
   136.45 hr

Предполагаемый RUL составляет около 137 часов, что указывает на общую прогнозируемую продолжительность жизни 287 часов.

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

load('expTestData.mat')

В этом примере предположим, что данные обучения являются не историческими данными, а наблюдениями состояния компонента в реальном времени.

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

threshold = 500;

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

mdl = exponentialDegradationModel('Theta',1,'ThetaVariance',1e6,...
                                  'Beta',1,'BetaVariance',1e6,...
                                  'NoiseVariance',0.003,...
                                  'LifeTimeVariable',"Time",'DataVariables',"Condition",...
                                  'LifeTimeUnit',"hours");

Наблюдать за состоянием компонента для 100 часов, обновление модели деградации после каждого наблюдения.

for i=1:100
    update(mdl,expTestData(i,:));
end

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

estRUL = predictRUL(mdl,threshold)
estRUL = duration
   221.38 hr

Предполагаемый RUL составляет около 234 часов, что указывает на общую прогнозируемую продолжительность жизни 334 часов.

Алгоритмы

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

Ссылки

[1] Гебреэль, Наги. «Сенсорно-обновленные распределения остаточного срока службы для компонентов с экспоненциальными шаблонами деградации». Сделки IEEE по автоматизации науки и инженерии. Том 3, номер 4, 2006, стр. 382-393.

Расширенные возможности

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