Автокорреляция измеряет степень сходства между временным рядом и его запаздывающей версией в течение последовательных интервалов времени.
Его также иногда называют «последовательной корреляцией» или «запаздывающей корреляцией», поскольку он измеряет взаимосвязь между текущими значениями переменной и ее историческими значениями.
Когда автокорреляция во временном ряду высока, становится легко предсказать будущие значения, просто ссылаясь на прошлые значения.
Как рассчитать автокорреляцию в R
Предположим, у нас есть следующий временной ряд в R, который показывает значение определенной переменной в течение 15 различных периодов времени:
#define data
x <- c(22, 24, 25, 25, 28, 29, 34, 37, 40, 44, 51, 48, 47, 50, 51)
Мы можем рассчитать автокорреляцию для каждого лага во временном ряду, используя функцию acf() из библиотеки tseries :
library (tseries)
#calculate autocorrelations
acf(x, pl= FALSE )
0 1 2 3 4 5 6 7 8 9 10
1.000 0.832 0.656 0.491 0.279 0.031 -0.165 -0.304 -0.401 -0.458 -0.450
11
-0.369
Способ интерпретации вывода следующий:
- Автокорреляция при задержке 0 равна 1 .
- Автокорреляция при задержке 1 составляет 0,832 .
- Автокорреляция при задержке 2 составляет 0,656 .
- Автокорреляция при задержке 3 составляет 0,491 .
И так далее.
Мы также можем указать количество лагов для отображения с помощью аргумента lag :
#calculate autocorrelations up to lag=5
acf(x, lag=5, pl= FALSE )
Autocorrelations of series 'x', by lag
0 1 2 3 4 5
1.000 0.832 0.656 0.491 0.279 0.031
Как построить функцию автокорреляции в R
Мы можем построить функцию автокорреляции для временного ряда в R, просто не используя аргумент pl=FALSE :
#plot autocorrelation function
acf(x)

По оси X отображается количество задержек, а по оси Y — автокорреляция при этом количестве задержек. По умолчанию график начинается с запаздывания = 0, а автокорреляция всегда будет равна 1 при запаздывании = 0.
Вы также можете указать другой заголовок для графика, используя основной аргумент:
#plot autocorrelation function with custom title
acf(x, main='Autocorrelation by Lag')

Дополнительные ресурсы
Как рассчитать автокорреляцию в Python
Как рассчитать автокорреляцию в Excel