Wie Verzögerung in der Zeitreihe bestimmen?

stimmen
3

Ich arbeite an einer Zeitreihe Problem und wollen zersetzen einige grundlegende Informationen über Verzögerung zu erhalten. Ziel ist Verzögerung der Ausgangsgröße zu bewerten, basierend auf Änderungen in der Änderungsgröße als Teil des Beispiel data.frame unten. Voll data.frame hat mehr Daten, aber es ist alles durch Woche und folgt den gleichen Aufbau wie dieses 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)

Ich habe eine Zeitreihe Objekt mit den folgenden.

timeObject <- ts(timeTest, start=c(2010,7), frequency=52)

Allerdings, wenn ich zersetzen lief (timeObject) bekam ich eine Fehlermeldung, die besagt, dass ich nicht oder weniger als 2 Perioden hatte. Ich bin etwas hier eindeutig fehlt, ist eine Beratung sehr geschätzt.

Veröffentlicht am 14/03/2011 um 10:16
quelle vom benutzer
In anderen Sprachen...                            


1 antworten

stimmen
6

Um decompose () oder seinen Vetter stl zu laufen (), müssen Sie mindestens zwei vollständige Perioden von Daten haben. Periode wird als 1 / Frequenz definiert. Also, wenn Sie mit wöchentlichen Daten arbeiten, wo Frequenz = 52, Periode ein Jahr, und Sie müssen für zwei Jahre Daten.

Zum Beispiel läuft decompose () mit Daten von 103 Wochen eingestellt wird fehlschlagen:

decompose(ts(runif(103), frequency=52))

Error in decompose(ts(runif(103), frequency = 52)) : 
  time series has no or less than 2 periods

Aber läuft zersetzen () mit 104 Datenpunkten funktioniert:

decompose(ts(runif(104), frequency=52))

$seasonal
Time Series:
Start = c(1, 1) 
End = c(2, 52) 
Frequency = 52 
  [1] -0.015447737  0.392006955  0.185528936  0.372505618 -0.079588619
  [6] -0.351928149 -0.472617951 -0.306461367 -0.475596801  0.266197693
 [11]  0.167468113 -0.332837411 -0.427845149 -0.001199151  0.276361737
...
$type
[1] "additive"

attr(,"class")
[1] "decomposed.ts"

PS. Sie können auch einen Blick auf ACF haben wollen (), die Autokorrelation berechnet wird. Dies funktioniert auch, wenn Sie weniger als zwei volle Jahre von Daten. Beispielsweise:

ACF (ts (runif (100), Frequenz = 52))

Geben Sie hier image description

Beantwortet am 14/03/2011 um 11:17
quelle vom benutzer

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more