首页 > 解决方案 > 提取 VAR 模型的准确度度量

问题描述

我正在使用 vars 和预测包以及加拿大数据集进行建模。所以我试图在单独的 data.frame 中提取精度错误(ME、RMSE、MAE、MPE、MAPE、MASE、ACF1)。我正在尝试这样做,但尽管如此,我不能将精度错误放入一个数据帧中。

# LIBRARY AND DATA SET

library(vars)
library(forecast)
        data("Canada")

# VAR MODELING
            trainingdata <- window(Canada, end=c(1998,4))
            testdata <- window(Canada, start=c(1999,1))
            v <- VAR(trainingdata, p=2)
            p <- predict(v, n.ahead=8)
            res <- residuals(v)
            fits <- fitted(v)

# EXTRACTING ACCURANCY ERRORS <--------------------------------------
            for(i in 1:4)
            {
              fc <- structure(list(mean=p$fcst[[i]][,"fcst"], x=trainingdata[,i],
                                   fitted=c(NA,NA,fits[,i])),class="forecast")
              print(accuracy(fc,testdata[,i]))
            }

我尝试这样做,但我没有成功。

#  Example
for(i in 1:4)
            {
              fc <- structure(list(mean=p$fcst[[i]][,"fcst"], x=trainingdata[,i],
                                   fitted=c(NA,NA,fits[,i])),class="forecast")
              VAR_ACCURANCY<-rbind(print(accuracy(fc,testdata[,i])))
            }

那么任何人都可以帮助如何解决这个问题并获得如下图所示的表格吗?

在此处输入图像描述

标签: rforecast

解决方案


my_acc <- list()

            for(i in 1:4)

            {
              fc <- structure(list(mean=p$fcst[[i]][,"fcst"], x=trainingdata[,i],
                                   fitted=c(NA,NA,fits[,i])),class="forecast")
               my_acc[[i]] <- accuracy(fc,testdata[,i])
            }


my_acc  <-     do.call(rbind,my_acc)

                        ME      RMSE       MAE           MPE       MAPE      MASE        ACF1 Theil's U
Training set  1.536303e-15 0.3346096 0.2653946 -1.288309e-05 0.02817360 0.1237121 0.154055381        NA
Test set     -1.058358e-01 0.8585455 0.7385238 -1.114099e-02 0.07694492 0.3442584 0.565511711  1.359761
Training set  7.681616e-16 0.6173540 0.4876141 -2.294727e-04 0.11991245 0.3021549 0.008074408        NA
Test set      3.782751e+00 4.3178199 3.7827506  9.073918e-01 0.90739184 2.3440190 0.717658769  6.114329
Training set -2.304469e-15 0.7516211 0.5716939 -2.286906e-04 0.13180088 0.1336219 0.040611671        NA
Test set     -1.653742e+00 2.1006680 1.6537419 -3.525009e-01 0.35250086 0.3865286 0.478272541  3.187979
Training set  1.199728e-17 0.2414005 0.1875786 -6.410195e-02 1.97545990 0.1896330 0.053361109        NA
Test set      6.161591e-01 0.7629915 0.6528118  8.345465e+00 8.87898322 0.6599614 0.551628239  2.684020

推荐阅读