exponenta event banner

bjOptions

Набор опций для bj

Синтаксис

opt = bjOptions
opt = bjOptions(Name,Value)

Описание

opt = bjOptions создает параметры по умолчанию, заданные для bj.

opt = bjOptions(Name,Value) создает набор опций с опциями, заданными одним или несколькими Name,Value аргументы пары.

Входные аргументы

свернуть все

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

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

Обработка исходных условий при расчетах, указанных как одно из следующих значений:

  • 'zero' - Начальные условия равны нулю.

  • 'estimate' - Исходные условия рассматриваются как независимые оценочные параметры.

  • 'backcast' - Начальные условия оцениваются с использованием наилучшего вписывания наименьших квадратов.

  • 'auto' - Программное обеспечение выбирает способ обработки начальных условий на основе оценочных данных.

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

  • 'prediction' - Погрешность прогнозирования на один шаг вперед между измеренными и предсказанными выходами минимизируется во время оценки. В результате оценка фокусируется на создании хорошей модели предиктора.

  • 'simulation' - Ошибка моделирования между измеренными и смоделированными выходами минимизируется во время оценки. В результате оценка фокусируется на обеспечении хорошего соответствия для моделирования реакции модели с текущими входными данными.

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

Весовой предварительный фильтр, применяемый к функции потерь, которая должна быть минимизирована во время оценки. Чтобы понять эффект WeightingFilter для функции потерь см. раздел Функция потерь и Показатели качества модели.

Определить WeightingFilter как одно из следующих значений:

  • [] - Предварительный фильтр взвешивания не используется.

  • Полосы пропускания - укажите вектор строки или матрицу, содержащую значения частоты, определяющие нужные полосы пропускания. Выбирается полоса частот, в которой оптимизируется соответствие между расчетной моделью и оценочными данными. Например, [wl,wh], где wl и wh представляют собой нижний и верхний пределы полосы пропускания. Для матрицы с несколькими строками, определяющими полосы частот, [w1l,w1h;w2l,w2h;w3l,w3h;...]алгоритм оценки использует объединение частотных диапазонов для определения полосы пропускания оценки.

    Пассбанды выражены в rad/TimeUnit для данных временной области и в FrequencyUnit для данных частотной области, где TimeUnit и FrequencyUnit являются единицами времени и частоты оценочных данных.

  • Фильтр SISO - задает линейный фильтр с одним входом и одним выходом (SISO) одним из следующих способов:

    • Модель LTI SISO

    • {A,B,C,D} формат, который задает матрицы состояния-пространства фильтра с тем же временем выборки, что и данные оценки.

    • {numerator,denominator} формат, который определяет числитель и знаменатель фильтра как передаточную функцию с тем же временем выборки, что и данные оценки.

      Эта опция вычисляет весовую функцию как произведение фильтра и входного спектра для оценки передаточной функции.

Управление обеспечением стабильности расчетной модели, указанной как разделенная запятыми пара, состоящая из 'EnforceStability' и либо true или false.

Типы данных: logical

Управляет формированием ковариационных данных параметров, указанных как true или false.

Если EstimateCovariance является true, затем использовать getcov чтобы извлечь матрицу ковариации из оценочной модели.

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

  • 'on' - Информация о структуре модели и результатах оценки отображается в окне просмотра хода выполнения.

  • 'off' - Информация о ходе выполнения или результатах не отображается.

Удаление смещения из входных данных временной области во время оценки, указанной как разделенная запятыми пара, состоящая из 'InputOffset' и одно из следующих:

  • Вектор-столбец положительных целых чисел длины Nu, где Nu - количество входов.

  • [] - Указывает на отсутствие смещения.

  • Матрица Nu-by-Ne - для данных нескольких экспериментов укажите InputOffset в виде матрицы Nu-by-Ne. Nu - количество входов, а Ne - количество экспериментов.

Каждая запись, указанная InputOffset вычитается из соответствующих входных данных.

Удаление смещения из выходных данных временной области во время оценки, указанной как разделенная запятыми пара, состоящая из 'OutputOffset' и одно из следующих:

  • Вектор столбца длиной Ny, где Ny - количество выходов.

  • [] - Указывает на отсутствие смещения.

  • Матрица Ny-by-Ne - для данных нескольких экспериментов укажите OutputOffset в виде матрицы Ny-by-Ne. Ny - количество выходов, а Ne - количество экспериментов.

