在 R 中获得最佳 ARIMA 模型的快速解决方案(函数 `auto.arima`)
A fast solution to obtain the best ARIMA model in R (function `auto.arima`)
我有一个由 2775 个元素组成的数据系列:
mean(series)
[1] 21.24862
length(series)
[1] 2775
max(series)
[1] 81.22
min(series)
[1] 9.192
我想使用包 forecast
的函数 auto.arima
获得最佳 ARIMA 模型:
library(forecast)
fit=auto.arima(Netherlands,stepwise=F,approximation = F)
但我遇到了一个大问题:RStudio 运行 一个半小时没有结果。 (我开发了一个 R 代码来执行这些计算,在配备 2.80GHz Intel(R) Core(TM) i7 CPU 和 16.0 GB RAM 的 Windows 机器上使用。)我怀疑这是由于时间序列的长度。解决方案可能是并行化? (但我不知道如何应用它)。
无论如何,关于加速此代码的建议?谢谢!
forecast 包的许多功能都是在考虑并行处理的情况下构建的。 auto.arima() 函数的参数之一是 'parallel'.
根据包文档,"If [parallel = ] TRUE and stepwise = FALSE, then the specification search is done in parallel.This can give a significant speedup on mutlicore machines."
如果parallel = TRUE,它会自动select使用多少'cores'(对于笔记本电脑或台式机,通常是内核数* 2。例如我有4个核心,每个核心有 2 个处理器 = 8 'cores')。如果要手动设置核心数,也可以使用参数num.cores.
我建议您查看 Hyndman 撰写的 e-book 关于该软件包的所有内容。它就像一本time-series预测圣经。
我有一个由 2775 个元素组成的数据系列:
mean(series)
[1] 21.24862
length(series)
[1] 2775
max(series)
[1] 81.22
min(series)
[1] 9.192
我想使用包 forecast
的函数 auto.arima
获得最佳 ARIMA 模型:
library(forecast)
fit=auto.arima(Netherlands,stepwise=F,approximation = F)
但我遇到了一个大问题:RStudio 运行 一个半小时没有结果。 (我开发了一个 R 代码来执行这些计算,在配备 2.80GHz Intel(R) Core(TM) i7 CPU 和 16.0 GB RAM 的 Windows 机器上使用。)我怀疑这是由于时间序列的长度。解决方案可能是并行化? (但我不知道如何应用它)。
无论如何,关于加速此代码的建议?谢谢!
forecast 包的许多功能都是在考虑并行处理的情况下构建的。 auto.arima() 函数的参数之一是 'parallel'.
根据包文档,"If [parallel = ] TRUE and stepwise = FALSE, then the specification search is done in parallel.This can give a significant speedup on mutlicore machines."
如果parallel = TRUE,它会自动select使用多少'cores'(对于笔记本电脑或台式机,通常是内核数* 2。例如我有4个核心,每个核心有 2 个处理器 = 8 'cores')。如果要手动设置核心数,也可以使用参数num.cores.
我建议您查看 Hyndman 撰写的 e-book 关于该软件包的所有内容。它就像一本time-series预测圣经。