Interpretation der CCF-Korrelation in R.

10

Ich benutze ccf, um eine Korrelation zwischen 2 Zeitreihen zu finden. Ich bekomme eine Handlung, die so aussieht:

Geben Sie hier die Bildbeschreibung ein

Beachten Sie, dass ich hauptsächlich an der Korrelation für die Verzögerung = 0 interessiert bin. Fragen:

  1. Interpretieren Sie es richtig, dass es eine Kreuzkorrelation für die Verzögerung = 0 gibt, da für diese Verzögerung die Kreuzkorrelation über der gepunkteten Linie liegt?
  2. Wie soll ich den Grad der Kreuzkorrelation in diesem Beispiel interpretieren, ist dies signifikant (wie ich es gerade interpretiere, gibt es eine kleine Kreuzkorrelation)?
  3. Wie kann ich nur den acfWert für lag = 0 extrahieren ?
Syntagma
quelle

Antworten:

3

Wie kann ich nur den ACF-Wert für lag = 0 extrahieren?

corr(Xt,Xt)

Interpretieren Sie es richtig, dass es eine Kreuzkorrelation für die Verzögerung = 0 gibt, da für diese Verzögerung die Kreuzkorrelation über der gepunkteten Linie liegt?

Wenn Sie meinen "würde ich daraus schließen, dass die Kreuzkorrelation der Bevölkerung ungleich Null ist?" dann ja, wenn diese gepunktete Linie das gleiche Signifikanzniveau hat, das Sie verwenden würden (und die Annahmen gelten).

Dies bedeutet nicht , tatsächlich , dass die Bevölkerung Kreuzkorrelation ist tatsächlich Null (das wäre erstaunlich scheinen). Wenn das Intervall dafür jedoch um Null herum ziemlich eng ist, kann es manchmal sinnvoll sein, es so zu behandeln, als ob es wäre.

Wie soll ich den Grad der Kreuzkorrelation in diesem Beispiel interpretieren, ist dies signifikant (wie ich es gerade interpretiere, gibt es eine kleine Kreuzkorrelation)?

0,3 ist nicht unbedingt klein, das hängt von Ihrem Maßstab ab. In einigen Anwendungen kann es ziemlich groß sein, in anderen moderat, in anderen klein.

Glen_b -Reinstate Monica
quelle
Bedeutet dies, dass das Modell nicht validiert werden kann, da bei Verzögerung 0 eine signifikante Kreuzkorrelation besteht?
Vam
7

5%

0.3

Sie können die genauen Werte der Kreuzkorrelationen erhalten, indem Sie einfach die Ausgabe in einem Objekt speichern und das Element betrachten acf.

res <- ccf(x, y, lag.max = 30)
res
# information stored in the output object
names(res)
[1] "acf"    "type"   "n.used" "lag"    "series" "snames"
res$acf
javlacalle
quelle
Vielleicht möchten Sie so etwas tun, data.frame(res$lag, res$acf)damit Sie leicht erkennen können, für welche Verzögerung jede Korrelation gilt.
Eipi10