R中的SARIMAX模型

时间:2013-07-23 17:20:10

标签: r

我会在SARIMAX中将温度作为外生变量的R模型拟合。我可以使用xreg中的package TSA函数执行此操作吗? 我认为这个模型适合:

fit1 = arima(x, order=c(p,d,q), seasonal=list(order=c(P,D,Q), period=S), xreg=temp)

是正确的还是我必须使用R的其他功能? 如果它不正确:我应该使用哪些步骤?

感谢。

2 个答案:

答案 0 :(得分:1)

查看预测包,非常棒:

   # some random data
   x <- ts(rnorm(120,0,3) + 1:120 + 20*sin(2*pi*(1:120)/12), frequency=12)
   temp = rnorm(length(x), 20, 30)

   require(forecast)
   # build the model (check ?auto.arima)
   model = auto.arima(x, xreg = data.frame(temp = temp))

   # some random predictors
   temp.reg = data.frame(temp = rnorm(10, 20, 30))

   # forecasting
   forec = forecast(model, xreg = temp.reg)

   # quick way to visualize things
   plot(forec)

  # model diagnosis
  tsdiag(model)

  # model info
  summary(forec)

答案 1 :(得分:0)

我不建议您使用auto.arima()。根据您想要适合的型号,它可能会返回不良结果,例如在处理一些复杂的SARIMA模型时,手动完成的模型与使用auto.arima()的模型之间的区别是显而易见的,auto.arima()甚至不返回白噪声创新(正如预期的那样),当然,手动配合也是如此。