使用r中预测包的精度函数进行MASE计算

时间:2017-06-16 15:27:12

标签: r forecasting

关于R ...中的预测

  1. 我已经使用循环函数对一些数据应用了朴素预测方法,然后我试图找到" MAPE"它很成功。

    MAPE_N1<- matrix(NA, nrow=52, ncol=ncol(TS), 
              dimnames = list(c(Weeks),c(colnames(Master_Data[,-1]))))
    for(i in 1:ncol(TS)) {
      MAPE_N1[,i] <- accuracy(as.vector(F1_N[,i]),TS)["Test set", "MAPE"]
    }
    
  2. 但是当通过改变&#34; MASE&#34;尝试MASE的相同设置时而不是MAPE我收到错误。

    MAPE_N1 <- matrix(NA, nrow=52, ncol=ncol(TS), 
               dimnames = list(c(Weeks),c(colnames(Master_Data[,-1]))))
    for(i in 1:ncol(TS)) {
      MAPE_N1[,i] <- accuracy(as.vector(F1_N[,i]),TS)["Test set", "MASE"]
    }
    
  3.   

    错误描述:准确性错误(as.vector(F1_N [,i]),   TS)[&#34;测试集&#34;,&#34; MASE&#34;]:       下标超出范围

    注意:除了MASE之外,我还要解决所有其他精度函数错误。

    请帮我解决这个问题。

    此致 Munikumar

1 个答案:

答案 0 :(得分:0)

只有在训练数据可用时才能计算MASE。如果accuracy中的第一个参数是forecast对象,那么它将找到训练数据并计算MASE。但是如果你给它一个预测矢量而不是类forecast的对象,那么训练数据就不可用了,并且无法计算MASE。