Skip to contents

Compute pointwise Log-Likelihoods from fitted mvgam objects

Usage

# S3 method for mvgam
logLik(object, linpreds, newdata, family_pars, include_forecast = TRUE, ...)

Arguments

object

list object of class mvgam or jsdgam

linpreds

Optional matrix of linear predictor draws to use for calculating pointwise log-likelihoods.

newdata

Optional data.frame or list object specifying which series each column in linpreds belongs to. If linpreds is supplied, then newdata must also be supplied.

family_pars

Optional list containing posterior draws of family-specific parameters (i.e. shape, scale or overdispersion parameters). Required if linpreds and newdata are supplied.

include_forecast

Logical. If newdata were fed to the model to compute forecasts, should the log-likelihood draws for these observations also be returned. Defaults to TRUE.

...

Ignored

Value

A matrix of dimension n_samples x n_observations containing the pointwise log-likelihood draws for all observations in newdata. If no newdata is supplied, log-likelihood draws are returned for all observations that were originally fed to the model (training observations and, if supplied to the original model via the newdata argument in mvgam, testing observations).

Author

Nicholas J Clark

Examples

# \donttest{
# Simulate some data and fit a model
simdat <- sim_mvgam(
  n_series = 1,
  trend_model = AR()
)

mod <- mvgam(
  y ~ s(season, bs = 'cc', k = 6),
  trend_model = AR(),
  data = simdat$data_train,
  chains = 2,
  silent = 2
)

# Extract log-likelihood values
lls <- logLik(mod)
str(lls)
#>  num [1:1000, 1:75] -0.541 -0.575 -0.265 -0.424 -0.494 ...
# }