Я понимаю, что могу рассчитать логарифмическую вероятность каждой выборки во время выборки, например,
...
model {
for (i in 1:N) {
(y[i] - 1) ~ bernoulli(p[i, 2]);
}
}
generated quantities {
vector[N] log_lik;
for (i in 1:N){
log_lik[i] = bernoulli_lpmf((y[i] - 1) | p[i, 2]);
}
}
После подгонки я могу извлечь логарифмическую вероятность, используя пакет loo
:
log_lik_m <- extract_log_lik(stan_fit)
Но я хочу оценить вероятность регистрации невидимых данных. Это возможно в brms:
ll <- log_lik(fit_star, newdata = new_df)
Но я бы хотел сделать это с rstan
, поскольку я не могу легко определить свою модель в brms (я предполагаю).
Для справки, я пытаюсь использовать Оценочное LFO-CV для оценки и сравнения моей модели временных рядов.
(например, https://github.com/paul-buerkner/LFO-CV-paper/blob/master/sim_functions.R#L186)
(https://mc -stan.org / Лоо / статьи / loo2-lfo.html )