exponenta event banner

Оцените стационарность временных рядов

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

Симулируйте данные

Предположим, что истинная модель для линейных временных рядов

где инновационный ряд является iid со средним значением 0 и отклонением 1.5. Симулируйте данные из этой модели. Эта модель является модульным корневым процессом, потому что полином задержки правой стороны имеет характеристический корень 1.

SimMod = arima('AR',0.2,'MA',-0.5,'D',1,'Constant',0,...
'Variance',1.5);
T = 30;
rng(5);
Y = simulate(SimMod,T);

Оцените стационарность статистически

Econometrics Toolbox™ имеет четыре формальных теста, чтобы выбрать из проверять, являются ли временные ряды неустановившимися: adftest, kpsstest, pptest, и vratiotest. Используйте adftest выполнять Более полный Дики тест на данных, которые вы симулировали на предыдущих шагах.

adftest(Y)
ans =

  logical

   0

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

Оцените стационарность визуально

Предположим, что у вас нет модели временных рядов, но у вас есть данные. Смотрите график данных. Кроме того, смотрите графики демонстрационной автокорреляционной функции (ACF) и демонстрационной частичной автокорреляционной функции (PACF).

plot(Y);
title('Simulated Time Series')
xlabel('t')
ylabel('Y')

subplot(2,1,1)
autocorr(Y)
subplot(2,1,2)
parcorr(Y)

Нисходящий скошенный из графика показывает модульный корневой процесс. Продолжительности линейных сегментов на графике ACF постепенно затухают и продолжают этот шаблон для увеличения задержек. Это поведение указывает на неустановившийся ряд.

Оцените стационарность алгебраически

Предположим, что у вас есть модель в стандартной форме:

Напишите уравнение в обозначении оператора задержки и решите для добраться

Используйте LagOp преобразовывать рациональный полином в полином. Кроме того, используйте isStable смотреть характеристические корни знаменателя.

num = LagOp([1 -0.5]);
denom = LagOp([1 -1.2 0.2]);
quot = mrdivide(num,denom);

[r1,r2] = isStable(denom)
Warning: Termination window not currently open and coefficients
         are not below tolerance. 

r1 =

  logical

   0


r2 =

    1.0000
    0.2000

Это предупреждение указывает, что получившееся частное имеет степень, больше, чем 1 001, например, не может быть завершающей работу степени. Это указывает на нестабильность. r1 = 0 указывает, что знаменатель нестабилен. r2 вектор корней характеристик, один из корней равняется 1. Поэтому это - модульный корневой процесс.

isStable числовая стандартная программа, которая вычисляет характеристические значения полинома. Если вы используете quot в качестве аргумента к isStable, затем выход может указать, что полином устойчив (т.е. все характеристические значения немного меньше 1). Вы можете должны быть настроить опции допуска isStable получить более точные результаты.

Похожие темы