filter

Класс: dssm

Передайте рекурсию рассеянных моделей в пространстве состояний

Описание

пример

X = filter(Mdl,Y) возвращает отфильтрованные состояния (X) путем выполнения прямой рекурсии полностью заданной рассеянной модели в пространстве состояний Mdl. Таким образом, filter применяет рассеянный Фильтр Калмана с помощью Mdl и наблюдаемые ответы Y.

пример

X = filter(Mdl,Y,Name,Value) дополнительные опции использования заданы одним или несколькими Name,Value парные аргументы. Например, задайте коэффициенты регрессии и данные о предикторе, чтобы выкачать наблюдения или задать, чтобы использовать одномерную обработку многомерной модели.

Если Mdl не полностью задан, затем необходимо задать неизвестные параметры как известные скаляры с помощью 'Params' Name,Value парный аргумент.

пример

[X,logL,Output] = filter(___) дополнительно возвращает значение логарифмической правдоподобности (logL) и массив структуры output (Output) использование любого из входных параметров в предыдущих синтаксисах. Output содержит:

  • Фильтрованные и предсказанные состояния

  • Предполагаемые ковариационные матрицы отфильтрованных и предсказанных состояний

  • Значение логарифмической правдоподобности

  • Предсказанные наблюдения и его предполагаемая ковариационная матрица

  • Настроенное усиление Кальмана

  • Вектор, указывающий, который раньше фильтровали данные программное обеспечение

Входные параметры

развернуть все

Рассеянная модель в пространстве состояний, заданная как dssm объект модели возвращен dssm или estimate.

Если Mdl не полностью задан (то есть, Mdl содержит неизвестные параметры), затем задайте значения для неизвестных параметров с помощью 'Params' аргумент пары "имя-значение". В противном случае программное обеспечение выдает ошибку. estimate возвращает полностью заданные модели в пространстве состояний.

Mdl не хранит наблюдаемые ответы или данные о предикторе. Снабдите данными везде, где необходимое использование соответствующего входа или аргументов пары "имя-значение".

Наблюдаемые данные об ответе, к который 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.

Пример: 'Beta',beta,'Predictors',Z задает, чтобы выкачать наблюдения компонентом регрессии, состоявшим из данных о предикторе Z и матрица коэффициентов beta.

Коэффициенты регрессии, соответствующие переменным предикторам, заданным как разделенная запятой пара, состоящая из 'Beta' и d-by-n числовая матрица. d является количеством переменных предикторов (см. Predictors) и n является количеством наблюдаемого ряда ответа (см. Y).

Если Mdl предполагаемая модель в пространстве состояний, затем задайте предполагаемые коэффициенты регрессии, сохраненные в estParams.

Значения для неизвестных параметров в модели в пространстве состояний, заданной как разделенная от столбца пара, состоящая из 'Params' и числовой вектор.

Элементы Params соответствуйте неизвестным параметрам в матрицах модели в пространстве состояний ABC, и D, и, опционально, начальное состояние означает Mean0 и ковариационная матрица Cov0.

  • Если вы создали Mdl явным образом (то есть, путем определения матриц без функции отображения параметра к матрице), затем программное обеспечение сопоставляет элементы Params к NaNs в матрицах модели в пространстве состояний и значениях начального состояния. Программное обеспечение ищет NaNs по столбцам выполняющий приказ ABCD, Mean0, и Cov0.

  • Если вы создали Mdl неявно (то есть, путем определения матриц с функцией отображения параметра к матрице), затем необходимо установить начальные значения параметров для матриц модели в пространстве состояний, значений начального состояния и типов состояния в функции отображения параметра к матрице.

Если Mdl содержит неизвестные параметры, затем необходимо задать их значения. В противном случае программное обеспечение игнорирует значение Params.

Типы данных: double

Переменные предикторы в уравнении наблюдения модели в пространстве состояний, заданном как разделенная запятой пара, состоящая из 'Predictors' и T-by-d числовая матрица. T является количеством периодов, и d является количеством переменных предикторов. Строка t соответствует наблюдаемым предикторам в период t (Zt). Расширенное уравнение наблюдения

