exponenta event banner

linearDegradationModel

Линейная модель деградации для оценки остаточного срока службы

Описание

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

Конфигурирование linearDegradationModel объект для определенного типа компонента, можно:

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

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

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

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

Создание

Описание

пример

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

пример

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

Свойства

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Theta - Среднее значение параметра уклона

  • ThetaVariance - Отклонение параметра уклона

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

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

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

  • Использование restart функция. В этом случае текущие значения Theta и ThetaVariance копируются в соответствующие поля 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('linTrainVectors.mat')

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

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

mdl = linearDegradationModel;

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

fit(mdl,linTrainVectors)

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

mdl = linearDegradationModel('Theta',0.25,'ThetaVariance',0.002);

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

mdl.Prior
ans = struct with fields:
            Theta: 0.2500
    ThetaVariance: 0.0020

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

mdl.ThetaVariance
ans = 0.0020

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

load('linTrainTables.mat')

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

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

mdl = linearDegradationModel;

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

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

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

load('linTrainTables.mat')

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

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

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

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

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

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

load('linTestData.mat','linTestData1')

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

threshold = 60;

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

estRUL = predictRUL(mdl,linTestData1(48,:),threshold)
estRUL = duration
   112.64 hr

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

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

load('linTestData.mat','linTestData1')

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

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

threshold = 60;

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

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

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

for i=1:50
    update(mdl,linTestData1(i,:));
end

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

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

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

Алгоритмы

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

Ссылки

[1] Чакраборти, С., Н. Гебраил, М. Лоули и Х. Ван. «Оценка остаточного срока службы для компонентов с несимметричными приорами». Транзакции IIE. Том 41, номер 4, 2009, стр. 372-387.

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

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