Я хочу смоделировать данные временного ряда в R, а ряд состоит из сезонного цикла - PullRequest
0 голосов
/ 31 мая 2019

Есть ли в R пакет / функция, которая может это сделать?Я нашел datagen.stsm, но он не использует сезонный цикл.

Прежде всего, я использую datagen.stsm для создания локального ряда трендов.Затем к серии, полученной из datagen.stsm, добавляется сезонный компонент шести стохастических циклов.

m <- stsm.model(model = "local-trend", y = ts(seq(120), frequency = 12), 
                pars = pars, nopars = NULL)
ss <- char2numeric(m)
p <- datagen.stsm(n = 120, model = list(Z = ss$Z, T = ss$T, H = ss$H, Q = ss$Q), 
                  n0 = 20, freq = 12, old.version = T)$data
pp <- as.vector(p)

for (i in 1:288){
  ey[i] <- i  + pp[i] + 20*sin(2*pi*i/12) + 20*cos(2*pi*i/12) + rnorm(1,0,0.05)
  + 20*sin(2*6*pi*i/12) + 20*cos(2*6*pi*i/12) + rnorm(1,0,0.05)
  + 20*sin(2*2*pi*i/12) + 20*cos(2*2*pi*i/12) + rnorm(1,0,0.05)
  + 20*sin(2*3*pi*i/12) + 20*cos(2*3*pi*i/12) + rnorm(1,0,0.05)
  + 20*sin(2*4*pi*i/12) + 20*cos(2*4*pi*i/12) + rnorm(1,0,0.05)
  + 20*sin(2*5*pi*i/12) + 20*cos(2*5*pi*i/12) + rnorm(1,0,0.05)
}

Является ли это правильным способом создания данных временного ряда, состоящих из шести компонентов стохастического цикла?Я случайным образом выбираю 20 в качестве амплитуды.

...