ytZtβ=Cxt+Dut.

Таким образом, программное обеспечение выкачивает наблюдения с помощью компонента регрессии. β является независимым от времени вектором коэффициентов регрессии, которые программное обеспечение оценивает всеми другими параметрами.

Если существуют наблюдения n на период, то регрессы программного обеспечения весь ряд предиктора на каждое наблюдение.

Если вы задаете Predictors, затем Mdl должно быть независимо от времени. В противном случае программное обеспечение возвращает ошибку.

По умолчанию программное обеспечение исключает компонент регрессии из модели в пространстве состояний.

Типы данных: double

Итоговый период для рассеянной инициализации состояния, заданной как разделенная запятой пара, состоящая из 'SwitchTime' и положительное целое число. Таким образом, estimate использует наблюдения с периода 1 к периоду SwitchTime как предварительная выборка, чтобы реализовать exact initial Kalman filter (см. Рассеянный Фильтр Калмана и [1]). После инициализации рассеянных состояний, estimate применяет стандартный Фильтр Калмана к наблюдениям с периодов SwitchTime + 1 к T.

Значение по умолчанию для SwitchTime последний период, в который предполагаемая сглаживавшая матрица точности состояния сингулярна (т.е. инверсия ковариационной матрицы). Эта спецификация представляет наименьшее количество количества наблюдений, требуемых инициализировать рассеянные состояния. Поэтому это - лучшая практика использовать значение по умолчанию.

Если вы устанавливаете SwitchTime к значению, больше, чем значение по умолчанию, затем эффективные уменьшения объема выборки. Если вы устанавливаете SwitchTime к значению, которое является меньше, чем значение по умолчанию, затем estimate не может иметь достаточных наблюдений, чтобы инициализировать рассеянные состояния, которые могут привести к ошибке или неподходящим значениям.

В общем случае оценка, фильтруя и сглаживая модели в пространстве состояний по крайней мере с одним рассеянным состоянием требует SwitchTime быть по крайней мере одним. Отображение оценки по умолчанию содержит эффективный объем выборки.

Типы данных: double

Предскажите порог неопределенности, заданный как разделенная запятой пара, состоящая из 'Tolerance' и неотрицательный скаляр.

Если неопределенность прогноза для конкретного наблюдения меньше Tolerance во время числовой оценки затем программное обеспечение удаляет неопределенность, соответствующую наблюдению от ковариационной матрицы прогноза перед ее инверсией.

Это - лучшая практика установить Tolerance к небольшому числу, например, le-15, преодолеть числовые препятствия во время оценки.

Пример: 'Tolerance',le-15

Типы данных: double

Одномерная обработка многомерного серийного флага, заданного как разделенная запятой пара, состоящая из 'Univariate' и true или false. Одномерная обработка многомерного ряда также известна как sequential filtering.

Одномерная обработка может ускорить и улучшить числовую устойчивость Фильтра Калмана. Однако все инновации наблюдения должны быть некоррелироваными. Таким образом, Dt, Dt' должен быть диагональным, где Dt, t = 1..., T, является одним из следующего:

  • Матричный D{t} в изменяющейся во времени модели в пространстве состояний

  • Матричный D в независимой от времени модели в пространстве состояний

Пример: 'Univariate',true

Типы данных: логический

Выходные аргументы

развернуть все

Фильтрованные состояния, возвращенные как числовая матрица или вектор ячейки числовых векторов.

Если Mdl независимо от времени, затем количество строк X объем выборки, T и количество столбцов X количество состояний, m. Последняя строка X содержит последние отфильтрованные состояния.

Если Mdl время, варьируясь, затем X вектор ячейки с длиной, равной объему выборки. Ячейка t X содержит вектор отфильтрованных состояний с длиной, равной количеству состояний в период t. Последняя ячейка X содержит последние отфильтрованные состояния.

filter заполняет первый SwitchTime периоды X с нулями или пустыми ячейками. Нули или пустые ячейки представляют периоды, требуемые инициализировать рассеянные состояния.

Значение функции логарифмической правдоподобности, возвращенное как скаляр.

