residualSimilarityModel

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

Описание

Использовать residualSimilarityModel для оценки оставшегося срока службы (RUL) компонента с помощью модели подобия, основанной на остаточном сравнении. Эта модель полезна, когда у вас есть профили деградации для ансамбля подобных компонентов, таких как несколько машин, изготовленных по тем же спецификациям, и вы знаете динамику процесса деградации. Исторические данные по каждому представителю ансамбля данных снабжены моделью идентичной структуры. Данные о деградации тестового компонента используются для вычисления 1-шаговых ошибок предсказания или невязок для каждой модели ансамбля. Величины этих ошибок указывают, насколько тестовый компонент похож на соответствующие представителей ансамбля.

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

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

Создание

Описание

пример

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

mdl = residualSimilarityModel(initModel) создает модель подобия, основанную на остаточном сравнении, и инициализирует параметры модели, используя существующую residualSimilarityModel initModel объекта.

пример

mdl = residualSimilarityModel(___,Name,Value) задает настраиваемые пользователем свойства модели, используя пары "имя-значение". Для примера, hashSimilarityModel('LifeTimeUnit',"days") создает модель подобия на основе остаточного сравнения, которая использует дни в качестве модуля. Можно задать несколько пары "имя-значение". Заключайте каждое имя свойства в кавычки.

Входные параметры

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

Модель подобия, основанная на остаточном сравнении, заданная как residualSimilarityModel объект.

Свойства

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

Тип модели, обученной с использованием fit функция и используется для остаточной генерации, заданная как одно из следующего:

  • "linear" - Линия с термином смещения

  • "poly2" - Полином второго порядка

  • "poly3" - Полином третьего порядка

  • "exp1" - Экспоненциальный со смещенным термином

  • "exp2" - Сумма двух экспоненциалов

  • "arma2" - Модель ARMA второго порядка

  • "arma3" - Модель ARMA третьего порядка

  • "arima2" - Модель ARMA второго порядка с шумовым интегрированием

  • "arima3" - Модель ARMA третьего порядка с шумовым интегрированием

Выберите тип модели на основе знаний о динамике процесса деградации компонента.

Можно задать Method:

  • Использование пары "имя-значение" при создании модели

  • Использование записи через точку после создания модели

Для получения дополнительной информации об оценке ARMA и полиномиальных моделей см. armax и polyfit, соответственно.

Метод расчета расстояния, заданный как один из следующих:

  • "euclidian" - Используйте 2-норму остаточного сигнала.

  • "absolute" - Используйте 1-норму остаточного сигнала.

  • Указатель на функцию - Используйте пользовательскую функцию формы:

    D = distanceFunction(r)

    где,

    • r - невязка, заданная как вектор-столбец.

    • D - расстояние, возвращаемое как неотрицательный скаляр.

Можно задать Distance:

  • Использование пары "имя-значение" при создании модели

  • Использование записи через точку после создания модели

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

Параметры подобранных моделей для каждого представителя ансамбля обучающих данных, заданные как массив ячеек и присвоенные fit функция. Содержимое Models зависит от типа модели, используемой для регрессии, как указано в Method.

MethodСтруктура моделиModels Содержимое камеры
"linear"<reservedrangesplaceholder2> <reservedrangesplaceholder1> + b

Вектор-строка - [a b]

"poly2"<reservedrangesplaceholder1> <reservedrangesplaceholder0>2 + <reservedrangesplaceholder2> <reservedrangesplaceholder1> + c

Вектор-строка - [a b c]

"poly3"<reservedrangesplaceholder1> <reservedrangesplaceholder0>3 + <reservedrangesplaceholder1> <reservedrangesplaceholder0>2 + <reservedrangesplaceholder2> <reservedrangesplaceholder1> + d

Вектор-строка - [a b c d]

"exp1"<reservedrangesplaceholder1> <reservedrangesplaceholder0>bt+ c

Вектор-строка - [a b c]

"exp2"<reservedrangesplaceholder1> <reservedrangesplaceholder0>bt+ <reservedrangesplaceholder1> <reservedrangesplaceholder0>dt

Вектор-строка - [a b c d]

"arma2"

Модель ARMA второго порядка:

A(q)S(t)=C(q)e(t)

где

  • <reservedrangesplaceholder3> <reservedrangesplaceholder2>) = [1 <reservedrangesplaceholder1> 1 <reservedrangesplaceholder0>-1 <reservedrangesplaceholder1> 2 <reservedrangesplaceholder0>-2]

  • <reservedrangesplaceholder3> <reservedrangesplaceholder2>) = [1 <reservedrangesplaceholder1> 1 <reservedrangesplaceholder0>-1]

  • S( t) является деградацией функции

Структура с полями:

  • A - Вектор-строка [1 a 1 a 2]

  • C - Вектор-строка [1 c 1]

"arma3"Подобно "arma2", но с A( q) третьим порядком и C( q) вторым порядком

