Суперклассы:
Создайте рассеянную модель в пространстве состояний
dssm
создает линейную рассеянную модель в пространстве состояний с независимыми Гауссовыми воздействиями состояния и инновациями наблюдения. Рассеянная модель в пространстве состояний содержит рассеянные состояния, и отклонениями начальных дистрибутивов рассеянных состояний является Inf
. Все рассеянные состояния независимы друг от друга и всех других состояний. Программное обеспечение реализует рассеянный Фильтр Калмана для фильтрации, сглаживания и оценки параметра.
Вы можете:
Задайте независимую от времени или изменяющуюся во времени модель.
Задайте, являются ли состояния стационарными, статичными, или неустановившимися.
Задайте изменение состояния, загрузку воздействия состояния, чувствительность измерения или матрицы инноваций наблюдения:
Явным образом путем обеспечения матриц
Неявно путем обеспечения функции, которая сопоставляет параметры с матрицами, то есть, функцией отображения параметра к матрице
После создания рассеянной модели в пространстве состояний, содержащей неизвестные параметры, можно оценить ее параметры путем передачи созданного объекта модели dssm
и данных к estimate
. Функция 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
.
disp | Отобразите итоговую информацию для рассеянной модели в пространстве состояний |
оценка | Оценка параметра наибольшего правдоподобия рассеянных моделей в пространстве состояний |
фильтр | Передайте рекурсию рассеянных моделей в пространстве состояний |
прогноз | Предскажите состояния и наблюдения за рассеянными моделями в пространстве состояний |
совершенствовать | Совершенствуйте начальные параметры, чтобы помочь рассеянной оценке модели в пространстве состояний |
сглаженный | Обратная рекурсия рассеянных моделей в пространстве состояний |
Значение. Чтобы изучить, как классы значения влияют на операции копии, смотрите Копирование Объектов (MATLAB).
Задайте 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] Дербин Дж. и С. Дж. Купмен. Анализ Временных рядов Методами Пространства состояний. 2-й редактор Оксфорд: Издательство Оксфордского университета, 2012.