Обнаружьте автокорреляцию

Вычислите демонстрационный ACF и PACF

Этот пример показывает, как вычислить демонстрационную автокорреляционную функцию (ACF) и частичная автокорреляционная функция (PACF), чтобы качественно оценить автокорреляцию.

Временные ряды составляют 57 дней подряд сверхкоротких замыканий от бензобака в Колорадо.

Шаг 1. Загрузите данные.

Загрузите временные ряды сверхкоротких замыканий.

load(fullfile(matlabroot,'examples','econ','Data_Overshort.mat'))
Y = Data;
N = length(Y);

figure
plot(Y)
xlim([0,N])
title('Overshorts for 57 Consecutive Days')

Ряд, кажется, является стационарным.

Шаг 2. Постройте демонстрационный ACF и PACF.

Постройте демонстрационную автокорреляционную функцию (ACF) и частичная автокорреляционная функция (PACF).

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

Демонстрационный ACF и PACF показывают значительную автокорреляцию. Демонстрационный ACF имеет значительную автокорреляцию в задержке 1. Демонстрационный PACF имеет значительную автокорреляцию в задержках 1, 3, и 4.

Отличное сокращение ACF, объединенного с более постепенным затуханием PACF, предполагает, что модель MA (1) может подходить для этих данных.

Шаг 3. Сохраните демонстрационный ACF и значения PACF.

Запасите демонстрационный ACF и значения PACF, чтобы отстать 15.

acf = autocorr(Y,'NumLags',15);
pacf = parcorr(Y,'NumLags',15);
[length(acf) length(pacf)]
ans = 1×2

    16    16

Выходные параметры acf и pacf являются векторами, хранящими демонстрационную автокорреляцию и частичную автокорреляцию в задержках 0, 1..., 15 (в общей сложности 16 задержек).

Проведите Q-тест Ljung-поля

Этот пример показывает, как провести Q-тест Ljung-поля для автокорреляции.

Временные ряды составляют 57 дней подряд сверхкоротких замыканий от бензобака в Колорадо.

Шаг 1. Загрузите данные.

Загрузите временные ряды сверхкоротких замыканий.

load(fullfile(matlabroot,'examples','econ','Data_Overshort.mat'))
Y = Data;
N = length(Y);

figure
plot(Y)
xlim([0,N])
title('Overshorts for 57 Consecutive Days')

Данные, кажется, колеблются вокруг постоянного среднего значения, таким образом, никакие преобразования данных не необходимы прежде, чем провести Q-тест Ljung-поля.

Шаг 2. Проведите Q-тест Ljung-поля.

Проведите Q-тест Ljung-поля для автокорреляции в задержках 5, 10, и 15.

[h,p,Qstat,crit] = lbqtest(Y,'Lags',[5,10,15])
h = 1x3 logical array

   1   1   1

p = 1×3

    0.0016    0.0007    0.0013

Qstat = 1×3

   19.3604   30.5986   36.9639

crit = 1×3

   11.0705   18.3070   24.9958

Все выходные параметры являются векторами с тремя элементами, соответствуя тестам в каждой из трех задержек. Первый элемент каждого вывода соответствует тесту в задержке 5, второй элемент соответствует тесту в задержке 10, и третий элемент соответствует тесту в задержке 15.

Тестовые решения хранятся в векторном h. Значение средние значения h = 1 отклоняет нулевую гипотезу. Векторный p содержит p-значения для трех тестов. В α=0.05 уровень значения, нулевая гипотеза никакой автокорреляции отклоняется во всех трех задержках. Заключение состоит в том, что существует значительная автокорреляция в ряду.

Тестовая статистика и χ2 критические значения даны в выходных параметрах Qstat и crit, соответственно.

Ссылки

[1] Броквелл, P. J. и Р. А. Дэвис. Введение во Временные ряды и Прогнозирование. 2-й редактор Нью-Йорк, Нью-Йорк: Спрингер, 2002.

Смотрите также

Приложения

Функции

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

Больше о