Оценка модели пространства состояний, содержащей регрессионый компонент

Этот пример показывает аппроксимацию модели пространства состояний, которая имеет регрессионый компонент наблюдений-уравнений.

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

[x1,tx2,t]=[ϕθ00][x1,t-1x2,t-1]+[11]u1,tyt-βZt=x1,t+σεt,

где:

  • x1,t - изменение уровня безработицы в момент t.

  • x2,t является фиктивным состоянием для эффекта MA (1).

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

  • u1,t - Гауссов ряд нарушений порядка состояния, имеющих среднее 0 и стандартное отклонение 1.

  • εt - гауссов ряд инноваций наблюдений, имеющих среднее 0 и стандартное отклонение σ.

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

load Data_NelsonPlosser

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

isNaN = any(ismissing(DataTable),2);       % Flag periods containing NaNs
gnpn = DataTable.GNPN(~isNaN);
u = DataTable.UR(~isNaN);
T = size(gnpn,1);                          % Sample size
Z = [ones(T-1,1) diff(log(gnpn))];
y = diff(u);

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

Задайте матрицы коэффициентов. Использование NaN значения для указания неизвестных параметров.

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

Задайте модель пространства состояний используя ssm. С тех пор x1,t является процессом ARMA (1,1), иx2,t является белым шумом, укажите, что они являются стационарными процессами.

StateType = [0; 0];
Mdl = ssm(A,B,C,D,'StateType',StateType);

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

params0 = [0.3 0.2 0.1]; % Chosen arbitrarily
EstMdl = estimate(Mdl,y,params0,'Predictors',Z,'Beta0',[0.1 0.1],...
    'lb',[-Inf,-Inf,0,-Inf,-Inf]);
Method: Maximum likelihood (fmincon)
Sample size: 61
Logarithmic  likelihood:     -99.7245
Akaike   info criterion:      209.449
Bayesian info criterion:      220.003
           |      Coeff       Std Err    t Stat     Prob  
----------------------------------------------------------
 c(1)      |  -0.34098       0.29608    -1.15164  0.24948 
 c(2)      |   1.05003       0.41377     2.53771  0.01116 
 c(3)      |   0.48592       0.36790     1.32079  0.18657 
 y <- z(1) |   1.36121       0.22338     6.09358   0      
 y <- z(2) | -24.46711       1.60018   -15.29024   0      
           |                                              
           |    Final State   Std Dev     t Stat    Prob  
 x(1)      |   1.01264       0.44690     2.26592  0.02346 
 x(2)      |   0.77718       0.58917     1.31912  0.18713 

Таблица оценок и статистики, выводимых в Командное окно. EstMdl является ssm модель, и вы можете получить доступ к ее свойствам с помощью записи через точку.

См. также

| | |

Похожие примеры

Подробнее о