Суперклассы:
Создайте модель пространства состояний
ssm
создает стандартный, линейный объект модели пространства состояний с независимыми нарушениями порядка Гауссова состояния и инновациями наблюдений.
Вы можете:
Задайте инвариантную по времени или изменяющуюся по времени модель.
Задайте, являются ли состояния стационарными, статическими или нестационарными.
Задайте матрицы перехода, возмущения состояния, чувствительности к измерениям или инновационных наблюдений:
Явно путем предоставления матриц
Неявно путем предоставления функции, которая преобразует параметры в матрицы, то есть функцию отображения параметра в матрицу
Как только вы задали модель:
Если он содержит неизвестные параметры, передайте модель и данные в estimate
, который оценивает параметры.
Если состояние и матрицы наблюдений не содержат неизвестных параметров (для примера - оценочная ssm
модель), затем можно передать его в:
ssm
поддерживает регрессию экзогенных предикторов. Чтобы включить регрессионный компонент, который отклоняет наблюдения, смотрите estimate
, filter
, forecast
, и smooth
.
создает модель пространства состояний (Mdl
= ssm(A
,B
,C
)Mdl
) с использованием матрицы переходов между состояниями A
, матрица возмущения-загрузки B
, и матрица чувствительности к измерениям C
.
создает модель пространства состояний, используя матрицу переходов Mdl
= ssm(A
,B
,C
,D
)A
, матрица возмущения-загрузки B
Матрица чувствительности к измерениям C
, и матрица инноваций-наблюдений D
.
использует любой из входных параметров в предыдущих синтаксисах и дополнительные опции, которые вы задаете одним или несколькими Mdl
= ssm(___,Name,Value
)Name,Value
аргументы в виде пар.
Name
может также быть именем свойства и Value
- соответствующее значение. Name
должны находиться внутри одинарных кавычек (''
). Можно задать несколько аргументы пары "имя-значение" в любом порядке как Name1,Value1,...,NameN,ValueN
.
создает модель пространства состояний с помощью функции отображения параметра в матрицу (Mdl
= ssm(ParamMap
)ParamMap
) что вы пишете. Функция преобразует вектор параметров в матрицы A
, B
, и C
. Опционально ParamMap
можно сопоставить параметры с D
, Mean0
, или Cov0
. Чтобы задать типы состояний, функция может вернуться StateType
. Чтобы включить регрессионный компонент в уравнение наблюдения, ParamMap
может также возвращать дефлированные данные о наблюдении.
преобразует объект модели рассеянного пространства состояний (Mdl
= ssm(DSSMMdl
)DSSMMdl
) объекту модели пространства состояний (Mdl
). ssm
устанавливает все начальные отклонения диффузных состояний в SSMMdl.Cov0
на 1e07
.
Значение. Чтобы узнать, как классы значений влияют на операции копирования, см. раздел «Копирование объектов».
Задайте ParamMap
в более общей или сложной настройке, где, например:
Начальные значения состояния являются параметрами.
В изменяющихся во времени моделях необходимо использовать одни и те же параметры в течение нескольких периодов.
Вы хотите наложить ограничения на параметры.
Значения по умолчанию для Mean0
и Cov0
:
Если вы явным образом задаете модель пространства состояний (то есть предоставляете матрицы коэффициентов A
, B
, C
, и опционально D
), затем:
Для стационарных состояний программное обеспечение генерирует начальное значение с помощью стационарного распределения. Если вы предоставляете все значения в матрицах коэффициентов (то есть ваша модель не имеет неизвестных параметров), то ssm
генерирует начальные значения. В противном случае программное обеспечение генерирует начальные значения во время оценки.
Для состояний, которые всегда являются константой 1, ssm
устанавливает Mean0
по 1 и Cov0
на 0
.
Для диффузных состояний программное обеспечение устанавливает Mean0
в 0 и Cov0
на 1e7
по умолчанию.
Если вы неявно создали модель пространства состояний (то есть вы предоставляете вектор параметра функции отображения матриц коэффициентов ParamMap
), затем программное обеспечение генерирует любые начальные значения во время оценки.
Для статических состояний, которые не равны 1 на протяжении всей выборки, программное обеспечение не может присвоить значение вырожденному, начальному распределению состояния. Поэтому установите статические состояния на 2
использование аргумента пары "имя-значение" StateType
. Впоследствии программное обеспечение обрабатывает статические состояния как нестационарные и присваивает статическому состоянию диффузное начальное распределение.
Лучшая практика задать StateType
для каждого состояния. По умолчанию программное обеспечение генерирует StateType
но это поведение может быть неточным. Для примера программное обеспечение не может различать постоянное состояние 1 и статическое состояние.
Программное обеспечение не может вывести StateType
из данных, потому что данные теоретически получают из уравнения наблюдения. Реализации уравнения состояния ненаблюдаемы.
ssm
модели не хранят наблюдаемые отклики или данные предиктора. Поставляйте данные по мере необходимости с помощью соответствующих входов или аргументов пары "имя-значение".
Предположим, что вы хотите создать модель пространства состояний с помощью функции отображения параметра в матрицу с этой сигнатурой:
[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 моделей.
Если состояния наблюдаемы, и уравнение состояния напоминает:
Модель ARIMA, тогда можно задать arima
вместо этого моделируйте.
Регрессионная модель с ошибками ARIMA, тогда можно задать regARIMA
вместо этого моделируйте.
Модель условного отклонения, затем можно задать garch
, egarch
, или gjr
вместо этого моделируйте.
Модель VAR, тогда можно оценить такую модель используя varm
и estimate
.
Чтобы не навязывать предварительных знаний начальным значениям состояний диффузии и реализовать диффузный фильтр Калмана, создайте dssm
объект модели вместо ssm
объект модели.
[1] Дурбин Дж., и С. Дж. Копман. Анализ временных рядов по методам пространства состояний. 2nd ed. Oxford: Oxford University Press, 2012.