将数据从循环中存储在矩阵中

时间:2017-07-25 09:07:59

标签: r loops matrix storage

我想为交叉验证编写一个循环:计算一步和四步预测的MSE并将结果存储在矩阵中。我得到的问题是1到3步预测的列被覆盖,我只得到所有列中的4步预测。有人可以帮忙吗?

k<-20
n<-length(xy)-1
h<-4
start <- tsp(xy) [1]+k
j <- n-k
mseQ1 <- matrix(NA,j,h)

colnames(mseQ1) <- paste0('h=',1:h)

for(i in 1:j)
{
xtrain <- window(xy, end=start+(i-1))
xvalid <- window(xy, start=start+i, end=start+i)

qualifiedETS <- ets(xtrain, alpha=NULL, beta=NULL, additive.only=TRUE, opt.crit="mse")
fcastHW <- forecast(qualifiedETS, h=h)

mseQ1[i,] <- ((fcastHW[['mean']]-xvalid)^2)
}

0 个答案:

没有答案
相关问题