Класс: ssm
Симуляция модели пространства состояний более гладкая
возвращает моделируемые состояния (X
= simsmooth(Mdl
,Y
)X
) путем применения более сглаженной симуляции к инвариантной по времени или изменяющейся во времени модели пространства состояний (Mdl
) и ответы (Y
). То есть программное обеспечение использует прямую фильтрацию и обратную дискретизацию, чтобы получить один случайный путь из апостериорного распределения состояний.
возвращает моделируемые состояния с дополнительными опциями, заданными одним или несколькими X
= simsmooth(Mdl
,Y
,Name,Value
)Name,Value
аргументы в виде пар.
Mdl
- Стандартная модель пространства состоянийssm
объект моделиСтандартная модель пространства состояний, заданная как ssm
объект модели, возвращенный ssm
или estimate
. Стандартная модель пространства состояний имеет конечные начальные элементы ковариационной матрицы состояний. То есть Mdl
не может быть dssm
объект модели.
Если Mdl
не полностью задан (то есть Mdl
содержит неизвестные параметры), затем задайте значения для неизвестных параметров используя '
Params
'
Name,Value
аргумент в виде пары. В противном случае программа выдает ошибку.
Y
- Наблюдаемые данные откликаНаблюдаемые данные отклика на которые Mdl
is fit, заданный как числовая матрица или вектор камеры из числовых векторов.
Если 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'
- Количество выборочных путей для генерации вариантов1
(по умолчанию) | положительное целое числоКоличество путей расчета для генерации вариантов, заданное как разделенная разделенными запятой парами, состоящая из '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'
- Прогнозируемый порог неопределенности0
(по умолчанию) | неотрицательной скаляромПрогнозируемый порог неопределенности, заданный как разделенная разделенными запятой парами, состоящая из 'Tolerance'
и неотрицательный скаляр.
Если прогнозируемая неопределенность для конкретного наблюдения меньше Tolerance
во время числовой оценки, затем программное обеспечение удаляет неопределенность, соответствующую наблюдению, из прогнозной ковариационной матрицы перед ее инверсией.
Лучшая практика задать Tolerance
на малое число, для примера, le-15
, для преодоления численных препятствий во время оценки.
Пример: 'Tolerance',le-15
Типы данных: double
X
- Моделируемые состоянияМоделируемые состояния, возвращенные как числовая матрица или камера векторов.
Если Mdl
является инвариантной по времени моделью относительно состояний, затем X
является numObs
-by- m -by- numPaths
массив. То есть каждая строка соответствует периоду, каждый столбец соответствует состоянию в модели, и каждая страница соответствует пути расчета. Последняя строка соответствует последним моделируемым состояниям.
Если Mdl
является изменяющейся во времени моделью относительно состояний, затем X
является numObs
-by- 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'
аргумент пары "имя-значение".
The 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);
Нарисуйте 1000 путей из апостериорного распределения .
N = 1000;
SimX = simsmooth(Mdl,y,'NumPaths',N);
SimX
является 100
-by- 1
-by- 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] Дурбин Дж., и С. Дж. Копман. «Простое и эффективное сглаживание симуляции для анализа временных рядов в пространстве состояний». Биометрика. Том 89., № 3, 2002, с. 603-615.
[2] Дурбин Дж., и С. Дж. Копман. Анализ временных рядов по методам пространства состояний. 2nd ed. Oxford: Oxford University Press, 2012.
estimate
| filter
| simulate
| smooth
| ssm
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.