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третья функция, вычисленный для i1ним представителем данных.

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

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

  • Быть в порядке возрастания

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

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

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

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

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

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

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

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

Количество ближайших соседей для оценки RUL, заданное как Inf или конечное положительное целое число. Если NumNearestNeighbors является Inf, затем 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,:) содержит хешированные функции для iI ансамбль представителя.

    • D является вектор-строка длины M, где D(i) - расстояние между вектором тестовой функции и вектором функции iI ансамбль представителя.

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

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

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

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

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

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

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

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

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

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

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

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

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

  • 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