过去我一直在使用auto.arima取得了很大的成功。但是,我开始遇到一个错误,我在排除故障时遇到了困难。 错误是:
Error in search.arima(x, d, D, max.p, max.q, max.P, max.Q, max.order, :
No ARIMA model able to be estimated
这是我使用的代码;不幸的是,由于它们是专有的,我无法共享数据。
auto.arima(myts
,max.p=5, max.d=5, max.q=5, max.P=50, max.D=5, max.Q=5
,ic="aicc"
,seasonal=FALSE, allowdrift =FALSE, allowmean=TRUE, stationary=FALSE
,test="kpss"
,stepwise=FALSE, approximation=FALSE
,lambda=NULL
,xreg=historic_xreg
)
我目前正在处理的方法是逐渐减少xreg中的外生变量(在循环中从10开始减少到1),但即使这样也失败了。这可能是因为我的数据点少于30个。
我查看了源代码,但由于我不是一位经验丰富的程序员,因此无法确定错误原因。我知道这与功能无法找到最佳装备有关;或者更好地说,考虑到我的数据,我可能会期待太多。数据是每年一次,没有季节性。
https://github.com/robjhyndman/forecast/blob/master/R/arima.R
我的问题是:我需要做些什么调整才能让auto.arima为我提供一个合适的模型,然后我可以评估其预测性能?
答案 0 :(得分:1)
好的,我发现了我的错误。看看myts和我构建它的方式,我有字符而不是数字格式。很抱歉花时间处理这样一个noob-ish问题。
为了记录,这些是我采取的步骤,希望帮助其他人绊倒“无ARIMA模型能够估计”“错误:
我删除外生变量后仍然出现错误。 我创建了一些虚拟数据以提供给 auto.arima 并且它有效。
然后我尝试将 myts 设置为 Arima 并且它无效 - 这意味着问题出在我的数据上。我查了 myts 以及它生成的数据框,并且看到这些值存储为字符。