Класс: dssm
Оценка максимального параметра правдоподобия диффузных моделей в пространстве состояний
оценивает модель рассеянного пространства состояний с дополнительными опциями, заданными одним или несколькими EstMdl
= estimate(Mdl
,Y
,params0
,Name,Value
)Name,Value
аргументы в виде пар. Для примера можно задать, чтобы отклонить наблюдения линейной регрессией с помощью данных предиктора, контролировать, как результаты появляются в Командном окне, и указать, какой метод оценки использовать для матрицы параметра ковариации.
[
дополнительно возвращает эти аргументы, используя любой из входных параметров в предыдущих синтаксисах.EstMdl
,estParams
,EstParamCov
,logL
,Output
]
= estimate(___)
estParams
, вектор, содержащий предполагаемые параметры
EstParamCov
, оценочную дисперсионно-ковариационную матрицу предполагаемых параметров
logL
, оптимизированное значение логарифмической правдоподобности
Output
, оптимизация диагностической информационной структуры
Если модель является временем изменения относительно наблюдаемых откликов, то программное обеспечение не поддерживает включение предикторов. Если векторы наблюдения среди различных периодов варьируются в длине, то программное обеспечение не может определить, какие коэффициенты использовать для дефляции наблюдаемых откликов.
Если модель рассеянного пространства состояний имеет проблемы идентичности (то есть, по крайней мере, два набора различных значений параметров дают одно и то же значение вероятности для всех наблюдений), то estimate
невозможно правильно инициализировать диффузные состояния, и результаты не предсказуемы.
Максимизация целевой функции правдоподобия с ограничениями
Можно задать любую комбинацию линейного неравенства, линейного равенства и верхних и нижних ограничений параметров.
Хорошая практика состоит в том, чтобы избегать ограничений равенства и неравенства во время оптимизации. Для примера, чтобы ограничить 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))
Это также полезно, если каждая серия откликов требует отдельного набора предикторов.
Если уравнение состояния требует предикторов, то включите предикторы в качестве дополнительных переменных состояния. Поскольку данные предиктора изменяются со временем, модель пространства состояний с предикторами, так как состояния изменяются во времени.
Модели рассеянного пространства состояний
Вы не можете использовать метод квадратного корня для фильтрации и сглаживания моделей рассеянного пространства состояний. В качестве обходного пути можно преобразовать модель рассеянного пространства состояний в стандартную модель пространства состояний с помощью ssm
и затем можно фильтровать с помощью метода квадратного корня. При преобразовании все диффузные состояния имеют конечное хотя и большое начальное отклонение распределения 1e7
.
Лучшая практика - позволить estimate
определить значение SwitchTime
. Однако в редких случаях вы можете испытывать числовые проблемы во время оценки, фильтрации или сглаживания моделей рассеянного пространства состояний. Для таких случаев попробуйте экспериментировать с различными SwitchTime
спецификации, или рассмотрите другую структуру модели. Другими словами, упростите модель или проверьте, что модель идентифицируема. Для примера преобразуйте модель рассеянного пространства состояний в стандартную модель пространства состояний с помощью ssm
.
Дополнительные советы
Программное обеспечение содержит отсутствующие данные. Указание отсутствующих данных с помощью 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 = dssm(@(params)paramMap(params,Y,Z))
Y
и данные предиктора Z
не являются входными параметрами в анонимной функции. Если Y
и Z
существует в рабочем пространстве MATLAB перед созданием Mdl
, затем программное обеспечение устанавливает ссылку на них. В противном случае, если вы передаете Mdl
на estimate
программа выдает ошибку.Ссылка на данные, установленные анонимной функцией, переопределяет все другие соответствующие входные параметры значения estimate
. Это различие особенно важно при проведении анализа окна качения. Для получения дополнительной информации смотрите Анализ окон Timeseries моделей.
Для моделей рассеянного пространства состояний, estimate
обычно переключается с диффузного фильтра Калмана на стандартный фильтр Калмана, когда количество совокупных наблюдений и количество диффузных состояний равны.
[1] Дурбин Дж., и С. Дж. Копман. Анализ временных рядов по методам пространства состояний. 2nd ed. Oxford: Oxford University Press, 2012.
dssm
| filter
| fmincon
| fminunc
| optimoptions
| refine
| smooth