exponenta event banner

findstatesOptions

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

Описание

пример

opt = findstatesOptions создает набор опций по умолчанию для findstates. При необходимости используйте точечную нотацию для настройки набора опций.

пример

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

Примеры

свернуть все

Создание набора опций для findstates путем настройки объекта спецификации для начальных состояний.

Определение модели пространства состояния четвертого порядка по данным.

load iddata8 z8;
sys = ssest(z8,4);

z8 является iddata объект, содержащий данные ответа системы временной области. sys является четвертым порядком idss модель, которая идентифицируется из данных.

Настройте объект спецификации для начальных состояний модели.

x0obj = idpar([1;nan(3,1)]);
x0obj.Free(1) = false;
x0obj.Minimum(2) = 0;
x0obj.Maximum(2) = 1;

x0obj определяет ограничения оценки для начальных условий. Значение первого состояния задается как 1, когда x0obj создается. x0obj.Free(1) = false задает первое начальное состояние в качестве фиксированного параметра оценки. Второе состояние неизвестно. Но, x0obj.Minimum(2) = 0 и x0obj.Maximum(2) = 1 укажите нижнюю и верхнюю границы второго состояния как 0 и 1соответственно.

Создание набора опций для findstates для определения начальных состояний модели.

opt = findstatesOptions;
opt.InitialState = x0obj;

Определите начальные состояния модели.

x0_estimated = findstates(sys,z8,Inf,opt);

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

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

  • Для оценки используется адаптивный подпространственный поиск Гаусса-Ньютона.

opt = findstatesOptions('InitialState','d','SearchMethod','gna');

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

свернуть все

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

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

Пример: findstatesOptions('InitialState','d')

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

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

    Для нелинейных серых моделей только эти начальные состояния i которые обозначены в модели как свободные (sys.InitialStates(i).Fixed = false) оцениваются. Чтобы оценить все состояния модели, сначала укажите все Nx состояния idnlgrey модель sys как свободный.

    for i = 1:Nx
    sys.InitialStates(i).Fixed = false;
    end 

    Аналогично, чтобы зафиксировать все начальные состояния в значениях, указанных в sys.InitialStates, сначала укажите все состояния как фиксированные в sys.InitialStates свойства нелинейной модели «серый ящик».

  • 'd' - Аналогично 'e', но поглощает ненулевые задержки в коэффициентах модели. Задержки сначала преобразуются в явные состояния модели, и начальные значения этих состояний также оцениваются и возвращаются.

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

  • Vector or Matrix - начальное предположение для значений состояния при использовании нелинейных моделей. Укажите вектор столбца длиной, равной числу состояний. Для данных нескольких экспериментов используйте матрицу с Ne столбцы, где Ne - количество экспериментов.

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

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

    Использовать x0obj только для нелинейных серых моделей и линейных моделей состояния и пространства (idss или idgrey). Эта опция применима только для горизонта прогнозирования, равного 1 или Inf. Посмотрите findstates для получения более подробной информации о горизонте прогнозирования.

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

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

  • [] - Взвешивание не используется. Указание как [] является таким же, как eye(Ny), где Ny - количество выходов.

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

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

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

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

opt = findstatesOptions;
opt.SearchOptions.Tolerance = 0.02;
opt.SearchOptions.Advanced.MaxBisections = 30;

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

свернуть все

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

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

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

См. также

|

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