使用 r 中预测包的精度函数进行 MASE 计算
MASE calculation using accuracy function from forecast package in r
关于 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"]
}
但是,当尝试通过更改 "MASE" 而不是 MAPE 来对 MASE 进行相同的设置时,我收到了错误。
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"]
}
error description: Error in accuracy(as.vector(F1_N[, i]),
TS)["Test set", "MASE"] :
subscript out of bounds
注意:除了 MASE 之外,我将排除精度函数中的所有其他错误。
请帮我解决这个问题。
问候
穆尼库马尔
只有在训练数据可用的情况下才能计算 MASE。如果 accuracy
中的第一个参数是 forecast
对象,那么它将找到训练数据并计算 MASE。但是如果你给它一个预测的向量而不是classforecast
的对象,那么训练数据是不可用的,也无法计算MASE。
关于 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"] }
但是,当尝试通过更改 "MASE" 而不是 MAPE 来对 MASE 进行相同的设置时,我收到了错误。
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"] }
error description: Error in accuracy(as.vector(F1_N[, i]), TS)["Test set", "MASE"] : subscript out of bounds
注意:除了 MASE 之外,我将排除精度函数中的所有其他错误。
请帮我解决这个问题。
问候 穆尼库马尔
只有在训练数据可用的情况下才能计算 MASE。如果 accuracy
中的第一个参数是 forecast
对象,那么它将找到训练数据并计算 MASE。但是如果你给它一个预测的向量而不是classforecast
的对象,那么训练数据是不可用的,也无法计算MASE。