residualSimilarityModel

Остаточная основанная на сравнении модель подобия для оценки остающегося срока полезного использования

Описание

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

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

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

Создание

Синтаксис

mdl = residualSimilarityModel
mdl = residualSimilarityModel(initModel)
mdl = residualSimilarityModel(___,Name,Value)

Описание

пример

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" — Модель Third-order ARMA

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

  • "arima3" — Модель Third-order ARMA с шумовым интегрированием

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

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

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

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

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

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

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

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

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

    D = distanceFunction(r)

    где,

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

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

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

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

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

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

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

MethodОбразцовая структураСодержимое ячейки Models
"linear"a t + b

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

"poly2"a t 2 + b t + c

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

"poly3"a t 3 + b t 2 + c t + d

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

"exp1"a e b t +c

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

"exp2"a e b t +cedt

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

"arma2"

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

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

где

  • A( q) = [1 a 1q-1 a 2q-2]

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

  • t S(), функция ухудшения

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

  • 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 th наименьшее расстояние, где K равен NumNearestNeigbors.

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

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

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

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

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

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

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

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

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

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

  • 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