Як розрахувати автокореляцію в 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)
На осі абсцис відображається кількість затримок, а на осі у – автокореляція при цій кількості затримок. За замовчуванням графік починається з відставання = 0, а автокореляція завжди дорівнюватиме 1 при відставанні = 0.
Ви також можете вказати інший заголовок сюжету за допомогою головного аргументу:
#plot autocorrelation function with custom title acf(x, main=' Autocorrelation by Lag ')
Додаткові ресурси
Як обчислити автокореляцію в Python
Як розрахувати автокореляцію в Excel