2017-02-16 11 views
0

Я пытаюсь выяснить, есть ли в моих данных сезонность в 6 месяцев. Я хочу сделать это со спектральным анализом, где я бы посмотрел на Ftest спектра с определенной частотой.Понимание частоты в объекте временного ряда R (спектральный анализ)

Я ищу помощь, чтобы понять, что ось х в средстве спектрального анализа (т.е. какие частоты означают), если я его вычислить на основе объекта временных рядов с частотой 12.

Здесь некоторые данные генерироваться. Мои данные собираются каждый месяц в течение 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?

ответ

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 (циклов/год)

+0

Большое спасибо! Это очень полезно. – Brigitte

Смежные вопросы