Класс: ssm
Оценка максимального параметра правдоподобия моделей пространства состояний
оценивает модель пространства состояний с дополнительными опциями, заданными одним или несколькими EstMdl
= estimate(Mdl
,Y
,params0
,Name,Value
)Name,Value
аргументы в виде пар. Для примера можно задать, чтобы отклонить наблюдения линейной регрессией с помощью данных предиктора, контролировать, как результаты появляются в Командном окне, и указать, какой метод оценки использовать для матрицы параметра ковариации.
[
дополнительно возвращается:EstMdl
,estParams
,EstParamCov
,logL
,Output
]
= estimate(___)
estParams
, вектор, содержащий предполагаемые параметры
EstParamCov
, оценочную дисперсионно-ковариационную матрицу предполагаемых параметров
logL
, оптимизированное значение логарифмической правдоподобности
Output
, оптимизация диагностической информационной структуры
использование любого из входных параметров в предыдущих синтаксисах.
Если модель является временем изменения относительно наблюдаемых откликов, то программное обеспечение не поддерживает включение предикторов. Если векторы наблюдения среди различных периодов варьируются в длине, то программное обеспечение не может определить, какие коэффициенты использовать для дефляции наблюдаемых откликов.
Максимизация целевой функции правдоподобия с ограничениями
Можно задать любую комбинацию линейного неравенства, линейного равенства и верхних и нижних ограничений параметров.
Хорошая практика состоит в том, чтобы избегать ограничений равенства и неравенства во время оптимизации. Для примера, чтобы ограничить w параметра положительным, неявно задайте модель пространства состояний с помощью функции отображения параметра в матрицу. Внутри функции задайте w = exp (s) внутри функции. Затем используйте без оптимизации без ограничений для оценки s. Следовательно, s можете принять любое действительное значение, но w должно быть положительным.
Предикторы и соответствующие коэффициенты
Чтобы включить общее среднее значение в модель наблюдения, включите столбец 1
s в Zt.
Чтобы принять во внимание предикторные эффекты при моделировании, вы должны отклонить наблюдения вручную. Для дефляции наблюдений используйте
Если регрессионная модель сложна, рассмотрите неявное определение модели пространства состояний. Для примера задайте функцию отображения параметра в матрицу с помощью следующего синтаксического шаблона.
function [A,B,C,D,Mean0,Cov0,StateType,DeflateY] = ParamMap(params,Y,Z) ... DeflateY = Y - exp(params(9) + params(10)*Z); ... end
Y
- матрица наблюдений и Z
- матрица предикторов. Функция возвращается DeflateY
, которая является матрицей дефляционных наблюдений. Задайте Y
и Z
в Рабочем пространстве MATLAB раньше, а затем передайте ParamMap
на ssm
используя следующий синтаксический шаблон.Mdl = ssm(@(params)ParamMap(params,Y,Z))
Это также полезно, если каждая серия откликов требует отдельного набора предикторов.
Если уравнение состояния требует предикторов, то включите предикторы в качестве дополнительных переменных состояния. Поскольку данные предиктора изменяются со временем, модель пространства состояний с предикторами, так как состояния изменяются во времени.
Дополнительные советы
Программное обеспечение содержит отсутствующие данные. Указание отсутствующих данных с помощью NaN
значения в наблюдаемых реакциях (Y
).
Хорошей практикой является проверка статуса сходимости стандартной программы оптимизации путем отображения Output.ExitFlag
.
Если алгоритм оптимизации не сходится, то можно увеличить количество итераций, используя 'Options'
аргумент пары "имя-значение".
Если алгоритм оптимизации не сходится, рассмотрите использование refine
, что может помочь вам получить лучшие начальные значения параметров для оптимизации.
Фильтр Калмана принимает отсутствующие данные, не обновляя фильтрованные оценки состояния, соответствующие отсутствующим наблюдениям. Другими словами, предположим, что в период t отсутствует наблюдение. Затем прогноз состояния для t периода на основе предыдущих наблюдений t-1 и отфильтрованного состояния для t периода эквивалентны.
Для явно созданных моделей пространства состояний, estimate
применяет все предикторы к каждой серии откликов. Однако каждая серия откликов имеет свой собственный набор коэффициентов регрессии.
Если вы не задаете ограничения оптимизации, то estimate
использование fminunc
для без ограничений числовой оценки. Если вы задаете любую пару ограничений оптимизации, то estimate
использование fmincon
для ограниченной числовой оценки. Для любого типа оптимизации, опции оптимизации, которые вы устанавливаете с помощью аргумента пары "имя-значение" Options
должен соответствовать опциям алгоритма оптимизации.
estimate
передает аргументы пары "имя-значение" Options
, Aineq
, bineq
, Aeq
, beq
, lb
, и ub
непосредственно к оптимизатору fmincon
или fminunc
.
estimate
подходит для коэффициентов регрессии наряду со всеми другими параметрами модели пространства состояний. Программа достаточно гибка, чтобы позволить применять ограничения к коэффициентам регрессии с помощью ограниченных опций оптимизации. Для получения дополнительной информации смотрите Name,Value
аргументы в виде пар и fmincon
.
Если вы задаете 'Univariate',true
затем, во время алгоритма фильтрации, программное обеспечение последовательно обновляется, а не обновляется сразу. Эта практика может ускорить оценку параметра, особенно для маломерной, инвариантной по времени модели.
Предположим, что вы хотите создать модель пространства состояний с помощью функции отображения параметра в матрицу с этой сигнатурой
[A,B,C,D,Mean0,Cov0,StateType,DeflateY] = paramMap(params,Y,Z)
Mdl = ssm(@(params)paramMap(params,Y,Z))
Y
и данные предиктора Z
не являются входными параметрами в анонимной функции. Если Y
и Z
существует в рабочем пространстве MATLAB перед созданием Mdl
, затем программное обеспечение устанавливает ссылку на них. В противном случае, если вы передаете Mdl
на estimate
программа выдает ошибку.Ссылка на данные, установленные анонимной функцией, переопределяет все другие соответствующие входные параметры значения estimate
. Это различие особенно важно при проведении анализа окна качения. Для получения дополнительной информации смотрите Анализ окон Timeseries моделей.
[1] Дурбин Дж., и С. Дж. Копман. Анализ временных рядов по методам пространства состояний. 2nd ed. Oxford: Oxford University Press, 2012.
filter
| fmincon
| fminunc
| forecast
| optimoptions
| refine
| simulate
| smooth
| ssm