Ich versuche herauszufinden, wie R die Lag-K-Autokorrelation berechnet (anscheinend ist es dieselbe Formel, die von Minitab und SAS verwendet wird), damit ich sie mit der CORREL-Funktion von Excel vergleichen kann, die auf die Serie und ihre k-lagged-Version angewendet wird. R und Excel (mit CORREL) ergeben leicht unterschiedliche Autokorrelationswerte.
Mich würde auch interessieren, ob eine Berechnung korrekter ist als die andere.
r
sas
autocorrelation
excel
Galit Shmueli
quelle
quelle
R
Die Formel von wird unter stats.stackexchange.com/questions/81754/… weiter analysiert und erläutert .Antworten:
Die genaue Gleichung findet sich in: Venables, WN und Ripley, BD (2002) Modern Applied Statistics with S. Fourth Edition. Springer-Verlag. Ich gebe Ihnen ein Beispiel:
Und so weiter (zB
res[1:47]
undres[4:50]
für Lag 3).quelle
Die naive Methode zur Berechnung der Autokorrelation (und möglicherweise der von Excel verwendeten) besteht darin, 2 Kopien des Vektors zu erstellen und dann die ersten n Elemente aus der ersten und die letzten n Elemente aus der zweiten Kopie zu entfernen (wobei n die Verzögerung ist, die Sie haben rechnen ab). Übergeben Sie dann diese beiden Vektoren an die Funktion, um die Korrelation zu berechnen. Diese Methode ist in Ordnung und gibt eine vernünftige Antwort, ignoriert jedoch die Tatsache, dass die beiden verglichenen Vektoren tatsächlich ein Maß für dasselbe sind.
Die verbesserte Version (wie von Wolfgang gezeigt) ähnelt der regulären Korrelation, verwendet jedoch den gesamten Vektor zur Berechnung des Mittelwerts und der Varianz.
quelle