2

我过去一直在使用 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 为我提供一个拟合模型,然后我可以评估它的预测性能?

4

1 回答 1

2

好的,我发现了我的错误。看看神话和我构造它的方式,我有字符而不是数字格式。所以很抱歉占用你的时间来回答这样一个菜鸟的问题。

为了记录,这些是我采取的步骤,希望能帮助其他人遇到“<strong>No ARIMA model able to beestimate”错误:

删除外生变量后,我仍然收到错误。我创建了一些虚拟数据来输入auto.arima并且它起作用了。

然后我尝试将myts拟合到Arima并且它不起作用 - 这意味着问题出在我的数据上。我查看了myts和它生成的数据框,你瞧,这些值被存储为字符。

于 2016-10-05T15:07:20.227 回答