关于R ...中的预测
我已经使用循环函数对一些数据应用了朴素预测方法,然后我试图找到" 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"]
}
但是当通过改变&#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"]
}
错误描述:准确性错误(as.vector(F1_N [,i]), TS)[&#34;测试集&#34;,&#34; MASE&#34;]: 下标超出范围
注意:除了MASE之外,我还要解决所有其他精度函数错误。
请帮我解决这个问题。
此致 Munikumar
答案 0 :(得分:0)
只有在训练数据可用时才能计算MASE。如果accuracy
中的第一个参数是forecast
对象,那么它将找到训练数据并计算MASE。但是如果你给它一个预测矢量而不是类forecast
的对象,那么训练数据就不可用了,并且无法计算MASE。