exponenta event banner

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

В этом примере показано, как подогнать модель состояния-пространства, которая имеет компонент регрессии уравнения наблюдения.

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

[x1, tx2, t] = [startstart00] [x1, t-1x2, t-1] + [11] u1, tyt-βZt = x1, 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 и доступ к его свойствам можно получить с помощью точечной нотации.

См. также

| | |

Связанные примеры

Подробнее