【问题标题】:Reproduce ARIMA Forecast (Coefficients from R Arima())重现 ARIMA 预测(来自 R Arima() 的系数)
【发布时间】:2015-06-01 22:40:48
【问题描述】:

我对 R 和 ARIMA 模型很陌生,我对在 R 中获得的 ARIMA 模型有疑问。

我将以美国失业率为例,数据范围为 1948 年 1 月至 2015 年 2 月,共 806 个观测值。在查看了 AICc 之后,我决定使用 ARIMA(2,1,2) 模型。 (顺便说一句,我正在使用 R 中“预测”包中的 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 的拟合值时,有些数字不可用)?

谢谢!

【问题讨论】:

    标签: r time-series forecasting


    【解决方案1】:

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

    fitted=log.unemp-fit.best$residuals
    

    关于方程见this

    【讨论】:

      【解决方案2】:

      你可以使用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)
      

      【讨论】:

        【解决方案3】:
        1. 使用arima模型如下代码:

          arimafit = arima(log.unemp, order=c(2,1,2))
          
        2. 使用以下代码进行预测:

          arima_future = forecast(arimafit, h=3)
          

          其中forecast 是预测下一个您想要的月份的函数。

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

        3. 如果要检查测试数据的 RMSE,可以使用DMwr 包:

          metrics = as.data.frame(DMwR::regr.eval(<test_data_vector>, arima_future$point_forecast))
          

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

        arima_future$point_forecast - 是第2步得到的向量点预测向量。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-07-17
          • 1970-01-01
          • 1970-01-01
          • 2016-02-13
          • 2020-08-26
          • 1970-01-01
          相关资源
          最近更新 更多