Суперклассы:
Создайте рассеянную модель в пространстве состояний
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.