сглаженный

Класс: dssm

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

Синтаксис

X = smooth(Mdl,Y)
X = smooth(Mdl,Y,Name,Value)
[X,logL,Output] = smooth(___)

Описание

пример

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(___) использование любой из входных параметров в предыдущих синтаксисах, чтобы дополнительно возвратить loglikelihood значение (logL) и выходной массив структур (Output) с помощью любого из входных параметров в предыдущих синтаксисах. Поля Output включают:

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

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

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

  • loglikelihood значение

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

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

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

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

Рассеянная модель в пространстве состояний, заданная как объект модели 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 должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

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

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

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

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

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

  • Если вы создали Mdl явным образом (то есть, путем определения матриц без функции отображения параметра к матрице), то программное обеспечение сопоставляет элементы Params к NaN s в матрицах модели в пространстве состояний и значениях начального состояния. Программное обеспечение ищет NaN s по столбцам выполняющий приказ A, B, C, D, 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 является объемом выборки, и количество столбцов X является количеством состояний. Последняя строка X содержит последние сглаживавшие состояния.

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

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

Значение функции Loglikelihood, возвращенное как скаляр.

Недостающие наблюдения и наблюдения перед SwitchTime не способствуют loglikelihood.

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

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

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

    Поле ОписаниеОценка
    LogLikelihoodСкаляр loglikelihood значение целевой функцииНет данных
    SmoothedStatesmt-by-1 вектор сглаживавших состоянийE(xt|y1,...,yT)
    SmoothedStatesCovmt-by-mt ковариационная матрица отклонения сглаживавших состоянийVar(xt|y1,...,yT)
    SmoothedStateDisturbkt-by-1 вектор сглаживавших, утвердите воздействияE(ut|y1,...,yT)
    SmoothedStateDisturbCovkt-by-kt ковариационная матрица отклонения сглаживавшего, утвердите воздействияVar(ut|y1,...,yT)
    SmoothedObsInnovht-by-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'})

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

Предположим, что линейное соотношение между уровнем безработицы и номинальным валовым национальным продуктом (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 является моделью 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

Оцените рассеянную модель в пространстве состояний, сглаживайте состояния, и затем извлеките другие оценки от выходного аргумента 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 array
    {'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
    _____________    ______________    _________________    ____________________

      []              []                 []                     []              
      []              []                 []                     []              
      [ 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;
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;

Советы

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

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

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

Алгоритмы

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

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

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

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

Ссылки

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

Введенный в R2015b