我有兴趣使用谱密度来确定时间序列的周期。根据维基百科,我们可以使用周期图来估计谱密度。沿着链条往下走,维基百科说周期图是使用 FFT 实现的,但没有给出细节。它实际上是上的 FFT吗?
编辑:
在 R 中,有一个函数 spec.pgram 返回原始周期图。我试图将其与 ACF 的 FFT 进行比较,但我仍然没有得到匹配的结果(最终我需要在 Java 中执行此操作,所以我试图完全理解实现)。
x = rep(c(5,1,5,10),4)
x.acf = acf(x)$acf[,,1]
Mod(fft(x.acf))^2
[1] 0.3906250 0.4757183 0.9898323 15.5956432 2.5543312 0.3962321
[7] 0.2068152 0.2068152 0.3962321 2.5543312 15.5956432 0.9898323
[13] 0.4757183
对比
x.pgram = spec.pgram(x, detrend=F)
x.pgram$freq
[1] 0.0625 0.1250 0.1875 0.2500 0.3125 0.3750 0.4375 0.5000
x.pgram$spec
[1] 3.8819277 3.4948335 2.9155061 69.0892857 1.5487796 0.9694522 0.5823580
[8] 0.1607143