armaxOptions

Набор опции для armax

Синтаксис

opt = armaxOptions
opt = armaxOptions(Name,Value)

Описание

opt = armaxOptions создает набор опций по умолчанию для armax.

opt = armaxOptions(Name,Value) создает набор опции с опциями, заданными одним или несколькими 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) одним из следующих способов:

    • Модель SISO LTI

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

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

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

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

Эта опция не доступна для мультивыходных моделей с недиагональным массивом полинома A.

Типы данных: логический

Средства управления, сгенерированы ли данные о ковариации параметра в виде 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 содержит сингулярные значения Гессиана. Направление Ньютона Гаусса вычисляется в остающемся подпространстве. gamma имеет начальное значение InitialGnaTolerance (см. Advanced в 'SearchOptions' для получения дополнительной информации. Это значение увеличено факторным LMStep каждый раз поиску не удается найти нижнее значение критерия меньше чем в пяти делениях пополам. Это значение уменьшено факторным 2*LMStep каждый раз поиск успешен без любых делений пополам.

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

  • 'grad' — Поиск наименьших квадратов наискорейшего спуска.

  • 'lsqnonlin' — Доверительная область отражающий алгоритм lsqnonlin (Optimization Toolbox). Программное обеспечение Requires Optimization Toolbox™.

  • 'fmincon' — Ограниченные нелинейные решатели. Можно использовать последовательное квадратичное программирование (SQP) и доверять области отражающие алгоритмы fmincon (Optimization Toolbox) решатель. Если у вас есть программное обеспечение 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

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

0.0001
LMStartValue

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

0.001
LMStep

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

2
MaxBisections

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

25
MaxFunctionEvaluations

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

Inf
MinParameterChange

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

0
RelativeImprovement

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

0
StepReduction

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

StepReduction не применимо для SearchMethod 'lm' (Метод Levenberg-Marquardt).

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 Toolbox).

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

SearchOptions Структура, когда SearchMethod Задан как 'fmincon'

Имя поляОписаниеЗначение по умолчанию
Algorithm

fmincon алгоритм оптимизации в виде одного из следующего:

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

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

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

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

Для получения дополнительной информации об алгоритмах, см. Ограниченные Нелинейные Алгоритмы Оптимизации (Optimization Toolbox) и Выбор Algorithm (Optimization Toolbox).

'sqp'
FunctionTolerance

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

1e-6
StepTolerance

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

1e-6
MaxIterations

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

100

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

  • ErrorThreshold — Задает, когда настроить вес больших ошибок от квадратичного до линейного.

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

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

    Значение по умолчанию: 0

  • MaxSize — Задает максимальное количество элементов в сегменте, когда данные ввода - вывода разделены в сегменты.

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

    Значение по умолчанию: 250000

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

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

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

      Значение по умолчанию: 0

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

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

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

    Начальное условие оценивается когда

    yp,zymeasyp,eymeas>AutoInitThreshold

    • ymeas является измеренный выход.

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

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

    Применимый, когда InitialCondition 'auto'.

    Значение по умолчанию: 1.05

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

свернуть все

Набор опции для armax, возвращенный как armaxOptions опция установлена.

Примеры

свернуть все

opt = armaxOptions;

Создайте набор опции для armax использовать Особое внимание 'симуляции' и установить Отображение на 'on'.

opt = armaxOptions('Focus','simulation','Display','on');

В качестве альтернативы используйте запись через точку, чтобы установить значения opt.

opt = armaxOptions;
opt.Focus = 'simulation';
opt.Display = 'on';

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

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

Ссылки

[1] Завещания, Эдриан, Б. Ниннесс и С. Гибсон. “На основанном на градиенте поиске многомерных системных оценок”. Продолжения 16-го мирового Конгресса IFAC, Прага, Чешская Республика, 3-8 июля 2005. Оксфорд, Великобритания: Elsevier Ltd., 2005.

[2] Ljung, L. System Identification: теория для пользователя. Верхний Сэддл-Ривер, NJ: PTR Prentice Hall, 1999.

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