Frequenzwert für Sekunden / Minuten-Intervalldaten in R


28

Ich verwende R (3.1.1) und ARIMA-Modelle für die Vorhersage. Ich möchte wissen, was der "Frequenz" -Parameter sein soll, der in der ts()Funktion zugewiesen wird , wenn ich Zeitreihendaten verwende, die sind:

  1. durch Minuten getrennt und über 180 Tage verteilt (1440 Minuten / Tag)
  2. durch Sekunden getrennt und verteilt sich auf 180 Tage (86.400 Sekunden / Tag).

Wenn ich mich recht erinnere, ist eine "Häufigkeit" in ts in R die Anzahl der Beobachtungen pro "Jahreszeit".

Frage Teil 1:

Was ist die "Jahreszeit" in meinem Fall?

Wenn die Jahreszeit "Tag" ist, ist dann die "Frequenz" für Minuten = 1440 und 86.400 für Sekunden?

Frage Teil 2:

Könnte die "Frequenz" auch davon abhängen, was ich zu erreichen / vorherzusagen versuche? In meinem Fall möchte ich zum Beispiel eine sehr kurzfristige Prognose haben. Jeweils einen Schritt vor 10 Minuten. Wäre es dann möglich, die Jahreszeit als Stunde statt als Tag zu betrachten? In diesem Fall Frequenz = 60 für Minuten, Frequenz = 3600 für Sekunden?

Ich habe zum Beispiel versucht, Frequenz = 60 für die Minutendaten zu verwenden und habe bessere Ergebnisse im Vergleich zu Frequenz = 1440 erhalten ( fouriersiehe Link unten von Hyndman). Http://robjhyndman.com/hyndsight/forecasting-weekly-data/

(Der Vergleich wurde unter Verwendung von MAPE für das Maß der Prognosegenauigkeit durchgeführt.)

Wenn die Ergebnisse beliebig sind und die Häufigkeit nicht geändert werden kann. Was wäre eigentlich die Interpretation der Verwendung von freq = 60 für meine Daten?

Ich denke auch, dass es erwähnenswert ist, dass meine Daten stündlich und zweistündlich Saisonalität enthalten (durch Beobachtung der Rohdaten und der Autokorrelationsfunktion).

Antworten:


38

Die "Häufigkeit" ist die Anzahl der Beobachtungen pro "Zyklus" (normalerweise ein Jahr, manchmal aber auch eine Woche, ein Tag, eine Stunde usw.). Dies ist das Gegenteil der Definition der Frequenz in der Physik oder in der Fourier-Analyse, wobei "Periode" die Länge des Zyklus und "Frequenz" die Umkehrung der Periode ist. Bei Verwendung der ts()Funktion in R sollten die folgenden Optionen verwendet werden.

Data      frequency
Annual     1
Quarterly  4
Monthly   12
Weekly    52

Tatsächlich gibt es nicht 52 Wochen im Jahr, sondern 365,25 / 7 = 52,18 im Durchschnitt. Die meisten Funktionen, die tsObjekte verwenden, erfordern jedoch eine ganzzahlige Häufigkeit.

Wenn die Beobachtungshäufigkeit unter einer Woche liegt, gibt es normalerweise mehrere Möglichkeiten, mit der Häufigkeit umzugehen. Beispielsweise können Daten, die jede Minute beobachtet werden, eine stündliche Saisonalität (Häufigkeit = 60), eine tägliche Saisonalität (Häufigkeit = 24 x 60 = 1440), eine wöchentliche Saisonalität (Häufigkeit = 24 x 60 x 7 = 10080) und eine jährliche Saisonalität (Häufigkeit = 24 x 60 x 365,25) aufweisen 525960). Wenn Sie ein tsObjekt verwenden möchten, müssen Sie entscheiden, welches davon das wichtigste ist.

Eine Alternative ist die Verwendung eines mstsObjekts (im forecastPaket definiert ), das mehrere Saisonalitätszeitreihen verarbeitet. Dann können Sie alle relevanten Frequenzen angeben. Es ist auch flexibel genug, um nicht ganzzahlige Frequenzen zu verarbeiten.

Sie werden nicht unbedingt alle diese Frequenzen einbeziehen wollen - nur die, die wahrscheinlich in den Daten vorhanden sind. Da Sie nur 180 Tage Daten haben, können Sie die jährliche Saisonalität wahrscheinlich ignorieren. Wenn es sich bei den Daten um Messungen eines natürlichen Phänomens handelt (z. B. Temperatur), können Sie möglicherweise auch die wöchentliche Saisonalität ignorieren.

Bei mehreren Saisonalitäten können Sie ein TBATS-Modell oder Fourier-Terme in einem Regressions- oder ARIMA-Modell verwenden. Die fourierFunktion aus dem Prognosepaket behandelt mstsObjekte.


Eine Variation dieser Antwort wurde auf meinem Blog veröffentlicht: robjhyndman.com/hyndsight/seasonal-periods
Rob Hyndman

Herr Prof. Hyndman, vielen Dank für Ihren Beitrag! Ich bin froh, meine Fragen beantwortet zu haben.
Apython
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.