Структура с полями:

  • A - Вектор-строка [1 a 1 a 2 a 2]

  • C - Вектор-строка [1 c 1 c 2]

"arima2"

Подобно "arma2", но с дополнительным шумовым интегратором:

A(q)S(t)=C(q)1q1e(t)

Структура с полями:

  • A - Вектор-строка [1 a 1 a 2]

  • C - Вектор-строка [1 c 1]

"arima3"Подобно "arma3", но с дополнительным шумовым интегратором

Структура с полями:

  • A - Вектор-строка [1 a 1 a 2 a 2]

  • C - Вектор-строка [1 c 1 c 2]

Для получения дополнительной информации об оценке ARMA и полиномиальных моделей см. armax и polyfit, соответственно.

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

Средняя квадратичная невязка оценки для каждой модели в Models, заданный как вектор и назначенный fit функция.

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

Продолжительность жизни представителя ансамбля, заданная как двойной вектор или duration вектор объекта и вычисленный из профилей деградации представителей ансамбля fit функция.

Количество ближайших соседей для оценки RUL, заданное как Inf или конечное положительное целое число. Если NumNearestNeighbors является Inf, затем predictRUL использует все представителей ансамбля во время оценки.

Можно задать NumNearestNeighbors:

  • Использование пары "имя-значение" при создании модели

  • Использование записи через точку после создания модели

Флаг для включения галстуков, заданный как true или false. Когда IncludeTies является true, модель включает всех соседей, чье расстояние до данных тестового компонента меньше K-го наименьшего расстояния, где K равно NumNearestNeigbors.

Можно задать IncludeTies:

  • Использование пары "имя-значение" при создании модели

  • Использование записи через точку после создания модели

Флаг для стандартизации невязок перед вычислением расстояния, заданный как true или false.

Когда Standardize является true, невязки масштабируются обратным квадратным корнем из оценённых средних квадратичных невязок в ModelMSE.

Можно задать Standardize:

  • Использование пары "имя-значение" при создании модели

  • Использование записи через точку после создания модели

Переменная времени жизни, заданная как строка, содержащая допустимый MATLAB® имя или "" переменной.

Когда вы обучаете модель, используя fit функция, если ваши обучающие данные:

  • table, затем LifeTimeVariable должно совпадать с одним из имен переменных в таблице

  • timetable, затем LifeTimeVariable одно из имен переменных в таблице или имя размерности временной переменной, data.Properties.DimensionNames{1}

Можно задать LifeTimeVariable:

  • Использование пары "имя-значение" при создании модели

  • Как аргумент, когда вы вызываете fit функция

  • Использование записи через точку после создания модели

Переменные модули времени жизни, заданная как строка.

Модули переменной времени жизни не должны основываться на времени. Срок службы тестового компонента может быть измерен с точки зрения переменной использования, такой как пройденное расстояние (мили) или потребленное топливо (галлоны).

Имена переменных деградации, заданные как строковые или строковые массивы. Строки в DataVariables должны быть допустимыми именами переменного MATLAB.

Можно задать DataVariables:

  • Использование пары "имя-значение" при создании модели

  • Как аргумент, когда вы вызываете fit функция

  • Использование записи через точку после создания модели

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

Можно задать UseParallel:

  • Использование пары "имя-значение" при создании модели

  • Использование записи через точку после создания модели

Дополнительная информация о модели для целей бухгалтерии, заданная как любой тип данных или формат. Модель не использует эту информацию.

Можно задать UserData:

  • Использование пары "имя-значение" при создании модели

  • Использование записи через точку после создания модели

Функции объекта

predictRULОценка оставшегося срока службы для тестового компонента
fitОценка параметров оставшейся модели срока службы с использованием исторических данных
compareСравните тестовые данные с историческим ансамблем исторических данных для моделей подобия

Примеры

свернуть все

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

load('residualTrainVectors.mat')

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

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

mdl = residualSimilarityModel;

Обучите модель подобия с помощью обучающих данных.

fit(mdl,residualTrainVectors)

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

load('residualTrainTables.mat')

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

Создайте модель остаточного подобия, которая подбирает данные с помощью модели ARMA третьего порядка и использует метрику абсолютного расстояния.

mdl = residualSimilarityModel('Method',"arma3",'Distance',"absolute");

Обучите модель подобия с помощью обучающих данных. Задайте имена переменных времени жизни и данных.

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

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

load('residualTrainTables.mat')

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

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

mdl = residualSimilarityModel('Method',"arma3",'LifeTimeUnit',"hours");

Обучите модель подобия с помощью обучающих данных. Задайте имена переменных времени жизни и данных.

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

Загрузите данные проверки. Тестовые данные содержат измерения функций деградации для тестового компонента до текущего времени жизни.

load('residualTestData.mat')

Спрогнозируйте RUL тестового компонента, используя обученную модель подобия.

estRUL = predictRUL(mdl,residualTestData)
estRUL = duration
   85.73 hr

Оценка RUL для компонента составляет около 86 часов.

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

Введенный в R2018a