Есть ли в 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 в качестве амплитуды.