我有一个动物园时间序列对象vels
:
2011-05-01 00:00:00 7.52
2011-05-01 00:10:00 7.69
2011-05-01 00:20:00 7.67
2011-05-01 00:30:00 7.52
2011-05-01 00:40:00 7.38
2011-05-01 00:50:00 7.56
2011-05-01 01:00:00 7.41
2011-05-01 01:10:00 7.11
2011-05-01 01:20:00 7.23
2011-05-01 01:30:00 7.31
我想要适合Arima模型,但我不知道如何自动查找订单。
PS:我读过我必须使用arima.sim
,但我认为你必须在该功能中输入命令。
答案 0 :(得分:10)
您不需要arima.sim()
,用于从指定的ARIMA模型进行模拟,而不是估计一个参数。
查看预测包中的auto.arima()
功能。 CRAN上的软件包网页为here。您需要通过 zoo 包中提供的"zoo"
方法将"ts"
对象强制转换为as.ts()
类对象,因为这是基础拟合函数期望提供arima()
。
?auto.arima
的示例是:
> fit <- auto.arima(WWWusage)
> fit
Series: WWWusage
ARIMA(1,1,1)
Coefficients:
ar1 ma1
0.6504 0.5256
s.e. 0.0842 0.0896
sigma^2 estimated as 9.793: log likelihood=-254.15
AIC=514.3 AICc=514.55 BIC=522.08
现在fit
包含所选订单。然后可以产生模型诊断,例如,通过tsdiag(fit)
:
时间序列加上通过plot(forecast(fit, h = 20))
生成的接下来20个观测值的n-ahead预测: