tfestOptions

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

Синтаксис

opt = tfestOptions
opt = tfestOptions(Name,Value)

Описание

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

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

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

свернуть все

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

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

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

  • 'iv' - Переменный подход к КИПиА.

  • 'svf' - Подход к фильтрам переменных состояний.

  • 'gpmf' - Обобщенный подход к функциям пуассона.

  • 'n4sid' - Подход оценки пространства состояний подпространства.

  • 'all' - Комбинация всех предыдущих подходов. Программа пробует все эти методы и выбирает метод, который приводит к наименьшему значению нормы ошибки предсказания.

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

  • N4Weight - Вычисляет матрицы взвешивания, используемые в шаге разложения сингулярных значений 'n4sid' алгоритм. Применяется при InitializeMethod является 'n4sid'.

    N4Weight задается как одно из следующих значений:

    • 'MOESP' - Использует алгоритм MOESP от Verhaegen.

    • 'CVA' - Использует канонический алгоритм вариации (CVA) Ларимора.

    • 'SSARX' - метод идентификации подпространства, который использует алгоритм, основанный на оценке ARX, для вычисления взвешивания.

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

    • 'auto' - Программа автоматически определяет, должен ли алгоритм MOESP или CVA использоваться в шаге разложения сингулярных значений.

    По умолчанию: 'auto'

  • N4Horizon - Определяет горизонты предсказания вперед и назад, используемые 'n4sid' алгоритм. Применяется при InitializeMethod является 'n4sid'.

    N4Horizon - вектор-строка с тремя элементами:   [r sy su], где r - максимальный горизонт предсказания вперед. Алгоритм использует до r упреждающие предикторы. sy количество прошлых выходов и su - количество прошлых входов, используемых для предсказаний. Для получения дополнительной информации см. страницы 209 и 210 в разделе [1]. Эти числа могут оказать существенное влияние на качество полученной модели, и нет простых правил для их выбора. Создание 'N4Horizon' a k-by-3 матрица означает, что каждая строка 'N4Horizon' пробуется, и выбирается значение, которое обеспечивает лучшее (предсказание) подгонка данным. k количество догадок   [r sy su] комбинации.

    Если N4Horizon = 'auto'программное обеспечение использует информационный критерий Акайке (AIC) для выбора sy и su.

    По умолчанию: 'auto'

  • FilterTimeConstant - Константа времени дифференцирующего фильтра, используемая iv, svf, и gpmf методы инициализации (см. [4] и [5]).

    FilterTimeConstant задает частоту отключения дифференцирующего фильтра, Fcutoff, как:

    Fcutoff=FilterTimeConstantTs

    Ts является шагом расчета данных оценки.

    Задайте FilterTimeConstant как положительное число, обычно меньше 1. Хорошее значение FilterTimeConstant - отношение Ts к доминирующей временной константе системы.

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

  • MaxIterations - Максимальное количество итераций. Применяется при InitializeMethod является 'iv'.

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

  • Tolerance - Допуск сходимости. Применяется при InitializeMethod является 'iv'.

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

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

  • 'zero' - Все начальные условия приняты за нуль.

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

  • 'backcast' - Необходимые начальные условия оцениваются обратным процессом (обратная фильтрация), описанным в [2].

  • 'auto' - Сделан автоматический выбор из предыдущих опций, руководствуясь данными.

Предварительный фильтр взвешивания, примененный к функции потерь, которая будет минимизирована во время оценки. Чтобы понять эффект 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. Каждый входной и выходной отклик в данных умножается на соответствующий вес на этой частоте.

  • 'inv' - Применимо для оценки только с использованием данных частотной характеристики. Использовать 1/|G(ω)| в качестве весового фильтра, где G (ω) является комплексными данными частотной характеристики. Используйте эту опцию для захвата относительно низкой амплитудной динамики в данных или для подгонки данных с высокой модальной плотностью. Эта опция также облегчает настройку зависимых от канала весовых фильтров для данных частотной характеристики MIMO.

  • 'invsqrt' - Применимо для оценки только с использованием данных частотной характеристики. Использовать 1/|G(ω)| в качестве утяжеляющего фильтра. Используйте эту опцию для захвата относительно низкой амплитудной динамики в данных или для подгонки данных с высокой модальной плотностью. Эта опция также облегчает настройку зависимых от канала весовых фильтров для данных частотной характеристики MIMO.

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

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

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

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

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

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

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

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

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

  • A вектора-столбца положительных целых чисел длины 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 вычитается из соответствующих выходных данных.