Недостающие наблюдения и наблюдения перед SwitchTime не способствуйте логарифмической правдоподобности.

Фильтрация результатов периодом, возвращенным как массив структур.

Output T-by-1 структура, где элемент t соответствует результату фильтрации во время t.

  • Если Univariate false (это по умолчанию), затем следующая таблица обрисовывает в общих чертах поля Output.

    Поле ОписаниеОценка
    LogLikelihoodСкалярное значение целевой функции логарифмической правдоподобностиНет данных
    FilteredStatesmt-by-1 вектор отфильтрованных состоянийE(xt|y1,...,yt)
    FilteredStatesCovmt-by-mt ковариационная матрица отклонения отфильтрованных состоянийVar(xt|y1,...,yt)
    ForecastedStatesmt-by-1 вектор прогнозов состоянияE(xt|y1,...,yt1)
    ForecastedStatesCovmt-by-mt ковариационная матрица отклонения прогнозов состоянияVar(xt|y1,...,yt1)
    ForecastedObsht-by-1 предсказанный вектор наблюденияE(yt|y1,...,yt1)
    ForecastedObsCovht-by-ht ковариационная матрица отклонения предсказанных наблюденийVar(yt|y1,...,tt1)
    KalmanGainmt-by-nt настроил матрицу усиления КальманаНет данных
    DataUsedht-by-1 логический вектор, указывающий, ли фильтры программного обеспечения с помощью конкретного наблюдения. Например, если наблюдением i во время t является NaN, затем элемент i в DataUsed во время t является 0.Нет данных

  • Если Univarite true, затем поля Output эквивалентны в предыдущей таблице, за исключением следующих поправок.

    Поле Изменения
    ForecastedObsТе же размерности, как будто Univariate = 0, но только первые элементы равны
    ForecastedObsCov

    n-by-1 вектор предсказанных отклонений наблюдения.

    Первый элемент этого вектора эквивалентен ForecastedObsCov(1,1) когда Univariate false. Остальная часть элементов не обязательно эквивалентна их соответствующим значениям в ForecastObsCov когда Univariate.

    KalmanGainТе же размерности, как будто Univariate false, хотя KalmanGain может иметь различные записи.

filter заполняет первый SwitchTime периоды полей Output с пустыми ячейками. Эти пустые ячейки представляют периоды, требуемые инициализировать рассеянные состояния.

Примеры

развернуть все

Предположим, что скрытый процесс является случайным обходом. Впоследствии, уравнение состояния

xt=xt-1+ut,

где ut является Гауссовым со средним значением 0 и стандартным отклонением 1.

Сгенерируйте случайную последовательность 100 наблюдений от xt, предположение, что ряд запускается в 1,5.

T = 100;
x0 = 1.5;
rng(1); % For reproducibility
u = randn(T,1);
x = cumsum([x0;u]);
x = x(2:end);

Предположим далее, что скрытый процесс подвергается аддитивной погрешности измерения. Впоследствии, уравнение наблюдения

yt=xt+εt,

где εt является Гауссовым со средним значением 0 и стандартным отклонением 0.75. Вместе, скрытые уравнения процесса и наблюдения составляют модель в пространстве состояний.

Используйте случайный скрытый процесс состояния (x) и уравнение наблюдения, чтобы сгенерировать наблюдения.

y = x + 0.75*randn(T,1);

Задайте четыре содействующих матрицы.

A = 1;
B = 1;
C = 1;
D = 0.75;

Создайте рассеянную модель в пространстве состояний с помощью содействующих матриц. Укажите, что распределение начального состояния является рассеянным.

Mdl = dssm(A,B,C,D,'StateType',2)
Mdl = 
State-space model type: dssm

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) = 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  Inf 

State types
    x1   
 Diffuse 

Mdl dssm модель. Проверьте, что модель правильно задана с помощью отображения в Командном окне.

Отфильтруйте состояния в течение периодов 1 - 100. Постройте истинные значения состояния и отфильтрованные оценки состояния.

filteredX = filter(Mdl,y);

figure
plot(1:T,x,'-k',1:T,filteredX,':r','LineWidth',2)
title({'State Values'})
xlabel('Period')
ylabel('State')
legend({'True state values','Filtered state values'})

