Класс: 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 может принимать любое реальное значение, но 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))
Это также полезно, если для каждой серии ответов требуется отдельный набор предикторов.
Если уравнение состояния требует предикторов, то включите предикторы в качестве дополнительных переменных состояния. Поскольку данные предиктора изменяются со временем, модель состояния-пространства с предикторами в качестве состояний изменяется во времени.
Дополнительные советы
Программное обеспечение вмещает недостающие данные. Указать отсутствующие данные с помощью 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 = ssm(@(params)paramMap(params,Y,Z))
Y и данные предиктора Z не являются входными аргументами в анонимной функции. Если Y и Z существует в рабочей области MATLAB перед созданием Mdl, то программное обеспечение устанавливает связь с ними. В противном случае, если вы пройдете Mdl кому estimate, программное обеспечение выдает ошибку.Ссылка на данные, установленные анонимной функцией, переопределяет все другие соответствующие значения входных аргументов estimate. Это различие важно, в частности, при проведении анализа скользящего окна. Дополнительные сведения см. в разделе Скользящий анализ моделей временных рядов.
[1] Дурбин Дж., и С. Дж. Копман. Анализ временных рядов по методам пространства состояний. 2-й ред. Оксфорд: Oxford University Press, 2012.
filter | fmincon | fminunc | forecast | optimoptions | refine | simulate | smooth | ssm