快速获得最佳R ARIMA模型的解决方案(函数auto.arima)

时间:2019-06-21 13:52:53

标签: performance parallel-processing arima

我有一个由2775个元素组成的数据系列:

mean(series)
[1] 21.24862
length(series)
[1] 2775
max(series)
[1] 81.22
min(series)
[1] 9.192

我想通过使用软件包auto.arima的函数forecast获得最佳的ARIMA模型:

library(forecast)
fit=auto.arima(Netherlands,stepwise=F,approximation = F)

但是我有一个大问题:RStudio运行了一个半小时而没有结果。 (我开发了一种R代码来执行这些计算,并在装有2.80GHzIntel®Core™i7 CPU和16.0 GB RAM的Windows机器上使用。)我怀疑这是由于时间序列的长短。解决方案可能是并行化? (但我不知道如何应用它。)

无论如何,建议加快此代码的速度?谢谢!

1 个答案:

答案 0 :(得分:1)

预测包的许多功能在构建时都考虑了并行处理。 auto.arima()函数的参数之一是'parallel'。

根据软件包文档,“如果[parallel =] TRUE和stepwise = FALSE,则说明搜索是并行进行的。这可以大大提高mutlicore机器的速度。”

如果parallel = TRUE,它将自动选择要使用的“核心”数量(对于笔记本电脑或台式机,通常是核心数量*2。例如,我有4个核心,每个核心有2个处理器= 8个“核心”)。如果要手动设置内核数,请同时使用参数num.cores。

我建议您检查一下Hyndman写的关于该软件包的e-book。就像时间序列预测圣经一样。