Як розрахувати автокореляцію в 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)

Автокореляція в R

На осі абсцис відображається кількість затримок, а на осі у – автокореляція при цій кількості затримок. За замовчуванням графік починається з відставання = 0, а автокореляція завжди дорівнюватиме 1 при відставанні = 0.

Ви також можете вказати інший заголовок сюжету за допомогою головного аргументу:

 #plot autocorrelation function with custom title
acf(x, main=' Autocorrelation by Lag ') 

Автокореляційний графік у R

Додаткові ресурси

Як обчислити автокореляцію в Python
Як розрахувати автокореляцію в Excel

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *