我用auto.arima制作了Arima模型。然后,我可以使用forecast函数获得一个预测对象。
问题是,我已对变量应用了对数转换,以减少异方差。现在,预测与测井的范围相同。我想通过进行指数变换来获得实际比例的预测,然后绘制我们可以通过预测对象获得的相同图形。但是我无法将此转换应用于预测对象。
arimaFit <- auto.arima(datats)
plot(exp(forecast(arimaFit, h = 100)))
给我以下错误:
Error in exp(forecast(arimaFit)) :
non-numeric argument to mathematical function
我曾考虑过将预测对象转换成矩阵,然后取指数,然后再次将矩阵转换成预测对象,但我找不到解决方法。
是否有任何方法可以将数据转换为指数以获取与原始数据相同的图?
您可以对预测对象的均值,上,下和x字段取幂,然后绘制结果对象:
ff <- forecast(arimaFit, h = 100)
ff$x <- exp(ff$x)
ff$mean <- exp(ff$mean)
ff$lower <- exp(ff$lower)
ff$upper <- exp(ff$upper)
plot(ff)