Класс: 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 может принимать любое реальное значение, но w должно быть положительным.
Предикторы и соответствующие коэффициенты
Чтобы включить общее среднее значение для модели наблюдения, включите столбец 1s в Зт.
Чтобы учесть эффекты предиктора при моделировании, необходимо сдувать наблюдения вручную. Для дефляции наблюдений используйте 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 затем во время алгоритма фильтрации программное обеспечение последовательно обновляет, а затем обновляет все одновременно. Эта практика может ускорить оценку параметров, особенно для маломерной, инвариантной по времени модели.
Предположим, что требуется создать модель «state-space» с помощью функции сопоставления «parameter-to-matrix» с этой сигнатурой
[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. Это различие важно, в частности, при проведении анализа скользящего окна. Дополнительные сведения см. в разделе Скользящий анализ моделей временных рядов.
Для моделей диффузного состояния и пространства, estimate обычно переключается с диффузного фильтра Калмана на стандартный фильтр Калмана, когда количество кумулятивных наблюдений и количество диффузных состояний равны.
[1] Дурбин Дж., и С. Дж. Копман. Анализ временных рядов по методам пространства состояний. 2-й ред. Оксфорд: Oxford University Press, 2012.
dssm | filter | fmincon | fminunc | optimoptions | refine | smooth