R 快速建立具有参数组合的模型

R 快速建立具有参数组合的模型,r,loops,apply,lapply,R,Loops,Apply,Lapply,我试图用一组参数在R中建立ARIMA模型。arima函数的签名为: arima(x, order=(p, d, q), seasonal=list(order=(P, D, Q), period=S) ) 我正在试验参数p,q,p,q(假设d和d固定为1) 假设每个参数都是一个向量: p = c(1, 2, 3) P = c(1, 2, 3) q = c(2, 3, 4) Q = c(2, 3, 4) 如何使用参数组合构建ARIMA模型?我知道嵌套循环是一种直观的方法

我试图用一组参数在R中建立ARIMA模型。
arima
函数的签名为:

arima(x,
      order=(p, d, q),
      seasonal=list(order=(P, D, Q), period=S)
)
我正在试验参数
p,q,p,q
(假设
d
d
固定为
1

假设每个参数都是一个向量:

p = c(1, 2, 3)
P = c(1, 2, 3)
q = c(2, 3, 4)
Q = c(2, 3, 4)

如何使用参数组合构建ARIMA模型?我知道嵌套循环是一种直观的方法,但我想还有更多的R式方法。

您可以将所有参数放入数据结构中

params<-data.frame(p,P,q,Q,d=1,D=1,S=4)

如果您指的是
p,p,q,q的所有可能组合
,则将参数设置为
expand.grid(p=p,p=p,q=q,q=q)
。但是,请参见
forecast
中的
auto.arima
,了解逐步方法。

我强烈建议查看
forecast
包,尤其是
auto.arima
功能。真的很棒。这个软件包的作者甚至有一本教科书,你可以买一本或几本


另外,我应该补充一点,使用@A.Webb方法会遇到麻烦——从编程的角度来看,这并不是不好,而是
arima
会进行检查,以确保建议的模型在统计上是固定的。因此,您必须
edit(arima)
删除该行,或者提前进行测试以确保不建议使用非平稳参数集,或者将整个内容包装在
tryCatch
中。这些都是我自己做的。最简单的方法是最终利用在
auto.arima

中投入的辛勤工作,谢谢。我看了文件。我确实尝试过
auto.arima
,但它似乎无法处理不规则的ts。如果我将
zoo
喂给
auto.arima
,它会隐式转换为
ts
,频率=1,那么
auto.arima
将永远不会包括季节性术语(P,D,Q).你必须用NA填充缺失的时间步长,使时间序列规则化。不管你在做什么,你都必须定义季节频率(也就是说,这不是你只需要为
auto.arima
做的事情)。你不需要使用动物园。只需使用
ts
,并定义频率。我认为预测包甚至有这样一个功能。执行
ls(“包:预测”)
并查看函数。。。其中一个显然被命名,以表明它发现或检测季节性频率@泽隆
lapply(1:nrow(params),function(i) with(params[i,],
  arima(x,order=c(p, d, q),seasonal=list(order=c(P, D, Q), period=S))))