# NOT RUN {
# Create a sum-of-coefficients prior
add_soc <- function(Y, lags, par) {
soc <- if(lags == 1) {diag(Y[1, ]) / par} else {
diag(colMeans(Y[1:lags, ])) / par
}
Y_soc <- soc
X_soc <- cbind(rep(0, ncol(Y)), matrix(rep(soc, lags), nrow = ncol(Y)))
return(list("Y" = Y_soc, "X" = X_soc))
}
soc <- bv_dummy(mode = 1, sd = 1, min = 0.0001, max = 50, fun = add_soc)
# Create a single-unit-root prior
add_sur <- function(Y, lags, par) {
sur <- if(lags == 1) {Y[1, ] / par} else {
colMeans(Y[1:lags, ]) / par
}
Y_sur <- sur
X_sur <- c(1 / par, rep(sur, lags))
return(list("Y" = Y_sur, "X" = X_sur))
}
sur <- bv_dummy(mode = 1, sd = 1, min = 0.0001, max = 50, fun = add_sur)
# Adding them to the prior list with `bv_prior()`
priors_dum <- bv_priors(hyper = "auto", soc = soc, sur = sur)
# }
Run the code above in your browser using DataLab