r的循环编程不适用于具有傅立叶级数的时间序列

问题描述 投票:0回答:1

我正在尝试对拆分数据进行时间序列确定,以选择合适的模型。在给我的作业中,我被告知使用傅立叶级数。由于必须测试多达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))
}
r
1个回答
0
投票

该问题似乎与迭代器名称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))
}

希望仍然有帮助

© www.soinside.com 2019 - 2024. All rights reserved.