第一次犯大错误!

昨晚费力的读懂了老师给我改好的代码,疲惫的保存,嗖–啪--的关机。
心里想着接下就只需要①用数据跑一下看看结果和看看要跑多长时间,②用不同的K值分块,跑这个QRNN,③做RMSE和MAE。还有想问问老师用不用把训练集和参数算出来的y_test的估计值与真实y_test值做一下比较,看看它俩差的多不多。
结果今天打开电脑"sub_01.R"成了空文件。同样的错误不能再犯,还好这次在之前发过的博文里有写,不然都没地方哭,浪费时间。所以以后千万千万千万千万:1.保存完文件不要快速关掉R了,等它一会儿。2.代码备份!代码备份!!!

Data_split <- function(data,K){
  chunk_size <- ceiling(nrow(data) / K)
  chunk_size <- c(rep(chunk_size,K-1),nrow(data)-(K-1)*chunk_size)
  chunk_list <- list()
  dat <- data
  for(i in 1:K){
    ind <- sample(1:nrow(dat),chunk_size[i])
    
    chunk_list[[i]] <- dat[ind,]
    dat <- dat[-ind,]
  }
  chunk_list
}

AIC.qrnn <- function(y, yfit, n.parm, tau){
  N <- length(y)
  AIC <- log(mean(rho(y-yfit, tau))) + n.parm/N
  AIC
}

rho <- function(u, tau) u*(tau-(u<0))

QRNN <- function(dat_train, dat_test, K, n.hidden, Tau){
  Qpred <- matrix(NA,nrow(dat_train),length(Tau))
  for(i in 1:length(Tau)){
    q_pred <- matrix(NA, nrow(dat_train), K)
    Dat <- Data_split(dat_train,K)
    for (j in 1:K) {   #第j块
      x_train <- as.matrix(dat_train[[j]][,-1])
      y_train <- as.matrix(dat_train[[j]][,1])
      x_test <- as.matrix(dat_test[,-1])
      n.hidden.opt <- best_n.hidden(x_train[[j]], y_train[[j]], n.hidden, Tau)
      parms <- qrnn.fit(x_train[j], y_train[j], n.hidden=n.hidden.opt, tau=Tau[i], n.trials=3)
      pred <- qrnn.predict(x_test, parms)
    }
    q_pred[,j]<-pred
  }
  Qpred[,i]<-apply(q_pred, 1, mean)
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值