Каждая запись, указанная OutputOffset вычитается из соответствующих выходных данных.

Варианты регуляризованной оценки параметров модели. Дополнительные сведения о регуляризации см. в разделе Регуляризованные оценки параметров модели.

Regularization - структура со следующими полями:

  • Lambda - Константа, определяющая компромисс между отклонениями.

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

    Нулевое значение по умолчанию означает отсутствие регуляризации.

    По умолчанию: 0

  • R - Матрица взвешивания.

    Укажите вектор неотрицательных чисел или квадратную положительную полуопределенную матрицу. Длина должна быть равна количеству свободных параметров модели.

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

    Значение по умолчанию 1 подразумевает значение eye(npfree), где npfree - количество свободных параметров.

    По умолчанию: 1

  • Nominal - номинальное значение, к которому при расчетах подтягиваются свободные параметры.

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

    По умолчанию: 0

Метод численного поиска, используемый для итеративной оценки параметров, определяемый как разделенная запятыми пара, состоящая из 'SearchMethod' и одно из следующих:

  • 'auto' - комбинация алгоритмов поиска линии, 'gn', 'lm', 'gna', и 'grad' на каждой итерации последовательно пробуют способы. Используется первое направление спуска, ведущее к снижению стоимости оценки.

  • 'gn' - Подпространство поиска наименьших квадратов Гаусса-Ньютона. Сингулярные значения матрицы Якобиана меньше GnPinvConstant*eps*max(size(J))*norm(J) отбрасываются при вычислении направления поиска. J - матрица Якобиана. Матрица Гессена аппроксимируется как JTJ. Если в этом направлении нет улучшений, функция пробует направление градиента.

  • 'gna' - адаптивный подпространственный поиск Гаусса-Ньютона. Собственные значения меньше gamma*max(sv) гессенцы игнорируются, где sv содержит сингулярные значения гессенца. Направление Гаусса - Ньютона вычисляется в оставшемся подпространстве. гамма имеет начальное значение InitialGnaTolerance (см. Advanced в 'SearchOptions' для получения дополнительной информации. Это значение увеличивается на коэффициент LMStep каждый раз при поиске не удается найти меньшее значение критерия менее чем за пять делений. Это значение уменьшается на коэффициент 2*LMStep каждый раз при успешном поиске без каких-либо делений.

  • 'lm' - поиск наименьших квадратов Левенберга-Марквардта, где следующим значением параметра является -pinv(H+d*I)*grad из предыдущего. H - гессен, I - тождественная матрица, а grad - градиент. d - число, которое увеличивается до тех пор, пока не будет найдено меньшее значение критерия.

  • 'grad' - Самый крутой спуск поиск наименьших квадратов.

  • 'lsqnonlin' - Алгоритм отражения области доверия lsqnonlin(Панель инструментов оптимизации). Требуется программное обеспечение Optimization Toolbox™.

  • 'fmincon' - Ограниченные нелинейные решатели. Можно использовать последовательное квадратичное программирование (SQP) и алгоритмы, отражающие область доверия fmincon(Панель инструментов оптимизации) решатель. При наличии программного обеспечения Optimization Toolbox можно также использовать внутренние и активные алгоритмы fmincon решатель. Укажите алгоритм в SearchOptions.Algorithm вариант. fmincon алгоритмы могут привести к улучшению результатов оценки в следующих сценариях:

    • Проблемы минимизации с ограничениями при наличии ограничений, наложенных на параметры модели.

    • Структуры модели, в которых функция потерь является нелинейной или негладкой функцией параметров.

    • Оценка модели с несколькими выходами. Функция потери определителя минимизируется по умолчанию для оценки модели с множеством выходов. fmincon алгоритмы способны непосредственно минимизировать такие потери. Другие методы поиска, такие как 'lm' и 'gn' минимизировать функцию потерь определителя путем попеременной оценки дисперсии шума и уменьшения значения потерь для данного значения дисперсии шума. Следовательно, fmincon алгоритмы могут обеспечить лучшую эффективность и точность для оценок моделей с множеством выходов.

Набор опций для алгоритма поиска, заданного как разделенная запятыми пара, состоящая из 'SearchOptions' и набор опций поиска с полями, зависящими от значения SearchMethod.

SearchOptions Структура при SearchMethod указано как 'gn', 'gna', 'lm', 'grad', или 'auto'

Имя поляОписаниеДефолт
Tolerance

Минимальная процентная разница между текущим значением функции потерь и ожидаемым улучшением после следующей итерации, заданная как положительный скаляр. Когда процент ожидаемого улучшения меньше Tolerance, итерации прекращаются. Оценка ожидаемого улучшения функции потери на следующей итерации основана на векторе Гаусса-Ньютона, вычисленном для текущего значения параметра.

0.01
MaxIterations

Максимальное число итераций при минимизации функции потери, указанное как положительное целое число. Итерации останавливаются, когда MaxIterations достигнута или удовлетворен другой критерий остановки, такой как Tolerance.

Настройка MaxIterations = 0 возвращает результат процедуры запуска.

Использовать sys.Report.Termination.Iterations чтобы получить фактическое количество итераций во время оценки, где sys является idtf модель.

20
Advanced

Дополнительные параметры поиска, указанные как структура со следующими полями:

Имя поляОписаниеДефолт
GnPinvConstant

Порог сингулярного значения матрицы Якобиана, заданный как положительный скаляр. Сингулярные значения матрицы Якобиана, которые меньше GnPinvConstant*max(size(J)*norm(J)*eps) отбрасываются при вычислении направления поиска. Применимо, когда SearchMethod является 'gn'.

10000
InitialGnaTolerance

Начальное значение гамма, указанное как положительный скаляр. Применимо, когда SearchMethod является 'gna'.

0.0001
LMStartValue

Начальное значение длины d направления поиска в методе Левенберга-Марквардта, указанное как положительный скаляр. Применимо, когда SearchMethod является 'lm'.

0.001
LMStep

Размер шага Левенберга-Марквардта, заданный как положительное целое число. Следующим значением длины d направления поиска в методе Левенберга-Марквардта является LMStep умножить на предыдущий. Применимо, когда SearchMethod является 'lm'.

2
MaxBisections

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

25
MaxFunctionEvaluations

Максимальное число вызовов файла модели, указанное как положительное целое число. Итерации останавливаются, если число вызовов файла модели превышает это значение.

Inf
MinParameterChange

Наименьшее обновление параметров, допустимое для каждой итерации, указанное как неотрицательный скаляр.

0
RelativeImprovement

Относительный порог улучшения, заданный как неотрицательный скаляр. Итерации прекращаются, если относительное улучшение функции критерия меньше этого значения.

0
StepReduction

Понижающий коэффициент шага, заданный как положительный скаляр, превышающий 1. Предлагаемое обновление параметра уменьшается на коэффициент StepReduction после каждой попытки. Это сокращение продолжается до MaxBisections попытки завершены или получено меньшее значение функции критерия.

StepReduction неприменимо для SearchMethod 'lm' (метод Левенберга-Марквардта).

2

SearchOptions Структура при SearchMethod указано как 'lsqnonlin'

Имя поляОписаниеДефолт
FunctionTolerance

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

Значение FunctionTolerance является таким же, как у opt.SearchOptions.Advanced.TolFun.

1e-5
StepTolerance

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

Значение StepTolerance является таким же, как у opt.SearchOptions.Advanced.TolX.

1e-6
MaxIterations

Максимальное число итераций при минимизации функции потери, указанное как положительное целое число. Итерации останавливаются, когда MaxIterations достигнута или удовлетворен другой критерий остановки, такой как FunctionTolerance.

Значение MaxIterations является таким же, как у opt.SearchOptions.Advanced.MaxIter.

20
Advanced

Дополнительные параметры поиска, указанные как набор параметров для lsqnonlin.

Дополнительные сведения см. в таблице Опции оптимизации (Optimization Options) в разделе Опции оптимизации (Optimization Options) (Панель инструментов оптимизации).

Использовать optimset('lsqnonlin') для создания набора опций по умолчанию.

SearchOptions Структура при SearchMethod указано как 'fmincon'

Имя поляОписаниеДефолт
Algorithm

fmincon алгоритм оптимизации, указанный как один из следующих:

  • 'sqp' - Алгоритм последовательного квадратичного программирования. Алгоритм удовлетворяет границам на всех итерациях и может восстанавливаться после NaN или Inf результаты. Это не масштабный алгоритм. Дополнительные сведения см. в разделе Крупномасштабные и среднемасштабные алгоритмы (панель инструментов оптимизации).

  • 'trust-region-reflective' - Метод области доверия подпространства на основе метода Ньютона с внутренним отражением. Это масштабный алгоритм.

  • 'interior-point' - масштабный алгоритм, для которого требуется программное обеспечение Optimization Toolbox. Алгоритм удовлетворяет границам на всех итерациях и может восстанавливаться после NaN или Inf результаты.

  • 'active-set' - Требуется программное обеспечение Optimization Toolbox. Алгоритм может делать большие шаги, что добавляет скорость. Это не масштабный алгоритм.

Дополнительные сведения о алгоритмах см. в разделах Ограниченные нелинейные алгоритмы оптимизации (панель инструментов оптимизации) и Выбор алгоритма (панель инструментов оптимизации).

'sqp'
FunctionTolerance

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

1e-6
StepTolerance

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

1e-6
MaxIterations

Максимальное число итераций при минимизации функции потерь, указанное как положительное целое число. Итерации останавливаются, когда MaxIterations достигнута или удовлетворен другой критерий остановки, такой как FunctionTolerance.

100

Дополнительные дополнительные параметры, указанные как структура со следующими полями:

  • ErrorThreshold - указывает, когда корректировать вес больших ошибок с квадратичного на линейный.

    Ошибки больше, чем ErrorThreshold раз расчетное стандартное отклонение имеет линейный вес в функции потери. Стандартное отклонение оценивается надежно как медиана абсолютных отклонений от медианы ошибок прогнозирования, деленная на 0.7. Дополнительные сведения о надежных вариантах норм см. в разделе 15.2 [2].

    ErrorThreshold = 0 отключает робустификацию и приводит к чисто квадратичной функции потерь. При оценке данных в частотной области программное обеспечение устанавливает ErrorThreshold до нуля. Для данных временной области, содержащих отклонения, попробуйте установить ErrorThreshold кому 1.6.

    По умолчанию: 0

  • MaxSize - указывает максимальное количество элементов в сегменте при разделении данных ввода-вывода на сегменты.

    MaxSize должно быть положительным целым числом.

    По умолчанию: 250000

  • StabilityThreshold - Задает пороговые значения для тестов устойчивости.

    StabilityThreshold - структура со следующими полями:

    • s - указывает расположение крайнего правого полюса для проверки стабильности моделей непрерывного времени. Модель считается стабильной, когда самый правый полюс находится слева от s.

      По умолчанию: 0

    • z - максимальное расстояние между всеми полюсами от начала координат для проверки стабильности дискретных временных моделей. Модель считается стабильной, если все полюса находятся на расстоянии z от происхождения.

      По умолчанию: 1+sqrt(eps)

  • AutoInitThreshold - указывает, когда автоматически оценивать начальное условие.

    Начальное условие оценивается при

    yp, z ymeas yp,e−ymeas‖>AutoInitThreshold

    • ymeas - измеренный выходной сигнал.

    • yp, z - прогнозируемый выход модели, оцененный с использованием нулевых начальных состояний.

    • yp, e - прогнозируемый выход модели, оцененный с использованием оцененных начальных состояний.

    Применимо, когда InitialCondition является 'auto'.

    По умолчанию: 1.05

Выходные аргументы

свернуть все

Набор опций для bj, возвращено как bjOptions набор опций.

Примеры

свернуть все

opt = bjOptions;

Создание набора параметров для bj использование нулевых исходных условий для оценки. Набор Display кому 'on'.

opt = bjOptions('InitialCondition','zero','Display','on');

Либо используйте точечную нотацию для установки значений opt.

opt = bjOptions;
opt.InitialCondition = 'zero';
opt.Display = 'on';

Вопросы совместимости

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

Ссылки

[1] Уиллс, Эдриан, Б. Ниннесс и С. Гибсон. «При градиентном поиске многопараметрических системных оценок». Материалы 16-го Всемирного конгресса МФБ, Прага, Чехия, 3-8 июля 2005 года. Оксфорд, Великобритания: Elsevier Ltd., 2005.

[2] Ljung, L. Идентификация системы: теория для пользователя. Река Верхнее Седло, Нью-Джерси: Prentice-Hall PTR, 1999.

Представлен в R2012a