exponentialDegradationModel

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

Описание

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

Как сконфигурировать exponentialDegradationModel Объект для определенного типа компонента можно:

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

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

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

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

Создание

Описание

пример

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

пример

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

Свойства

расширить все

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

Среднее значение тока параметра θ в модели деградации, заданное как скаляр. Для получения дополнительной информации о модели деградации см. «Экспоненциальная модель деградации».

Можно задать Theta используя аргумент пары "имя-значение", когда вы:

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

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

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

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

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

Можно задать 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 - Корреляция между θ и β.

Можно задать поля 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] Гебраил, Наги. Sensory-Updated Restual Life Distributions for Components with Exponential Degradation Patterns (неопр.) (недоступные шаблоны) Транзакции IEEE по автоматизации науки и техники. Том 3, № 4, 2006, стр. 382-393.

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

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