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] Chakraborty, S., N. Gebraeel, M. Lawley, and H. Wan. Оценка остаточного срока службы для компонентов с несимметричными априорными свойствами. Транзакции IIE. Том 41, № 4, 2009, стр. 372-387.

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

.
Введенный в R2018a