Hei all, I am a complete newbie to this but trying to get a model going, the code comes from a former lab member, and I try to learn enough to use and adjust it for our projects. I managed to get the model going but I get an error in my second posterior check that neither her nor google can solve, so I ask here. As I am not sure if it is needed I put the model here too, sorry for the long post!
Thanks for your answers!
fit_model <- function (Data) {
fit<- brm(
bf(
LDL ~ (1 + exp ((gamma-Time) / delta)) / (15*exp((gamma-Time) / delta) + alpha),
alpha ~ 1 + (1 | Pat),
gamma ~ 1 + (1 | Pat) ,
delta ~ 1 ,
nl = TRUE
),
# Declaring priors
prior = c(
#(1) Priors for fixed effects
prior (normal (4000,2000), class="b", lb=0, nlpar = "alpha"),
prior (normal (3,2), class="b", lb=0, nlpar = "gamma"),
prior (normal (0.2,1), class="b", lb=0, ub=1, nlpar = "delta"),
#(2) Priors for the extra fixed effects added to the parameters (if any are added).
# prior (normal (4000,2000), class="b", coef="", nlpar = "alpha"),
# prior (normal (3,2), class="b", coef="", nlpar = "gamma"),
# prior (normal (0.2,1), class="b", coef="", nlpar = "delta"),
#(3) Prior for family distribution parameter
prior(gamma(0.01, 0.01), class="shape"),
# (4)Priors for SD of random effects
prior (normal (1000,1000), class="sd", group="Pat", nlpar="alpha"),
prior (normal (1,1), class="sd", group="Pat", nlpar="gamma")),
#(5) Data
data = Data,
#(6) Distribution family and link function
family = Gamma (link="inverse"),
#(7) Number of chains
chains = 4,
#(8) Number of iterations
iter = 5000,
#(9) Number of warm-up iterations
warmup = 1000,
#(10) Enabling sampler to run on all available processor cores.
cores = getOption ("mc.cores",1L),
#(11) Thinning
thin = 1,
# (12) Sampler parameters
control = list (adapt_delta = 0.99999, max_treedepth=15),
# (13) Verbose
verbose = TRUE
)
return(fit)
}
run the fit_model function (given above) to actually fit the model
fit <- fit_model(ldlData)
check the model output summary to see if the model converged
summary(fit)
save fitted model
saveRDS(fit, “MODELNAME.RDS”)
Posterior Predictive Checks
#pp-check1:
pp_check (fit)
#pp-check2:
pp_check (fit_model , type=“stat”, stat=“mean”, nsamples = 100)
And there I get the error:
Error in pp_check.default(fit_model, type = “stat”, stat = “mean”, nsamples = 100) :
argument “fun” is missing, with no default