polyestOptions

Опция установлена для polyest

Синтаксис

opt = polyestOptions
opt = polyestOptions(Name,Value)

Описание

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

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

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

свернуть все

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

Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми. Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

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

  • 'zero' — Начальное условие обнуляется.

  • 'estimate' — Начальное состояние обработано как независимый параметр оценки.

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

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

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

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

  • '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}, который задает числитель и знаменатель фильтра как передаточная функция с тем же шагом расчета как данные об оценке.

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

  • Взвешивание вектора — Применимый для данных частотного диапазона только. Задайте вектор-столбец весов. Этот вектор должен иметь ту же длину как вектор частоты набора данных, Data.Frequency. Каждый ответ ввода и вывода в данных умножается на соответствующий вес на той частоте.

Управляйте, осуществить ли устойчивость предполагаемой модели, заданной как пара, разделенная запятой, состоящая из '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. Программное обеспечение Requires 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

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

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

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

  • Программное обеспечение '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

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

свернуть все

Набор опции для polyest, возвращенного как опция polyestOptions, установлен.

Примеры

свернуть все

opt = polyestOptions;

Создайте набор опции для polyest, где вы осуществляете устойчивость модели и устанавливаете Display на 'on'.

opt = polyestOptions('EnforceStability',true,'Display','on');

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

opt = polyestOptions;
opt.EnforceStability = true;
opt.Display = 'on';

Ссылки

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

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

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

Для просмотра документации необходимо авторизоваться на сайте