Истинные значения и оценки фильтра являются приблизительно тем же самым, за исключением первого отфильтрованного состояния, которое является нулем.

Предположим, что линейное соотношение между уровнем безработицы и номинальным валовым национальным продуктом (nGNP) представляет интерес. Предположим далее, что уровень безработицы является серией AR (1). Символически, и в форме пространства состояний, модель

xt=ϕxt-1+σutyt-βZt=xt,

где:

  • xt уровень безработицы во время t.

  • yt наблюдаемое изменение в уровне безработицы, выкачиваемом возвратом nGNP (Zt).

  • ut серия Gaussian воздействий состояния, имеющих среднее значение 0 и неизвестное стандартное отклонение σ.

Загрузите набор данных Нельсона-Плоссера, который содержит уровень безработицы и nGNP ряд, среди прочего.

load Data_NelsonPlosser

Предварительно обработайте данные путем взятия натурального логарифма nGNP ряда и удаления стартового NaN значения от каждого ряда.

isNaN = any(ismissing(DataTable),2);       % Flag periods containing NaNs
gnpn = DataTable.GNPN(~isNaN);
y = diff(DataTable.UR(~isNaN));
T = size(gnpn,1);                          % The sample size
Z = price2ret(gnpn);

Этот пример продолжает использовать ряд без NaN значения. Однако с помощью среды Фильтра Калмана, программное обеспечение может разместить ряд, содержащий отсутствующие значения.

Задайте содействующие матрицы.

A = NaN;
B = NaN;
C = 1;

Создайте модель в пространстве состояний с помощью dssm путем предоставления содействующих матриц и указывания, что значения состояния прибывают из рассеянного распределения. Рассеянная спецификация указывает на полное незнание о моментах начального распределения.

StateType = 2;
Mdl = dssm(A,B,C,'StateType',StateType);

Оцените параметры. Задайте компонент регрессии и его начальное значение для оптимизации с помощью 'Predictors' и 'Beta0' аргументы пары "имя-значение", соответственно. Отобразите оценки и всю информацию о диагностике оптимизации. Ограничьте оценку σ ко всем положительным, вещественным числам.

params0 = [0.3 0.2]; % Initial values chosen arbitrarily
Beta0 = 0.1;
[EstMdl,estParams] = estimate(Mdl,y,params0,'Predictors',Z,'Beta0',Beta0,...
    'lb',[-Inf 0 -Inf]);
Method: Maximum likelihood (fmincon)
Effective Sample size:             60
Logarithmic  likelihood:     -110.477
Akaike   info criterion:      226.954
Bayesian info criterion:      233.287
           |      Coeff       Std Err    t Stat    Prob 
--------------------------------------------------------
 c(1)      |   0.59436       0.09408     6.31738  0     
 c(2)      |   1.52554       0.10758    14.17991  0     
 y <- z(1) | -24.26161       1.55730   -15.57930  0     
           |                                            
           |    Final State   Std Dev     t Stat   Prob 
 x(1)      |   2.54764        0           Inf     0     

EstMdl ssm модель, и можно получить доступ к ее свойствам с помощью записи через точку.

Отфильтруйте предполагаемую рассеянную модель в пространстве состояний. EstMdl не хранит данные или коэффициенты регрессии, таким образом, необходимо передать в них в использовании аргументов пары "имя-значение" 'Predictors' и 'Beta', соответственно. Постройте предполагаемые, отфильтрованные состояния.

filteredX = filter(EstMdl,y,'Predictors',Z,'Beta',estParams(end));

figure
plot(dates(end-(T-1)+1:end),filteredX);
xlabel('Period')
ylabel('Change in the unemployment rate')
title('Filtered Change in the Unemployment Rate')
axis tight

Оцените рассеянную модель в пространстве состояний, отфильтруйте состояния, и затем извлеките другие оценки из Output выходной аргумент.

Рассмотрите рассеянную модель в пространстве состояний

[x1,tx2,t]=[ϕ001][x1,t-1x2,t-1]+[σ100σ2][u1,tu2,t]yt=[11][x1,tx2,t]

