2017-02-16 2 views
0

Ich versuche herauszufinden, ob es eine halbjährliche Saisonalität in meinen Daten gibt oder nicht. Ich möchte es mit der Spektralanalyse machen, bei der ich den FTest des Spektrums mit einer bestimmten Frequenz betrachten würde.Frequenz im Zeitreihenobjekt verstehen R (Spektralanalyse)

ich Hilfe suchen, zu verstehen, was die x-Achse in der Spektralanalyse Mittel (also das, was die Frequenzen bedeuten), wenn ich es berechnen, basierend auf einer Zeitreihen Objekt mit der Frequenz 12.

Hier einige Daten erzeugt. Meine Daten werden jeden Monat mehr als 10 Jahren gesammelt:

data = ts(1:120, frequency = 12, start = c(1959, 1)) # data that is collected each month over 10 years. 
library(multitaper) 
resSpec <- spec.mtm(data, nFFT = "default", 
       Ftest = TRUE, 
       jackknife = FALSE, maxAdaptiveIterations = 100, 
       plot = TRUE, na.action = na.fail) 

Output from multitaper

Wenn ich für die spektrale Leistung zu einem 6 Monate suchen (2-mal pro Jahr) Zyklus, suche ich Frequenz 1/6 oder 6/12?

Antwort

0

Der Frequenzausgang ist Zyklen pro Jahr, nicht Monat. Sie können diese als solche überprüfen:

curve <- function(i) { 
    sin(2*pi/6 * i) 
} 

data = ts(sapply(1:120, curve), frequency = 12, start = c(1959, 1)) 

resSpec <- spec.mtm(data, nFFT = "default", 
       Ftest = TRUE, 
       jackknife = FALSE, maxAdaptiveIterations = 100, 
       plot = TRUE, na.action = na.fail, dtUnits="year", deltat=1/12) 

So ist die Frequenz, die Sie suchen ist 2 (Zyklen/Jahr)

+0

Vielen Dank! Das ist sehr hilfreich. – Brigitte

Verwandte Themen