【发布时间】:2020-10-01 23:30:11
【问题描述】:
我在要预测的时间序列数据集上使用了带有 auto.arima 函数的 R 代码。从这里,我想知道如何找到 arima 的 p,d,q 值。有没有快速确定的方法,谢谢。
【问题讨论】:
标签: r time-series arima
我在要预测的时间序列数据集上使用了带有 auto.arima 函数的 R 代码。从这里,我想知道如何找到 arima 的 p,d,q 值。有没有快速确定的方法,谢谢。
【问题讨论】:
标签: r time-series arima
编写forecast::auto.arima() 函数是为了根据某些优化标准(例如 AIC)选择最优的 p、d 和 q。如果您想查看选择了哪个模型,请使用summary() 函数。
例如:
fit <- auto.arima(lynx)
summary(fit)
Series: lynx ARIMA(2,0,2) with non-zero mean Coefficients: ar1 ar2 ma1 ma2 mean 1.3421 -0.6738 -0.2027 -0.2564 1544.4039 s.e. 0.0984 0.0801 0.1261 0.1097 131.9242 sigma^2 estimated as 761965: log likelihood=-932.08 AIC=1876.17 AICc=1876.95 BIC=1892.58 Training set error measures: ME RMSE MAE MPE MAPE MASE ACF1 Training set -1.608903 853.5488 610.1112 -63.90926 140.7693 0.7343143 -0.01267127
您可以在输出的第二行中看到特定规范。在此示例中,auto.arima 选择 ARIMA(2,0,2)。
请注意,我在这里天真地这样做是出于演示目的。我没有检查这是否是lynx数据集中依赖结构的准确表示。
【讨论】:
除了summary(),您还可以使用arimaorder(fit) 获取向量c(p,d,q) 或as.character(fit) 获取"ARIMA(p,d,q)"。
【讨论】: