Как рассчитать автокорреляцию в r
Автокорреляция измеряет степень сходства между временным рядом и его запаздывающей версией на протяжении последовательных временных интервалов.
Ее также иногда называют «серийной корреляцией» или «корреляцией с задержкой», поскольку она измеряет взаимосвязь между текущими значениями переменной и ее историческими значениями.
Когда автокорреляция во временном ряду высока, становится легко предсказать будущие значения, просто ссылаясь на прошлые значения.
Как рассчитать автокорреляцию в 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