Closed paponpat503 closed 3 years ago
no loop seq_len(M) for H, and there H is only updated only the final column of when SV==FALSE
if(sv){ shock_norm <- eta %*% t(solve(A0_draw)) for (mm in seq_len(M)){ svdraw_mm <- svsample_general_cpp(shock_norm[,mm]/sigma.mat[mm], startpara = sv_draw[[mm]], startlatent = sv_latent[[mm]], priorspec = sv_priors[[mm]]) sv_draw[[mm]][c("mu", "phi", "sigma")] <- as.list(svdraw_mm$para[, c("mu", "phi", "sigma")]) sv_latent[[mm]] <- svdraw_mm$latent normalizer <- as.numeric(exp(-.5*svdraw_mm$latent)) weights.new <- as.numeric(exp(-svdraw_mm$latent)) dat <- dbartsData(formula = Y[,mm]~X,weights=weights.new) sampler.list[[mm]]$setData(dat) H[,mm] <- log(sigma.mat[mm]^2) + svdraw_mm$latent } }else{ H[,mm] <- log(sigma.mat[mm]^2) }
I am so sorry this is another package
no loop seq_len(M) for H, and there H is only updated only the final column of when SV==FALSE