R语言forecast::auto.arima函数运行耗时问题咨询
运行时长说明
你提供的代码在常规消费级台式机/笔记本上无需通宵运行,正常3~10分钟即可得到返回结果,长时间无响应大概率是参数设置不合理导致运算量陡增,而非需要超长运行时间。
耗时原因
- 你当前设置的傅里叶项参数
K=c(10,10,10),会生成共60个外部回归变量,auto.arima需要遍历所有可能的ARIMA(p,d,q)阶数组合,搭配4年左右的小时级训练数据(共约3.5万条),本身运算量就较高 lambda=0参数会触发Box-Cox变换,也会额外增加计算开销
优化方案
- 调整傅里叶项K值:不同周期的K值不需要统一设为10,短周期特征可以保留更多项,长周期减少项数即可,比如改成
K=c(10,5,2),运算量会直接下降60%以上,对年周期季节特征的捕捉损失极小 - 新增
trace=TRUE参数运行:可以实时打印迭代进度,确认程序是在正常运算而非彻底卡死 - 开启快速搜索配置:给
auto.arima增加stepwise=TRUE, approximation=TRUE参数,开启逐步搜索和近似计算,速度能提升3~5倍,最终结果精度损失非常有限
内容的提问来源于stack exchange,提问作者Dom
相关产品推荐
相关产品推荐

