For models fit using MCMC only, the log_lik
method returns the
\(S\) by \(N\) pointwise log-likelihood matrix, where \(S\) is the size
of the posterior sample and \(N\) is the number of data points, or in the
case of the stanmvreg
method (when called on stan_jm
model objects) an \(S\) by \(Npat\) matrix where \(Npat\) is the number
of individuals.
# S3 method for stanreg log_lik(object, newdata = NULL, offset = NULL, ...) # S3 method for stanmvreg log_lik(object, m = 1, newdata = NULL, ...) # S3 method for stanjm log_lik(object, newdataLong = NULL, newdataEvent = NULL, ...)
object | A fitted model object returned by one of the
rstanarm modeling functions. See |
---|---|
newdata | An optional data frame of new data (e.g. holdout data) to use
when evaluating the log-likelihood. See the description of |
offset | A vector of offsets. Only required if |
... | Currently ignored. |
m | Integer specifying the number or name of the submodel |
newdataLong, newdataEvent | Optional data frames containing new data
(e.g. holdout data) to use when evaluating the log-likelihood for a
model estimated using |
For the stanreg
and stanmvreg
methods an \(S\) by
\(N\) matrix, where \(S\) is the size of the posterior sample and
\(N\) is the number of data points. For the stanjm
method
an \(S\) by \(Npat\) matrix where \(Npat\) is the number of individuals.
# \donttest{ roaches$roach100 <- roaches$roach1 / 100 fit <- stan_glm( y ~ roach100 + treatment + senior, offset = log(exposure2), data = roaches, family = poisson(link = "log"), prior = normal(0, 2.5), prior_intercept = normal(0, 10), iter = 500, # just to speed up example, refresh = 0 ) ll <- log_lik(fit) dim(ll)#> [1] 1000 262#> [1] TRUE# using newdata argument nd <- roaches[1:2, ] nd$treatment[1:2] <- c(0, 1) ll2 <- log_lik(fit, newdata = nd, offset = c(0, 0)) head(ll2)#> 1 2 #> [1,] -7.183851 -3.419396 #> [2,] -6.728552 -3.369339 #> [3,] -6.913875 -3.497883 #> [4,] -6.433703 -3.516367 #> [5,] -7.500837 -3.342995 #> [6,] -7.810188 -4.052911dim(ll2)#> [1] 1000 2#> [1] TRUE# }