Класс: 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 на NaNs в матрицах модели пространства состояний и начальных значениях состояний. Программа ищет NaNs столбцово по порядку 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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.