Выбор порядка AR с частичной автокорреляционной последовательностью

Этот пример показывает, как оценить порядок авторегрессивной модели с помощью частичной автокорреляционной последовательности. Для стационарных временных рядов со значениями X(1),X(2),X(3),,X(k+1), частичная автокорреляционная последовательность с задержкой k - корреляция между X(1) и X(k+1) после регрессии X(1) и X(k+1) на промежуточных наблюдениях, X(2),X(3),X(4),,X(k). Для процесса скользящего среднего можно использовать автокорреляционную последовательность для оценки порядка. Однако для авторегрессивного (AR) или авторегрессивного скользящего среднего значения (ARMA) процесса, автокорреляционная последовательность не помогает в выборе порядка. Этот пример использует следующий рабочий процесс для выбора порядка модели в процессе AR:

  • Моделирует реализацию процесса AR (2).

  • Графически исследует корреляцию между отстающими значениями временных рядов.

  • Исследует выборочную автокорреляционную последовательность временных рядов.

  • Подходит модели AR (15) к временным рядам путем решения уравнений Юла-Уокера (aryule).

  • Использует коэффициенты отражения, возвращенные aryule для вычисления частичной автокорреляционной последовательности.

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

Рассмотрите процесс AR (2), заданный как

X(n)+1.5X(n-1)+0.75X(n-2)=ε(n),

где ε(n) является N(0,1) Процесс белого шума Гауссова. Симулируйте временной ряд с 1000 выборками из процесса AR (2), заданный разностным уравнением. Установите генератор случайных чисел в настройки по умолчанию для воспроизводимых результатов.

A = [1 1.5 0.75];
rng default
x = filter(1,A,randn(1000,1));

Просмотрите частотную характеристику процесса AR (2).

freqz(1,A)

Figure contains 2 axes. Axes 1 contains an object of type line. Axes 2 contains an object of type line.

Процесс AR (2) действует как высокочастотный фильтр в этом случае.

Графически исследуйте корреляцию в x путем создания графиков поля точек X(n+1) против. X(1) для n=2,3,4,5.

figure
for k = 1:4
    subplot(2,2,k)
    plot(x(1:end-k),x(k+1:end),'*')
    xlabel('X_1')
    ylabel(['X_' int2str(k+1)])
    grid
end

Figure contains 4 axes. Axes 1 contains an object of type line. Axes 2 contains an object of type line. Axes 3 contains an object of type line. Axes 4 contains an object of type line.

В график поля точек вы видите линейную связь между X(1) и X(2) и между X(1) и X(3), но не между X(1) и либо X(4) или X(5).

Точки в верхней строке графиков поля точек падают приблизительно на линию с отрицательным уклоном в верхней левой панели и положительным уклоном в верхней правой панели. На графики поля точек в двух нижних панелях не проявляются какие-либо явные линейные зависимости.

Отрицательная корреляция между X(1) и X(2) и положительная корреляция между X(1) и X(3) объясняются поведением highpass-фильтра процесса AR (2).

Найдите образец автокорреляционной последовательности до запаздывания 50 и постройте график результата.

[xc,lags] = xcorr(x,50,'coeff');

figure
stem(lags(51:end),xc(51:end),'filled')
xlabel('Lag')
ylabel('ACF')
title('Sample Autocorrelation Sequence')
grid

Figure contains an axes. The axes with title Sample Autocorrelation Sequence contains an object of type stem.

Последовательность автокорреляции образца показывает отрицательное значение при задержке 1 и положительное значение при задержке 2. Исходя из графика поля точек, этот результат ожидается. Однако вы не можете определить соответствующий порядок для модели AR из выборочной автокорреляционной последовательности.

Подбор модели AR (15) с помощью aryule. Верните последовательность коэффициентов отражения, отрицательным является частичная автокорреляционная последовательность.

[arcoefs,E,K] = aryule(x,15);
pacf = -K;

Постройте график частичной автокорреляционной последовательности вместе с 95% доверительными интервалами большой выборки. Если данные сгенерированы авторегрессивным процессом порядка p, значения выборки частичной автокорреляционной последовательности для лагов, больших, чем p следовать N(0,1/N) распределение, где N - длина временных рядов. Для 95% доверительного интервала критическое значение является 2erf-1(0.95)1.96 и доверительный интервал Δ=0±1.96/N.

stem(pacf,'filled')
xlabel('Lag')
ylabel('Partial ACF')
title('Partial Autocorrelation Sequence')
xlim([1 15])

conf = sqrt(2)*erfinv(0.95)/sqrt(1000);
hold on
plot(xlim,[1 1]'*[-conf conf],'r')
hold off
grid

Figure contains an axes. The axes with title Partial Autocorrelation Sequence contains 3 objects of type stem, line.

Единственные значения частичной автокорреляционной последовательности за пределами 95% доверительных границ происходят в лагах 1 и 2. Это указывает, что правильный порядок модели для процесса AR равен 2.

В этом примере вы сгенерировали временные ряды для моделирования процесса AR (2). Частичная автокорреляционная последовательность только подтверждает этот результат. На практике у вас есть только наблюдаемые временные ряды без какой-либо предварительной информации о порядке модели. В реалистичном сценарии частичная автокорреляционная последовательность является важным инструментом для соответствующего выбора порядка модели в стационарных авторегрессивных временных рядах.

См. также

|