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" — Модель 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 isinf, затем 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

Для просмотра документации необходимо авторизоваться на сайте