Wie, um zu bestimmen, lag in der Zeit-Serie?
Arbeite ich an einer Zeit-Serie problem und wollen zu zerlegen, um einige grundlegende Informationen zum Thema lag. Ziel ist es, zu bewerten, lag der output-Variablen auf der Grundlage von änderungen in der variable ändern, die als Teil der Beispiel-Daten.frame unten. Vollständige Daten.Rahmen hat mehr Daten, aber es ist alle Woche und folgt dem gleichen Aufbau wie in diesem Beispiel.
year <- c(2010,2010,2010,2010)
week <- c("P7W1","P7W2","P7W3","P7W4")
output <- c(3295,4379,4284,4832)
change <- c(1912,2177,1587,2708)
timeTest <- data.frame(year,week,output,change)
Erstellte ich ein Zeitreihen-Objekt mit den folgenden.
timeObject <- ts(timeTest, start=c(2010,7), frequency=52)
Allerdings, wenn ich lief zerlegen(timeObject) bekam ich eine Fehlermeldung, die besagt, dass ich keine oder weniger als 2 Perioden. Ich bin eindeutig hier etwas fehlt, jede Beratung wird sehr geschätzt.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Um decompose () - oder der cousin-stl - (), Sie müssen mindestens zwei komplette
Perioden von Daten. Zeit ist definiert als 1/Frequenz. Also, wenn Sie die Arbeit mit wöchentliche Daten, wo Frequenz=52, Ihre Periode beträgt ein Jahr, und Sie müssen zwei Jahre von Daten.
Beispielsweise decompose() mit dem Datensatz von 103 Wochen wird scheitern:
Aber mit decompose() mit 104 Datenpunkten funktioniert:
PS. Möglicherweise möchten Sie auch einen Blick auf die acf() die Autokorrelation berechnen. Dies funktioniert auch, wenn Sie weniger als zwei Jahre von Daten. Zum Beispiel:
acf(ts(runif(100), frequency=52))