exponenta event banner

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«-й» элемент, вычисленный для iТретий член данных.

Чтобы указать метод вычисления хэшированных элементов, используйте 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-на-N хешированных элементов компонента ансамбля, где M - количество компонентов ансамбля. xEnsemble(i,:) содержит хэшированные элементы для iУчастник ансамбля.

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

Можно указать 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