# NOT RUN {
# simulate from model
dataExample <- matrix(stats::rnorm(100, c(-1, 1), c(1, 1)), nrow = 50, ncol = 2, byrow = TRUE)
# list parameter names
param_names_example <- c("mu_1", "mu_2")
# log posterior likelihood function = log likelihood + log prior | returns a scalar
LogPostLikeExample <- function(x, data, param_names) {
out <- 0
names(x) <- param_names
# log prior
out <- out + sum(dnorm(x["mu_1"], 0, sd = 1, log = TRUE))
out <- out + sum(dnorm(x["mu_2"], 0, sd = 1, log = TRUE))
# log likelihoods
out <- out + sum(dnorm(data[, 1], x["mu_1"], sd = 1, log = TRUE))
out <- out + sum(dnorm(data[, 2], x["mu_2"], sd = 1, log = TRUE))
return(out)
}
# Get map estimates
DEMAP(
LogPostLike = LogPostLikeExample,
control_params = AlgoParamsDEMAP(
n_params = length(param_names_example),
n_iter = 1000,
n_chains = 12
),
data = dataExample,
param_names = param_names_example
)
# }
Run the code above in your browser using DataLab