ankargren / mfbvar

R package for Mixed-Frequency Bayesian VARs
https://ankargren.github.io/mfbvar
38 stars 20 forks source link

in case sv==FALSE, sigma.mat only update the last element #18

Closed paponpat503 closed 3 years ago

paponpat503 commented 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)  
}
paponpat503 commented 3 years ago

I am so sorry this is another package