exponenta event banner

Выбор заказа 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), Для процесса скользящего среднего можно использовать автокорреляционную последовательность для оценки заказа. Однако для авторегрессионного (AR) или авторегрессионного скользящего среднего (ARMA) процесса автокорреляционная последовательность не помогает в выборе порядка. В этом примере для выбора заказа модели в процессе AR используется следующий поток операций:

  • Моделирование реализации процесса AR (2).

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

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

  • Подгоняет модель AR (15) к временному ряду, решая уравнения Юле-Уокера (aryule).

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

  • Проверяет последовательность частичной автокорреляции для выбора порядка модели.

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

X (n) + 1,5X (n-1) + 0,75X (n-2) = (n),

где start( 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) объясняются поведением фильтра верхних частот процесса 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). Частичная автокорреляционная последовательность только подтверждает этот результат. На практике имеется только наблюдаемый временной ряд без какой-либо предварительной информации о порядке модели. В реалистичном сценарии частичная автокорреляционная последовательность является важным инструментом для соответствующего выбора порядка модели в стационарных авторегрессионных временных рядах.

См. также

|