我正在尝试对拆分数据进行时间序列确定,以选择合适的模型。在给我的作业中,我被告知使用傅立叶级数。由于必须测试多达26个模型,因此我决定使用for循环。
[当我运行在循环中的代码时,我注意到我的所有输出都一样,除了计数器按预期工作。当我进行迭代时,得到了预期的结果。
我将系列缩短为五个,以便于使用。另外,数据(汽油)在r studio的fpp2包中。
Gas.train = window(gasoline,end=2005)
Gas.test = window(gasoline,start=2005,end=2006)
for(i in c(1,2,3,4,5)){
fit <- tslm(Gas.train~trend+fourier(Gas.train, K = i))
cat("k = ", i, sep = " ")
print(CV(fit))
}
该问题似乎与迭代器名称i
有关。当我使用另一个迭代器时,代码可以正常工作。不幸的是,我并不清楚为什么会这样。
for(j in c(1,2,3,4,5)){
fit <- tslm(Gas.train~trend + fourier(Gas.train, K = j))
cat("k = ", j, sep = " ")
print(CV(fit))
}
希望仍然有帮助