Hoe autocorrelatie in r te berekenen
Autocorrelatie meet de mate van gelijkenis tussen een tijdreeks en een vertraagde versie van zichzelf over opeenvolgende tijdsintervallen.
Het wordt ook wel ’seriële correlatie‘ of ‚vertraagde correlatie‘ genoemd omdat het de relatie meet tussen de huidige waarden van een variabele en zijn historische waarden.
Wanneer de autocorrelatie in een tijdreeks hoog is, wordt het eenvoudig om toekomstige waarden te voorspellen door simpelweg naar waarden uit het verleden te verwijzen.
Hoe autocorrelatie in R te berekenen
Stel dat we de volgende tijdreeksen in R hebben die de waarde van een bepaalde variabele voor 15 verschillende perioden weergeven:
#define data
x <- c(22, 24, 25, 25, 28, 29, 34, 37, 40, 44, 51, 48, 47, 50, 51)
We kunnen de autocorrelatie voor elke vertraging in de tijdreeks berekenen met behulp van de acf()- functie uit de tseries- bibliotheek:
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
De manier om het resultaat te interpreteren is als volgt:
- De autocorrelatie bij lag 0 is 1 .
- De autocorrelatie bij lag 1 is 0,832 .
- De autocorrelatie bij lag 2 is 0,656 .
- De autocorrelatie bij lag 3 is 0,491 .
Enzovoort.
We kunnen ook het aantal vertragingen specificeren dat moet worden weergegeven met het lag- argument:
#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
Hoe de autocorrelatiefunctie in R te plotten
We kunnen de autocorrelatiefunctie voor een tijdreeks in R plotten door simpelweg het pl=FALSE- argument niet te gebruiken:
#plot autocorrelation function
acf(x)
Op de x-as wordt het aantal vertragingen weergegeven en op de y-as de autocorrelatie bij dat aantal vertragingen. Standaard begint de plot bij lag = 0 en is de autocorrelatie altijd 1 bij lag = 0.
Je kunt ook een andere titel voor de plot opgeven met behulp van het hoofdargument :
#plot autocorrelation function with custom title acf(x, main=' Autocorrelation by Lag ')
Aanvullende bronnen
Hoe autocorrelatie in Python te berekenen
Hoe autocorrelatie in Excel te berekenen