Переменная состояния x1,t модель AR (1) с авторегрессивным коэффициентом ϕ. x2,t случайный обход. Воздействия u1,t и u2,t независимые Гауссовы случайные переменные со средним значением 0 и стандартными отклонениями σ1 и σ2, соответственно. Наблюдение yt безошибочная сумма x1,t и x2,t.

Сгенерируйте данные из модели в пространстве состояний. Чтобы симулировать данные, предположите что объем выборки T=100, ϕ=0.6, σ1=0.2, σ2=0.1, и x1,0=x2,0=2.

rng(1); % For reproducibility
T = 100;
ARMdl = arima('AR',0.6,'Constant',0,'Variance',0.2^2);
x1 = simulate(ARMdl,T,'Y0',2);
u3 = 0.1*randn(T,1);
x3 = cumsum([2;u3]);
x3 = x3(2:end);
y = x1 + x3;

Задайте содействующие матрицы модели в пространстве состояний. Чтобы указать на неизвестные параметры, используйте NaN значения.

A = [NaN 0; 0 1];
B = [NaN 0; 0 NaN];
C = [1 1];

Создайте рассеянную модель в пространстве состояний, которая описывает модель выше. Задайте это x1,t и x2,t имейте рассеянные распределения начального состояния.

StateType = [2 2];
Mdl = dssm(A,B,C,'StateType',StateType);

Оцените неизвестные параметры Mdl. Выберите начальные значения параметров для оптимизации. Укажите, что стандартные отклонения ограничиваются быть положительными, но все другие параметры являются неограниченным использованием 'lb' аргумент пары "имя-значение".

params0 = [0.01 0.1 0.01]; % Initial values chosen arbitrarily
EstMdl = estimate(Mdl,y,params0,'lb',[-Inf 0 0]);
Method: Maximum likelihood (fmincon)
Effective Sample size:             98
Logarithmic  likelihood:      3.44283
Akaike   info criterion:    -0.885655
Bayesian info criterion:      6.92986
      |     Coeff      Std Err   t Stat     Prob  
--------------------------------------------------
 c(1) | 0.54134       0.20494    2.64145  0.00826 
 c(2) | 0.18439       0.03305    5.57897   0      
 c(3) | 0.11783       0.04347    2.71039  0.00672 
      |                                           
      |  Final State   Std Dev    t Stat    Prob  
 x(1) | 0.24884       0.17168    1.44943  0.14722 
 x(2) | 1.73762       0.17168   10.12121   0      

Параметры близко к их истинным значениям.

Отфильтруйте состояния EstMdl, и запросите весь другой доступный выход.

[X,logL,Output] = filter(EstMdl,y);

X T- 2 матрицы отфильтрованных состояний, logL оптимизированное значение логарифмической правдоподобности финала и Output массив структур, содержащий различные оценки, что Фильтр Калмана требует. Перечислите поля output использование fields.

fields(Output)
ans = 9x1 cell array
    {'LogLikelihood'      }
    {'FilteredStates'     }
    {'FilteredStatesCov'  }
    {'ForecastedStates'   }
    {'ForecastedStatesCov'}
    {'ForecastedObs'      }
    {'ForecastedObsCov'   }
    {'KalmanGain'         }
    {'DataUsed'           }

Преобразуйте Output к таблице.

OutputTbl = struct2table(Output);
OutputTbl(1:10,1:5) % Display first ten rows of first five variables
ans=10×5 table
    LogLikelihood    FilteredStates    FilteredStatesCov    ForecastedStates    ForecastedStatesCov
    _____________    ______________    _________________    ________________    ___________________

    {0x0 double}      {0x0 double}       {0x0 double}         {0x0 double}         {0x0 double}    
    {0x0 double}      {0x0 double}       {0x0 double}         {0x0 double}         {0x0 double}    
    {[  0.1827]}      {2x1 double}       {2x2 double}         {2x1 double}         {2x2 double}    
    {[  0.0972]}      {2x1 double}       {2x2 double}         {2x1 double}         {2x2 double}    
    {[  0.4472]}      {2x1 double}       {2x2 double}         {2x1 double}         {2x2 double}    
    {[  0.2073]}      {2x1 double}       {2x2 double}         {2x1 double}         {2x2 double}    
    {[  0.5167]}      {2x1 double}       {2x2 double}         {2x1 double}         {2x2 double}    
    {[  0.2389]}      {2x1 double}       {2x2 double}         {2x1 double}         {2x2 double}    
    {[  0.5064]}      {2x1 double}       {2x2 double}         {2x1 double}         {2x2 double}    
    {[ -0.0105]}      {2x1 double}       {2x2 double}         {2x1 double}         {2x2 double}    

