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 функция, если ваши обучающие данные a:

  • 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
   113.5 hr

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

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

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 о 60 часы, который указывает на общую предсказанную продолжительность жизни 110 часы.

Алгоритмы

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

Ссылки

[1] Chakraborty, S., Н. Джебрэил, М. Лоли и Х. Вань. "Оценка остаточной жизни для Компонентов с Несимметричным Уголовным прошлым". Транзакции IIE. Издание 41, Номер 4, 2009, стр 372–387.

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

Введенный в R2018a

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