我对R和ARIMA模型非常陌生,我对R中得到的ARIMA模型有一个问题。
我将以美国的失业率为例,数据范围是从1948年1月到2015年2月,总共有806个观察值。在研究了AICc之后,我决定使用ARIMA(2,1,2)模型。(顺便说一句,我正在使用R中的"forecast“包中的Arima()函数)
输出如下:
Series: log.unemp
ARIMA(2,1,2)
ar1 1.6406
ar2 -0.7499
ma1 -1.5943
ma2 0.7893
sigma^2 estimated as 0.001307: log likelihood=1530.14
AIC=‐3050.27 AICc=‐3050.2 BIC=‐3026.82代码是
fit.best <- Arima(log.unemp, c(2, 1, 2), include.constant=FALSE)
print(fit.best)然后我想测量这个模型的预测性能。也就是说,要计算RMSE,Theil's U等,但我不知道怎么做。原因是我似乎不知道如何从这个输出中推导出预测方程来计算拟合值。
有人能帮我解决这个问题吗?我应该如何从这个输出中推导出预测方程?另外,在获得方程后,我如何在Excel中进行预测,以便从第一个数据点计算拟合值(当您计算t=1的拟合值时,有些数字是不可用的)?
谢谢!
发布于 2015-11-12 12:35:05
您可以使用summmary(fit.best)查看RMSE。或者,如果你想自己计算,你可以像这样推导残差和拟合值:
fitted=log.unemp-fit.best$residuals有关等式的信息,请参阅this
发布于 2017-08-10 09:43:04
您可以使用forecast包
fit.best <- Arima(log.unemp, c(2, 1, 2), include.constant=FALSE)
my_forecast <- forecast(fit.best, h=10)
my_forecast #will show the next 10 periods
# or use some detailed data like
plot(my_forecast$residuals)发布于 2018-09-11 23:23:55
arimafit =arima(使用以下代码的order=c(2,1,2))
arima_future =预测(arimafit,h=3)
其中,forecast是用于预测下一个月的函数。
h=3表示将对未来3个月进行预测。
DMwr package:指标= as.data.frame(DMwR::regr.eval(,arima_future$point_forecast))
test_data_vector -是您可以在将主数据集划分为训练数据集和测试数据集时创建的测试数据向量。
arima_future$point_forecast -是您将在step2中获得的矢量点预测矢量。
https://stackoverflow.com/questions/29320400
复制相似问题