Класс: dssm
Оценка параметра наибольшего правдоподобия рассеянных моделей в пространстве состояний
EstMdl = estimate(Mdl,Y,params0)
EstMdl = estimate(Mdl,Y,params0,Name,Value)
[EstMdl,estParams,EstParamCov,logL,Output]
= estimate(___)
оценивает рассеянную модель в пространстве состояний с дополнительными опциями, заданными одним или несколькими аргументами пары EstMdl
= estimate(Mdl
,Y
,params0
,Name,Value
)Name,Value
. Например, можно задать, чтобы выкачать наблюдения линейной регрессией с помощью данных о предикторе, управлять, как результаты появляются в Командном окне и показывают который метод оценки использовать для ковариационной матрицы параметра.
[
дополнительно возвращает эти аргументы с помощью любого из входных параметров в предыдущих синтаксисах.EstMdl
,estParams
,EstParamCov
,logL
,Output
]
= estimate(___)
estParams
, вектор, содержащий предполагаемые параметры
EstParamCov
, предполагаемая ковариационная матрица отклонения предполагаемых параметров
logL
, оптимизированное loglikelihood значение
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] Дербин Дж. и С. Дж. Купмен. Анализ Временных рядов Методами Пространства состояний. 2-й редактор Оксфорд: Издательство Оксфордского университета, 2012.
dssm
| filter
| fmincon
| fminunc
| optimoptions
| refine
| smooth