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)

Autocorrelatie in R

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 ') 

Autocorrelatieplot in R

Aanvullende bronnen

Hoe autocorrelatie in Python te berekenen
Hoe autocorrelatie in Excel te berekenen

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert