首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >复制ARIMA预测(来自R Arima()的系数)

复制ARIMA预测(来自R Arima()的系数)
EN

Stack Overflow用户
提问于 2015-03-29 01:38:43
回答 3查看 1.6K关注 0票数 0

我对R和ARIMA模型非常陌生,我对R中得到的ARIMA模型有一个问题。

我将以美国的失业率为例,数据范围是从1948年1月到2015年2月,总共有806个观察值。在研究了AICc之后,我决定使用ARIMA(2,1,2)模型。(顺便说一句,我正在使用R中的"forecast“包中的Arima()函数)

输出如下:

代码语言:javascript
复制
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

代码是

代码语言:javascript
复制
fit.best <- Arima(log.unemp, c(2, 1, 2), include.constant=FALSE)
print(fit.best)

然后我想测量这个模型的预测性能。也就是说,要计算RMSE,Theil's U等,但我不知道怎么做。原因是我似乎不知道如何从这个输出中推导出预测方程来计算拟合值。

有人能帮我解决这个问题吗?我应该如何从这个输出中推导出预测方程?另外,在获得方程后,我如何在Excel中进行预测,以便从第一个数据点计算拟合值(当您计算t=1的拟合值时,有些数字是不可用的)?

谢谢!

EN

回答 3

Stack Overflow用户

发布于 2015-11-12 12:35:05

您可以使用summmary(fit.best)查看RMSE。或者,如果你想自己计算,你可以像这样推导残差和拟合值:

代码语言:javascript
复制
fitted=log.unemp-fit.best$residuals

有关等式的信息,请参阅this

票数 2
EN

Stack Overflow用户

发布于 2017-08-10 09:43:04

您可以使用forecast

代码语言:javascript
复制
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)
票数 0
EN

Stack Overflow用户

发布于 2018-09-11 23:23:55

  1. 使用arima模型,代码如下:

arimafit =arima(使用以下代码的order=c(2,1,2))

  • Forecast,log.unemp:

arima_future =预测(arimafit,h=3)

其中,forecast是用于预测下一个月的函数。

h=3表示将对未来3个月进行预测。

  • 如果您想检查测试数据的RMSE,可以使用DMwr package:

指标= as.data.frame(DMwR::regr.eval(,arima_future$point_forecast))

test_data_vector -是您可以在将主数据集划分为训练数据集和测试数据集时创建的测试数据向量。

arima_future$point_forecast -是您将在step2中获得的矢量点预测矢量。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29320400

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档