smooth

Класс: dssm

Обратная рекурсия моделей рассеянного пространства состояний

Описание

пример

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

пример

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

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

пример

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

  • Сглаженные состояния и их предполагаемая ковариационная матрица

  • Сглаженные нарушения порядка состояния и их предполагаемая ковариационная матрица

  • Сглаженные инновации наблюдений и их предполагаемая ковариационная матрица

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

  • Скорректированный коэффициент усиления Калмана

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

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

расширить все

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

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

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

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

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

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

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

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

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

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

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

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

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

Переменные предиктора в уравнении наблюдения модели пространства состояний, заданные как разделенная разделенными запятой парами, состоящая из 'Predictors' и a 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

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

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

расширить все

Сглаженные состояния, возвращенные как числовая матрица или вектор камеры матриц.

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

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

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

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

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

Сглаживание результатов по периодам, возвращаемое как массив структур.

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

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

    ОбластьОписаниеОценка
    LogLikelihoodСкалярное значение целевой функции логарифмической правдоподобностиН/Д
    SmoothedStatesmt вектор сглаженных состояний -by-1E(xt|y1,...,yT)
    SmoothedStatesCovmt -by mt дисперсионно-ковариационная матрица сглаженных состоянийVar(xt|y1,...,yT)
    SmoothedStateDisturbkt вектор сглаженного состояния -by-1E(ut|y1,...,yT)
    SmoothedStateDisturbCovkt -by kt дисперсионно-ковариационная матрица сглаженных нарушений порядка состоянияVar(ut|y1,...,yT)
    SmoothedObsInnovht вектор-на-1 инноваций сглаженных наблюденийE(εt|y1,...,yT)
    SmoothedObsInnovCovht -by ht дисперсионно-ковариационная матрица сглаженных инноваций наблюденийVar(εt|y1,...,yT)
    KalmanGainmt -by  nt скорректированную матрицу усиления КалманаН/Д
    DataUsedht -by-1 логический вектор, указывающий, фильтрует ли программное обеспечение с использованием определенного наблюдения. Для примера, если наблюдение i в момент t является NaN, затем элемент i в DataUsed в то время t как 0.Н/Д

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

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

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

Примеры

расширить все

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

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. Постройте график значений истинного состояния и оценок сглаженного состояния.

SmoothedX = smooth(Mdl,y);

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

Figure contains an axes. The axes with title State Values contains 2 objects of type line. These objects represent True state values, Smoothed state values.

Истинные значения и сглаженные оценки примерно одинаковы.

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

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

где:

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

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

  • ut - Гауссов ряд нарушений порядка состояния, имеющих среднее 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 является dssm модель, и вы можете получить доступ к ее свойствам с помощью записи через точку.

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

SmoothedX = smooth(EstMdl,y,'Predictors',Z,'Beta',estParams(end));

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

Figure contains an axes. The axes with title Smoothed Change in the Unemployment Rate contains an object of type line.

Оцените модель рассеянного пространства состояний, сглаживайте состояния, а затем извлеките другие оценки из 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] = smooth(EstMdl,y);

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

fields(Output)
ans = 9x1 cell
    {'LogLikelihood'          }
    {'SmoothedStates'         }
    {'SmoothedStatesCov'      }
    {'SmoothedStateDisturb'   }
    {'SmoothedStateDisturbCov'}
    {'SmoothedObsInnov'       }
    {'SmoothedObsInnovCov'    }
    {'KalmanGain'             }
    {'DataUsed'               }

Преобразование Output в таблицу.

OutputTbl = struct2table(Output);
OutputTbl(1:10,1:4) % Display first ten rows of first four variables
ans=10×4 table
    LogLikelihood    SmoothedStates    SmoothedStatesCov    SmoothedStateDisturb
    _____________    ______________    _________________    ____________________

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

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

SwitchTime = 2;

Постройте график сглаженных состояний и их отдельных 95% доверительных интервалов типа Вальда.

CI = nan(T,2,2);

for j = (SwitchTime + 1):T
    CovX = OutputTbl.SmoothedStatesCov{j};
    CI(j,:,1) = X(j,1) + 1.96*sqrt(CovX(1,1))*[-1 1];
    CI(j,:,2) = X(j,2) + 1.96*sqrt(CovX(2,2))*[-1 1];    
end

figure;
plot(1:T,X(:,1),'k',1:T,CI(:,:,1),'--r');
xlabel('Period');
ylabel('Smoothed states');
title('State 1 Estimates')
legend('Smoothed','95% Individual CIs');
grid on;

Figure contains an axes. The axes with title State 1 Estimates contains 3 objects of type line. These objects represent Smoothed, 95% Individual CIs.

figure;
plot(1:T,X(:,2),'k',1:T,CI(:,:,2),'--r');
xlabel('Period');
ylabel('Smoothed states');
title('State 2 Estimates')
legend('Smoothed','95% Individual CIs');
grid on;

Figure contains an axes. The axes with title State 2 Estimates contains 3 objects of type line. These objects represent Smoothed, 95% Individual CIs.

Совет

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

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

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

Алгоритмы

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

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

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

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

Ссылки

[1] Дурбин Дж., и С. Дж. Копман. Анализ временных рядов по методам пространства состояний. 2nd ed. Oxford: Oxford University Press, 2012.

Введенный в R2015b