linearDegradationModel

Линейная модель ухудшения для оценки остающегося срока полезного использования

Описание

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

Сконфигурировать a 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
   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] Chakraborty, S., Н. Джебрэил, М. Лоли и Х. Вань. "Оценка остаточной жизни для Компонентов с Несимметричным Уголовным прошлым". Транзакции IIE. Издание 41, Номер 4, 2009, стр 372–387.

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

Введенный в R2018a