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