restart

Сбросьте оставшуюся модель деградации полезного срока службы

Описание

пример

restart(mdl) сбрасывает внутренне сохраненную статистику процесса деградации, накопленную предыдущими вызовами, на update и сбрасывает InitialLifeTimeValue и CurrentLifeTimeValue свойства модели. Если на SlopeDetectionLevel свойство модели не пустое, тогда тест наклона также перезапускается, игнорируя любые предыдущие обнаружения.

пример

restart(mdl,resetPrior) устанавливает предыдущие значения параметров в mdl к соответствующим им апостериорным значениям при resetPrior является true.

restart(___,Name,Value) задает свойства mdl использование одного или нескольких аргументов пары "имя-значение".

Примеры

свернуть все

Загрузите обучающие данные, которые являются профилем функции деградации для компонента.

load('expRealTime.mat')

В данном примере примите, что обучающие данные не являются историческими данными. Когда нет исторических данных, можно обновить модель деградации в реальном времени, используя наблюдаемые данные.

Создайте экспоненциальную модель деградации со следующими настройками:

  • θ предшествующее распределение со средним значением 2.4 и отклонение 0.006

  • β предшествующее распределение со средним значением 0.07 и отклонение 3e-5

  • Шумовое отклонение 0.003

mdl = exponentialDegradationModel('Theta',2.4,'ThetaVariance',0.006,...
                                  'Beta',0.07,'BetaVariance',3e-5,...
                                  'NoiseVariance',0.003);

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

lifeTime = [1:length(expRealTime)];

Наблюдайте функцию деградации для 100 итераций. Обновляйте модель деградации после каждой итерации.

for i=1:100
    update(mdl,[lifeTime(i) expRealTime(i)])
end

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

restart(mdl)

Загрузите обучающие данные, которые являются профилем функции деградации для компонента.

load('expRealTime.mat')

В данном примере примите, что обучающие данные не являются историческими данными. Когда нет исторических данных, можно обновить модель деградации в реальном времени, используя наблюдаемые данные.

Создайте экспоненциальную модель деградации со следующими настройками:

  • Произвольный θ и β предыдущие распределения с большими отклонениями, так что модель полагается в основном на наблюдаемые данные

  • Шумовое отклонение 0.003

mdl = exponentialDegradationModel('Theta',1,'ThetaVariance',1e6,...
                                  'Beta',1,'BetaVariance',1e6,...
                                  'NoiseVariance',0.003);

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

lifeTime = [1:length(expRealTime)];

Наблюдайте функцию деградации для 10 итераций. Обновляйте модель деградации после каждой итерации.

for i=1:10
    update(mdl,[lifeTime(i) expRealTime(i)])
end

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

restart(mdl,true)

Просмотрите обновленные параметры предыдущего распределения.

mdl.Prior
ans = struct with fields:
            Theta: 2.3555
    ThetaVariance: 0.0058
             Beta: 0.0722
     BetaVariance: 3.6362e-05
              Rho: -0.8429

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

свернуть все

Модель RUL деградации, заданная как linearDegradationModel объект или exponentialDegradationModel объект. restart очищает накопленную статистику в mdl и сбрасывает InitialLifeTimeValue и CurrentLifeTimeValue свойства mdl.

Флаг для сброса предыдущей информации о параметре, заданный как логическое значение. Когда resetPrior является:

  • true, затем restart устанавливает предыдущие значения параметров mdl к соответствующим им текущим значениям апостериорных параметров. Для примера, mdl.Prior.Theta установлено в mdl.Theta.

  • false или опущен, тогда restart не обновляет предыдущий.

Аргументы в виде пар имя-значение

Задайте необязательные разделенные разделенными запятой парами Name,Value аргументы. Name - имя аргумента и Value - соответствующее значение. Name должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN.

Пример: nv1,'value'

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

Среднее значение параметра θ модели, заданное как разделенная разделенными запятой парами 'Theta' и скаляром. Используйте этот аргумент, чтобы задать Theta свойство mdl и соответствующее поле Prior свойство mdl.

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

Отклонение параметра θ в модели деградации, заданная как разделенная разделенными запятой парами 'ThetaVariance' и неотрицательный скаляр. Используйте этот аргумент, чтобы задать ThetaVariance свойство mdl и соответствующее поле Prior свойство mdl.

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

Среднее значение параметра β модели, заданное как разделенная разделенными запятой парами 'Beta' и скаляром. Используйте этот аргумент, чтобы задать Beta свойство mdl и соответствующее поле Prior свойство mdl.

Этот аргумент применяется только при mdl является exponentialDegradationModel.

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

Отклонение параметра β модели, заданная как разделенная разделенными запятой парами 'BetaVariance' и неотрицательный скаляр. Используйте этот аргумент, чтобы задать BetaVariance свойство mdl и соответствующее поле Prior свойство mdl.

Этот аргумент применяется только при mdl является exponentialDegradationModel.

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

Корреляция между θ и β, заданная как разделенная разделенными запятой парами 'Rho' и скалярное значение в области значений [-1,1]. Используйте этот аргумент, чтобы задать Rho свойство mdl и соответствующее поле Prior свойство mdl.

Этот аргумент применяется только при mdl является exponentialDegradationModel.

Модель отклонения аддитивного шума, заданная как разделенная разделенными запятой парами 'NoiseVariance' и неотрицательный скаляр. Используйте этот аргумент, чтобы задать NoiseVariance свойство mdl.

Уровень обнаружения наклона для определения начала процесса деградации, заданный как разделенная разделенными запятой парами 'SlopeDetectionLevel' и скаляром в области значений [0,1]. Используйте этот аргумент, чтобы задать SlopeDetectionLevel свойство mdl.

Чтобы отключить тест обнаружения наклона, установите SlopeDetectionLevel на [].

Флаг для использования параллельных вычислений при подгонке предыдущих значений из данных, заданный как разделенная разделенными запятой парами 'UseParallel' и любой из них true или false. Используйте этот аргумент, чтобы задать UseParallel свойство mdl.

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

.
Введенный в R2018a