Взвешивание ошибок предсказания в многозначных оценках, заданное как одно из следующих значений:

  • 'noise' - Минимизировать det(E'*E/N), где E представляет ошибку предсказания и N количество выборок данных. Этот выбор оптимален в статистическом смысле и приводит к максимальным оценкам правдоподобия, если ничего не известно о отклонении шума. В качестве функции взвешивания используется обратная оценка отклонения шума.

    Примечание

    OutputWeight не должен быть 'noise' если SearchMethod является 'lsqnonlin'.

  • Положительная полуопределённая симметричная матрица (W) - Минимизируйте трассировку взвешенной матрицы ошибки предсказания trace(E'*E*W/N) где:

    • E - матрица ошибок предсказания с одним столбцом для каждого вывода, а W - положительная полуопределенная симметричная матрица размера, равная количеству выходов. Используйте W, чтобы определить относительную важность выходов в нескольких-выходных моделях или надежность соответствующих данных.

    • N количество выборок данных.

  • [] - Программное обеспечение выбирает между 'noise' или использование матрицы тождеств для W.

Эта опция актуальна только для мультивыходов.

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

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

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

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

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

  • 'fmincon' - Нелинейные решатели с ограничениями. Можно использовать последовательные квадратичные алгоритмы программирования (SQP) и отражения доверительной области fmincon (Optimization Toolbox) решатель. Если у вас есть программное обеспечение Optimization Toolbox, можно также использовать алгоритмы interior-point и active-set fmincon решатель. Задайте алгоритм в SearchOptions.Algorithm опция. The 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 в методе Левенберга-Марквардта, задается как положительная скалярная величина. Применяется при 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 Toolbox).

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

SearchOptions Структура при SearchMethod Задается как 'fmincon'

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

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

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

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

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

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

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

'sqp'
FunctionTolerance

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

1e-6
StepTolerance

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

1e-6
MaxIterations

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

100

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

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

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

      ErrorThreshold = 0 отключает робустификацию и приводит к чисто квадратичной функции потерь. При оценке данными частотному диапазону программное обеспечение устанавливает 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

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

свернуть все

Набор опций для tfest, возвращается как tfestOptions набор опций.

Примеры

свернуть все

opt = tfestOptions;

Создайте набор опций для tfest использование 'n4sid' алгоритм инициализации и установите Display на 'on'.

opt = tfestOptions('InitializeMethod','n4sid','Display','on');

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

opt = tfestOptions;
opt.InitializeMethod = 'n4sid';
opt.Display = 'on';

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

расширить все

Ссылки

[1] Ljung, L. System Identification: Теория для пользователя. Upper Saddle River, NJ: Prentice-Hall PTR, 1999.

[2] Кнудсен, Т. «Новый метод оценки моделей ARMAX», В трудах 10-го симпозиума IFAC по системе идентификации, SYSID '94, Копенгаген, Дания, июль 1994, том 2, стр. 611-617.

[3] Уиллс, Эдриан, Б. Найнесс и С. Гибсон. «On Gradient-Based Search for Multivariable System Estimes (неопр.) (недоступная ссылка)». Материалы 16-го Всемирного конгресса ИФАК, Прага, Чешская Республика, 3-8 июля 2005 года. Оксфорд, Великобритания: Elsevier Ltd., 2005.

[4] Гарнье, Х., М. Менслер и А. Ричард. «Непрерывное время Модели Identification From Выборочных данных: Реализация Issues and Эффективности Evaluation» International Journal of Control, 2003, Vol. 76, Issue 13, pp 1337-1357.

[5] Ljung, L. «Эксперименты с идентификацией моделей непрерывного времени». Материалы 15-го симпозиума ИФАК по системе идентификации. 2009.

[6] Янссон, М. «Subspace identification and ARX modeling». 13-й симпозиум IFAC по системе идентификации, Роттердам, Нидерланды, 2003.

Введенный в R2012b