了解时间序列对象R中的频率(频谱分析)

时间:2017-02-16 17:53:37

标签: r time-series frequency spectral-density

我试图找出我的数据中是否有6个月的季节性。我想用光谱分析来做,我会看一下特定频率的光谱Ftest。

如果我根据频率为12的时间序列对象计算它,我正在寻求帮助来理解频谱分析中x轴的含义(即频率意味着什么)。

这里生成了一些数据。我的数据每月收集10年以上:

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

如果我在寻找6个月(每年2次)周期的光谱功率,我是在寻找1/6或6/12的频率吗?

1 个答案:

答案 0 :(得分:0)

频率输出是每年的周期,而不是月份。您可以这样检查:

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) 

所以你要找的频率是2(周期/年)