nlgreyestOptions

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

Синтаксис

opt = nlgreyestOptions
opt = nlgreyestOptions(Name,Value)

Описание

пример

opt = nlgreyestOptions создает набор опции по умолчанию для nlgreyest. Используйте запись через точку, чтобы настроить набор опции в случае необходимости.

пример

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

Примеры

свернуть все

opt = nlgreyestOptions;

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

opt = nlgreyestOptions;
opt.Display = 'on';
opt.SearchOptions.MaxIterations = 50;

Загрузка данных.

load(fullfile(matlabroot,'toolbox','ident','iddemos','data','dcmotordata'));
z = iddata(y,u,0.1,'Name','DC-motor');

Данные от линейного двигателя постоянного тока с одним входом (напряжение) и два выходных параметров (угловое положение и угловая скорость). Структура модели задана файлом dcmotor_m.m.

Создайте нелинейную модель серого поля.

file_name = 'dcmotor_m';
Order = [2 1 2];
Parameters = [1;0.28];
InitialStates = [0;0];

init_sys = idnlgrey(file_name,Order,Parameters,InitialStates,0, ...
    'Name','DC-motor');

Оцените параметры модели с помощью опций оценки.

sys = nlgreyest(z,init_sys,opt);

Создайте набор опции для nlgreyest где:

  • Данные о ковариации параметра не сгенерированы.

  • Метод наименьших квадратов Ньютона Гаусса подпространства используется для оценки.

opt = nlgreyestOptions('EstimateCovariance',false,'SearchMethod','gn');

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

свернуть все

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

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

Пример: nlgreyestOptions('Display','on')

Опции для вычисления Якобианов и градиентов, заданных как пара, разделенная запятой, состоящая из 'GradientOptions' и структуры с полями:

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

Крупнейшее позволенное возмущение параметра при вычислении числовых производных. Заданный как положительное действительное значение> 'MinDifference'.

Inf
MinDifference

Самое маленькое позволенное возмущение параметра при вычислении числовых производных. Заданный как положительное действительное значение <'MaxDifference'.

0.01*sqrt(eps)
DifferenceScheme

Метод для вычисления числовых производных относительно компонентов параметров и/или начального состояния (состояний), чтобы сформировать якобиан. Заданный как одно из следующего:

  • 'auto'- Автоматически выбирает из следующих методов.

  • 'Central approximation'

  • 'Forward approximation'

  • 'Backward approximation'

'Auto'
Type

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

  • 'auto' Автоматически выбирает из следующих методов.

  • 'Basic' — Индивидуально вычисляет все числовые производные, требуемые сформировать каждый столбец якобиана.

  • 'Refined' — Одновременно вычисляет все числовые производные, требуемые сформировать каждый столбец якобиана.

'Auto'

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

opt = nlgreyestOptions;
opt.GradientOptions.Type = 'Basic';

Средства управления, сгенерированы ли данные о ковариации параметра, задали как true (1) или false (0).

Установка отображения прогресса оценки, заданная как пара, разделенная запятой, состоящая из 'Display' и одно из следующего:

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

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

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

Имя поляОписаниеЗначение по умолчанию
LambdaСместите по сравнению с компромиссом отклонения, постоянным, заданным как неотрицательный скаляр.0 — Не указывает ни на какую регуляризацию.
RВзвешивание матрицы, заданной как вектор неотрицательных скаляров или квадратной положительной полуопределенной матрицы. Длина должна быть равна количеству свободных параметров в модели, np. Используйте команду nparams, чтобы определить количество параметров модели.1 — Указывает на значение eye(np).
Nominal

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

  • 'zero' — Вытяните параметры по направлению к нулю.

  • 'model' — Вытяните параметры к существующим ранее значениям в первоначальной модели.

'zero'

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

opt = nlgreyestOptions;
opt.Regularization.Lambda = 1.2;
opt.Regularization.R = 0.5*eye(np);

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

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

  • 'auto' Если Optimization Toolbox™ доступен, 'lsqnonlin' используется. В противном случае комбинацию алгоритмов поиска строки, '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 могут привести к улучшенным результатам оценки в следующих сценариях:

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

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

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

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

Структура SearchOptions, когда SearchMethod задан как 'lsqnonlin' или 'auto', когда Optimization Toolbox доступен

Имя поляОписаниеЗначение по умолчанию
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 задан как 'gn', 'gna', 'lm', 'grad' или 'auto', когда Optimization Toolbox не доступен

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

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

1e-5
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 Задан как '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

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

opt = nlgreyestOptions('SearchMethod','gna');
opt.SearchOptions.MaxIterations = 50;
opt.SearchOptions.Advanced.RelImprovement = 0.5;

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

  • [] — Никакое взвешивание не используется. Определение как [] совпадает с eye(Ny), где Ny является количеством выходных параметров.

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

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

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

Имя поляОписаниеЗначение по умолчанию
ErrorThresholdПорог для того, когда настроить вес больших ошибок от квадратичного до линейного, заданного как неотрицательный скаляр. Ошибки, больше, чем времена ErrorThreshold предполагаемое стандартное отклонение, имеют линейный вес в функции потерь. Стандартное отклонение оценивается надежно как медиана абсолютных отклонений от медианы ошибок прогноза, разделенных на 0,7. Если ваши данные об оценке содержат выбросы, попробуйте установку ErrorThreshold к 1.6.0 — Приводит к чисто квадратичной функции потерь.

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

opt = nlgreyestOptions;
opt.Advanced.ErrorThreshold = 1.2;

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

свернуть все

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

Смотрите также

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