residualSimilarityModel

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

Описание

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

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

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

Создание

Описание

пример

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

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

пример

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

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

развернуть все

Остаточная основанная на сравнении модель подобия в виде a 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