hashSimilarityModel

Модель подобия хешированной функции для оценки остающегося срока полезного использования

Описание

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

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

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

Создание

Описание

пример

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

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

пример

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

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

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

Модель подобия хешированной функции, заданная как hashSimilarityModel объект.

Свойства

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

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

Хешированные значения функции сгенерированы fit функция, заданная как N-by-M массив, где M является количеством членов ансамбля и N, является количеством хешированных функций. HashTable(i,j) содержит хешированное значение функции jфункция th вычисляется для iэлемент данных th.

Чтобы задать метод для вычисления хешированных функций, используйте Method свойство модели.

Точки останова для разделения исторических данных в несколько режимов, заданных как вектор-строка из двойных значений, duration объекты или datetime объекты. Вектор-строка из точек останова должен:

  • Будьте в увеличивающемся порядке

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

Чтобы использовать один режим, задайте RegimeSplit как [].

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

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

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

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

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

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

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

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

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

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

Хешированный метод расчета функции, заданный как одно из следующего:

  • "minmaxstd" — Извлеките минимум, максимум и стандартное отклонение данных. Эта опция не использует наблюдения, которые содержат NaN. Когда вы используете этот метод, HashTable M-by-3, где M является количеством членов ансамбля.

  • Указатель на функцию — Использование пользовательская функция, которая берет данные об ухудшении в качестве вектор-столбца, table, или timetable, и возвращает вектор-строку из функций. Например:

    mdl.Method = @(x) [mean(x),std(x),kurtosis(x),median(x)]

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

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

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

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

  • "euclidian" — Используйте 2-норму различия между векторами хеша.

  • "absolute" — Используйте 1 норму различия между векторами хеша.

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

    D = distanceFunction(xTest,xEnsemble)

    Здесь,

    • xTest вектор-столбец длины N, который содержит хешированные функции компонента теста, где N является количеством хешированных функций.

    • xEnsemble M-by-N, массив компонента ансамбля хешировал функции, где M является количеством компонентов ансамбля. xEnsemble(i,:) содержит хешированные функции iчлен ансамбля th.

    • D вектор-строка из длины M, где D(i) расстояние между тестовым характеристическим вектором и характеристическим вектором iчлен ансамбля th.

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

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

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

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

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

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

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

Отметьте для стандартизации данных о функции прежде, чем сгенерировать хешированные функции, заданные как true или false. Когда Standardize true, данные о функции стандартизированы таким образом, которые показывают X становится (X-mean(X))/std(X).

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Отметьте для использования параллельных вычислений для генерации хэш-таблицы fit функция, заданная как любой true или false.

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

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

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

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

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

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

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

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

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

Примеры

свернуть все

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

load('hashTrainVectors.mat')

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

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

mdl = hashSimilarityModel;

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

fit(mdl,hashTrainVectors)

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

load('hashTrainTables.mat')

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

Создайте модель подобия хеша, которая использует следующие значения в качестве хешированных функций:

mdl = hashSimilarityModel('Method',@(x) [mean(x),std(x),kurtosis(x),median(x)]);

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

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

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

load('hashTrainTables.mat')

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

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

  • Среднее значение

  • Стандартное отклонение

  • Эксцесс

  • Медиана

mdl = hashSimilarityModel('Method',@(x) [mean(x),std(x),kurtosis(x),median(x)],...
                          'LifeTimeUnit',"hours");

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

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

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

load('hashTestData.mat')

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

estRUL = predictRUL(mdl,hashTestData)
estRUL = duration
   175.69 hr

Предполагаемый RUL для компонента составляет приблизительно 176 часов.

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

Введенный в R2018a

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