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)
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 ')
Dodatkowe zasoby
Jak obliczyć autokorelację w Pythonie
Jak obliczyć autokorelację w programie Excel