exponenta event banner

residualSimilarityModel

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

Описание

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

Конфигурирование 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"при + b

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

"poly2"at2 + bt + c

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

"poly3"at3 + bt2 + ct + d

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

"exp1"aebt + c

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

"exp2"aebt + cedt

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

"arma2"

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

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

где

  • A (q) = [1 a1q-1 a2q-2]

  • C (q) = [1 c1q-1]

  • S (t) - признак деградации

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

  • A - Вектор строки [1 a1 a2]

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

"arma3"Аналогично "arma2", но с A (q) третьего порядка и C (q) второго порядка

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

  • A - Вектор строки [1 a1 a2 a2]

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

"arima2"

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

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

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

  • A - Вектор строки [1 a1 a2]

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

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

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

  • A - Вектор строки [1 a1 a2 a2]

  • C - Вектор строки [1 с1 с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