Класс: ssm
Более сглаженная симуляция модели в пространстве состояний
возвращает симулированные состояния (X
= simsmooth(Mdl
,Y
)X
) путем применения симуляции, более сглаженной к независимой от времени или изменяющейся во времени модели в пространстве состояний (Mdl
) и ответы (Y
). Таким образом, программное обеспечение использует вперед фильтрацию и заднюю выборку, чтобы получить один случайный путь из апостериорного распределения состояний.
возвращает симулированные состояния с дополнительными опциями, заданными одним или несколькими X
= simsmooth(Mdl
,Y
,Name,Value
)Name,Value
парные аргументы.
Mdl
— Стандартная модель в пространстве состоянийssm
объект моделиСтандартная модель в пространстве состояний в виде anssm
объект модели возвращен ssm
или estimate
. Стандартная модель в пространстве состояний имеет конечные элементы ковариационной матрицы начального состояния. Таким образом, Mdl
не может быть dssm
объект модели.
Если Mdl
не полностью задан (то есть, Mdl
содержит неизвестные параметры), затем задайте значения для неизвестных параметров с помощью '
Params
'
Name,Value
парный аргумент. В противном случае программное обеспечение выдает ошибку.
Y
— Наблюдаемые данные об ответеНаблюдаемые данные об ответе, к который Mdl
является подходящим в виде числовой матрицы или вектора ячейки числовых векторов.
Если Mdl
независимо от времени относительно уравнения наблюдения, затем Y
T-by-n матрица, где каждая строка соответствует периоду, и каждый столбец соответствует конкретному наблюдению в модели. T является объемом выборки, и m является количеством наблюдений на период. Последняя строка Y
содержит последние наблюдения.
Если Mdl
время, варьируясь относительно уравнения наблюдения, затем Y
T-by-1 вектор ячейки. Каждый элемент вектора ячейки соответствует периоду и содержит nt - размерный вектор наблюдений в течение того периода. Соответствующие размерности содействующих матриц в Mdl.C{t}
и Mdl.D{t}
должно быть сопоставимо с матрицей в Y{t}
в течение всех периодов. Последняя ячейка Y
содержит последние наблюдения.
NaN
элементы указывают на недостающие наблюдения. Для получения дополнительной информации о том, как Фильтр Калмана размещает недостающие наблюдения, см. Алгоритмы.
Задайте дополнительные разделенные запятой пары Name,Value
аргументы. Name
имя аргумента и Value
соответствующее значение. Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN
.
'NumOut'
— Количество выходных аргументов функции отображения параметра к матрицеКоличество выходных аргументов отображения параметра к матрице функционирует для неявно заданных моделей в пространстве состояний в виде разделенной запятой пары, состоящей из 'NumOut'
и положительное целое число.
Если вы неявно задаете модель в пространстве состояний, и вы не предоставляете NumOut
, затем программное обеспечение автоматически обнаруживает количество выходных аргументов функции отображения параметра к матрице. Такое обнаружение использует дополнительные ресурсы и может замедлить более сглаженную симуляцию.
Для явным образом заданных моделей программное обеспечение игнорирует NumOut
и отображает предупреждающее сообщение.
'NumPaths'
— Количество демонстрационных путей, чтобы сгенерировать варианты
(значение по умолчанию) | положительное целое числоКоличество демонстрационных путей, чтобы сгенерировать варианты в виде разделенной запятой пары, состоящей из 'NumPaths'
и положительное целое число.
Пример: 'NumPaths',1000
Типы данных: double
'Params'
— Значения для неизвестных параметровЗначения для неизвестных параметров в модели в пространстве состояний в виде разделенной от столбца пары, состоящей из 'Params'
и числовой вектор.
Элементы Params
соответствуйте неизвестным параметрам в матрицах модели в пространстве состояний A
B
C
, и D
, и, опционально, начальное состояние означает Mean0
и ковариационная матрица Cov0
.
Если вы создали Mdl
явным образом (то есть, путем определения матриц без функции отображения параметра к матрице), затем программное обеспечение сопоставляет элементы Params
к NaN
s в матрицах модели в пространстве состояний и значениях начального состояния. Программное обеспечение ищет NaN
s по столбцам выполняющий приказ A
B
C
D
, Mean0
, и Cov0
.
Если вы создали Mdl
неявно (то есть, путем определения матриц с функцией отображения параметра к матрице), затем необходимо установить начальные значения параметров для матриц модели в пространстве состояний, значений начального состояния и типов состояния в функции отображения параметра к матрице.
Если Mdl
содержит неизвестные параметры, затем необходимо задать их значения. В противном случае программное обеспечение игнорирует значение Params
.
Типы данных: double
'Tolerance'
— Предскажите порог неопределенности
(значение по умолчанию) | неотрицательный скалярПредскажите порог неопределенности в виде разделенной запятой пары, состоящей из 'Tolerance'
и неотрицательный скаляр.
Если неопределенность прогноза для конкретного наблюдения меньше Tolerance
во время числовой оценки затем программное обеспечение удаляет неопределенность, соответствующую наблюдению от ковариационной матрицы прогноза перед ее инверсией.
Это - лучшая практика установить Tolerance
к небольшому числу, например, le-15
, преодолеть числовые препятствия во время оценки.
Пример: 'Tolerance',le-15
Типы данных: double
X
— Симулированные состоянияСимулированные состояния, возвращенные как числовая матрица или матрица ячейки векторов.
Если Mdl
независимая от времени модель относительно состояний, затем X
numObs
- m numPaths
массив. Таким образом, каждая строка соответствует периоду, каждый столбец соответствует состоянию в модели, и каждая страница соответствует демонстрационному пути. Последняя строка соответствует последним симулированным состояниям.
Если Mdl
изменяющаяся во времени модель относительно состояний, затем X
numObs
- numPaths
матрица ячейки векторов. X{t,j}
содержит вектор длины mt симулированных состояний в течение периода t демонстрационного пути j. Последняя строка X
содержит последний набор симулированных состояний.
Предположим, что скрытый процесс является моделью AR (1). Впоследствии, уравнение состояния
где является Гауссовым со средним значением 0 и стандартным отклонением 1.
Сгенерируйте случайную последовательность 100 наблюдений от , предположение, что ряд запускается в 1,5.
T = 100; ARMdl = arima('AR',0.5,'Constant',0,'Variance',1); x0 = 1.5; rng(1); % For reproducibility x = simulate(ARMdl,T,'Y0',x0);
Предположим далее, что скрытый процесс подвергается аддитивной погрешности измерения. Впоследствии, уравнение наблюдения
где является Гауссовым со средним значением 0 и стандартным отклонением 0.75. Вместе, скрытые уравнения процесса и наблюдения составляют модель в пространстве состояний.
Используйте случайный скрытый процесс состояния (x
) и уравнение наблюдения, чтобы сгенерировать наблюдения.
y = x + 0.75*randn(T,1);
Задайте четыре содействующих матрицы.
A = 0.5; B = 1; C = 1; D = 0.75;
Задайте модель в пространстве состояний с помощью содействующих матриц.
Mdl = ssm(A,B,C,D)
Mdl = State-space model type: ssm State vector length: 1 Observation vector length: 1 State disturbance vector length: 1 Observation innovation vector length: 1 Sample size supported by model: Unlimited State variables: x1, x2,... State disturbances: u1, u2,... Observation series: y1, y2,... Observation innovations: e1, e2,... State equation: x1(t) = (0.50)x1(t-1) + u1(t) Observation equation: y1(t) = x1(t) + (0.75)e1(t) Initial state distribution: Initial state means x1 0 Initial state covariance matrix x1 x1 1.33 State types x1 Stationary
Mdl
ssm
модель. Проверьте, что модель правильно задана с помощью отображения в Командном окне. Программное обеспечение выводит, что процесс состояния является стационарным. Впоследствии, программное обеспечение устанавливает среднее значение начального состояния и ковариацию к среднему значению и отклонению стационарного распределения модели AR (1).
Симулируйте один путь каждое из состояний и наблюдений. Укажите, что пути охватывают 100 периодов.
simX = simsmooth(Mdl,y);
simX
100 1 вектор симулированных состояний.
Постройте истинные значения состояния с симулированными состояниями.
figure; plot(1:T,x,'-k',1:T,simX,':r','LineWidth',2); title 'True State Values and Simulated States'; xlabel 'Period'; ylabel 'State'; legend({'True state values','Simulated state values'});
По умолчанию, simulate
симулирует один путь для каждого состояния в модели в пространстве состояний. Чтобы провести исследование Монте-Карло, задайте, чтобы симулировать большое количество путей с помощью 'NumPaths'
аргумент пары "имя-значение".
simsmooth
функция чертит случайные выборки от распределения сглаживавших состояний или распределения состояния, учитывая все данные и параметры. Это - определение апостериорного распределения состояния. Предположим, что скрытый процесс является AR (1). Впоследствии, уравнение состояния
где является Гауссовым со средним значением 0 и стандартным отклонением 1.
Сгенерируйте случайную последовательность 100 наблюдений от , предположение, что ряд запускается в 1,5.
T = 100; ARMdl = arima('AR',0.5,'Constant',0,'Variance',1); x0 = 1.5; rng(1); % For reproducibility x = simulate(ARMdl,T,'Y0',x0);
Предположим далее, что скрытый процесс подвергается аддитивной погрешности измерения. Впоследствии, уравнение наблюдения
где является Гауссовым со средним значением 0 и стандартным отклонением 0.75. Вместе, скрытые уравнения процесса и наблюдения составляют модель в пространстве состояний.
Используйте случайный скрытый процесс состояния (x
) и уравнение наблюдения, чтобы сгенерировать наблюдения.
y = x + 0.75*randn(T,1);
Задайте четыре содействующих матрицы.
A = 0.5; B = 1; C = 1; D = 0.75;
Задайте модель в пространстве состояний с помощью содействующих матриц.
Mdl = ssm(A,B,C,D);
Сглаживайте состояния модели в пространстве состояний.
xsmooth = smooth(Mdl,y);
Чертите 1 000 путей от апостериорного распределения .
N = 1000;
SimX = simsmooth(Mdl,y,'NumPaths',N);
SimX
100
- 1
- 1000
массив. Строки соответствуют периодам, столбцы соответствуют отдельным государствам, и листы соответствуют отдельным путям.
Поскольку SimX
имеет одноэлементную размерность, сверните ее так, чтобы ее листы соответствовали столбцам с помощью squeeze
.
SimX = squeeze(SimX);
Вычислите среднее значение, стандартное отклонение, и 95% доверительных интервалов состояния в каждый период.
xbar = mean(SimX,2); xstd = std(SimX,[],2); ci = [xbar - 1.96*xstd, xbar + 1.96*xstd];
Постройте сглаживавшие состояния и средние значения и 95% доверительных интервалов ничьих в каждый период.
figure; plot(xsmooth,'k','LineWidth',2); hold on; plot(xbar,'--r','LineWidth',2); plot(1:T,ci(:,1),'--r',1:T,ci(:,2),'--r'); legend('Smoothed states','Simulation Mean','95% CIs'); title('Smooth States and Simulation Statistics'); xlabel('Period')
simulation smoother является алгоритмом для рисования выборок от условного выражения, соединения, апостериорного распределения состояний, учитывая полный наблюдаемый ряд ответа. Можно использовать их случайные ничьи, чтобы провести исследование симуляции средств оценки.
Для одномерной, независимой от времени модели в пространстве состояний симуляция более сглаженный алгоритм выполняет эти шаги.
Получает сглаживавшие состояния () использование Фильтра Калмана.
Выбирает среднее значение начального состояния и значения отклонения. Чертите начальное случайное состояние от Распределения Гаусса со средним значением начального состояния и отклонением.
Случайным образом генерирует воздействия состояния T и инновации наблюдения от стандартного нормального распределения. Обозначьте случайные варианты в течение периода t и , соответственно.
Создает случайные наблюдения и состояния путем включения и в модель в пространстве состояний
Получает сглаживавшие состояния () путем применения Фильтра Калмана к модели в пространстве состояний с помощью ряда наблюдения .
Получает случайный путь сглаживавших состояний от использования апостериорного распределения
Для получения дополнительной информации см. [1].
Для увеличенной скорости в симуляции состояний, симуляция более сглаженные реализации минимальная проверка ошибок размерности. Поэтому для моделей с неизвестными значениями параметров, необходимо гарантировать, что размерности данных и размерности содействующих матриц сопоставимы.
[1] Дербин Дж. и С. Дж. Купмен. “Простая и Эффективная Симуляция, Более сглаженная для Анализа Временных рядов Пространства состояний”. Biometrika. Vol 89., № 3, 2002, стр 603–615.
[2] Дербин Дж. и С. Дж. Купмен. Анализ Временных рядов Методами Пространства состояний. 2-й редактор Оксфорд: Издательство Оксфордского университета, 2012.
estimate
| filter
| simulate
| smooth
| ssm
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.