Первые две строки таблицы содержат пустые ячейки или нули. Они соответствуют наблюдениям, требуемым инициализировать рассеянный Фильтр Калмана. Таким образом, SwitchTime 2.

SwitchTime = 2;

Постройте отфильтрованные и предсказанные состояния.

ForeX = cell2mat(OutputTbl.ForecastedStates')'; % Orient forecasted states
ForeX = [zeros(SwitchTime,2);ForeX]; % Include zeros for initialization

figure;
plot(1:T,X(:,1),'r',1:T,ForeX(:,1),'b');
xlabel('Period');
ylabel('State estimate');
title('State 1 Estimates')
legend('Filtered','Forecasted');
grid on;

figure;
plot(1:T,X(:,2),'r',1:T,ForeX(:,2),'b');
xlabel('Period');
ylabel('State estimate');
title('State 2 Estimates')
legend('Filtered','Forecasted');
grid on;

Советы

  • Mdl не хранит данные об ответе, данные о предикторе и коэффициенты регрессии. Снабдите данными везде, где необходимое использование соответствующего входа или аргументов пары "имя-значение".

  • Это - лучшая практика позволить filter определить значение SwitchTime. Однако в редких случаях, вы можете испытать числовые проблемы во время оценки, фильтрации или сглаживания рассеянных моделей в пространстве состояний. Для таких случаев попытайтесь экспериментировать с различным SwitchTime спецификации, или рассматривают различную структуру модели (например, упростите или повторно проверьте модель). Например, преобразуйте рассеянную модель в пространстве состояний в стандартную модель в пространстве состояний с помощью ssm.

  • Чтобы ускорить оценку для низко-размерных, независимых от времени моделей, установите 'Univariate',true. Используя эту спецификацию, программное обеспечение последовательно обновляет скорее затем обновление целиком во время процесса фильтрации.

Алгоритмы

  • Фильтр Калмана хранит недостающие данные, не обновляя отфильтрованное оценочное соответствие состояния недостающим наблюдениям. Другими словами, предположите, что существует недостающее наблюдение в период t. Затем прогноз состояния для периода t на основе предыдущего t – 1 наблюдение и отфильтрованное состояние в течение периода t эквивалентен.

  • Для явным образом заданных моделей в пространстве состояний, filter применяет все предикторы к каждому ряду ответа. Однако каждый ряд ответа имеет свой собственный набор коэффициентов регрессии.

  • Рассеянный Фильтр Калмана требует преддемонстрационных данных. Если недостающие наблюдения начинают временные ряды, то рассеянный Фильтр Калмана должен собрать достаточно ненедостающих наблюдений, чтобы инициализировать рассеянные состояния.

  • Для рассеянных моделей в пространстве состояний, filter обычно переключатели от рассеянного Фильтра Калмана до стандартного Фильтра Калмана, когда количество совокупных наблюдений и количество рассеянных состояний равны. Однако, если рассеянная модель в пространстве состояний имеет проблемы идентифицируемости (например, модель является слишком комплексной, чтобы соответствовать к данным), то filter может потребовать, чтобы больше наблюдений инициализировало рассеянные состояния. В крайних случаях, filter требует целой выборки.

Ссылки

[1] Дербин Дж. и С. Дж. Купмен. Анализ Временных рядов Методами Пространства состояний. 2-й редактор Оксфорд: Издательство Оксфордского университета, 2012.

Введенный в R2015b

Для просмотра документации необходимо авторизоваться на сайте