log_lik.stanreg {rstanarm}R Documentation

Pointwise log-likelihood matrix

Description

For models fit using MCMC only, the log_lik method returns the SS by NN pointwise log-likelihood matrix, where SS is the size of the posterior sample and NN is the number of data points, or in the case of the stanmvreg method (when called on stan_jm model objects) an SS by NpatNpat matrix where NpatNpat is the number of individuals.

Usage

## S3 method for class 'stanreg'
log_lik(object, newdata = NULL, offset = NULL, ...)

## S3 method for class 'stanmvreg'
log_lik(object, m = 1, newdata = NULL, ...)

## S3 method for class 'stanjm'
log_lik(object, newdataLong = NULL, newdataEvent = NULL, ...)

Arguments

object

A fitted model object returned by one of the rstanarm modeling functions. See stanreg-objects.

newdata

An optional data frame of new data (e.g. holdout data) to use when evaluating the log-likelihood. See the description of newdata for posterior_predict.

offset

A vector of offsets. Only required if newdata is specified and an offset was specified when fitting the model.

...

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 stan_jm. If the fitted model was a multivariate joint model (i.e. more than one longitudinal outcome), then newdataLong is allowed to be a list of data frames. If supplying new data, then newdataEvent should also include variables corresponding to the event time and event indicator as these are required for evaluating the log likelihood for the event submodel. For more details, see the description of newdataLong and newdataEvent for posterior_survfit.

Value

For the stanreg and stanmvreg methods an SS by NN matrix, where SS is the size of the posterior sample and NN is the number of data points. For the stanjm method an SS by NpatNpat matrix where NpatNpat is the number of individuals.

Examples

if (.Platform$OS.type != "windows" || .Platform$r_arch != "i386") {

 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)
 all.equal(ncol(ll), nobs(fit))

 # 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)
 dim(ll2)
 all.equal(ncol(ll2), nrow(nd))

}

[Package rstanarm version 2.32.1 Index]