Jak obliczyć autokorelację w r


Autokorelacja mierzy stopień podobieństwa między szeregiem czasowym a jego opóźnioną wersją w kolejnych odstępach czasu.

Czasami nazywa się ją także „korelacją szeregową” lub „korelacją opóźnioną”, ponieważ mierzy związek między bieżącymi wartościami zmiennej a jej wartościami historycznymi.

Gdy autokorelacja w szeregu czasowym jest wysoka, łatwo jest przewidzieć przyszłe wartości, po prostu odnosząc się do wartości z przeszłości.

Jak obliczyć autokorelację w R

Załóżmy, że mamy w R następujący szereg czasowy, który pokazuje wartość pewnej zmiennej dla 15 różnych okresów:

 #define data
x <- c(22, 24, 25, 25, 28, 29, 34, 37, 40, 44, 51, 48, 47, 50, 51)

Możemy obliczyć autokorelację dla każdego opóźnienia w szeregu czasowym za pomocą funkcji acf() z biblioteki 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 

Sposób interpretacji wyniku jest następujący:

  • Autokorelacja przy opóźnieniu 0 wynosi 1 .
  • Autokorelacja przy opóźnieniu 1 wynosi 0,832 .
  • Autokorelacja przy opóźnieniu 2 wynosi 0,656 .
  • Autokorelacja przy opóźnieniu 3 wynosi 0,491 .

I tak dalej.

Możemy również określić liczbę opóźnień do wyświetlenia za pomocą argumentu opóźnienia :

 #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

Jak wykreślić funkcję autokorelacji w R

Możemy wykreślić funkcję autokorelacji dla szeregu czasowego w R, po prostu nie używając argumentu pl=FALSE :

 #plot autocorrelation function
acf(x)

Autokorelacja w R

Oś x wyświetla liczbę opóźnień, a oś y wyświetla autokorelację przy tej liczbie opóźnień. Domyślnie wykres zaczyna się od opóźnienia = 0, a autokorelacja będzie zawsze wynosić 1 przy opóźnieniu = 0.

Możesz także określić inny tytuł fabuły, używając głównego argumentu:

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

Wykres autokorelacji w R

Dodatkowe zasoby

Jak obliczyć autokorelację w Pythonie
Jak obliczyć autokorelację w programie Excel

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *