Skip to contents

Base class for RTMB Fit objects

Base class for RTMB Fit objects

Details

An R6 base class providing common methods for Bayesian and MAP inference results.

Public fields

model

The `RTMB_Model` object used for estimation.

Methods


Method get_point_estimate()

Abstract method to get a point estimate for a target parameter.

Usage

RTMB_Fit_Base$get_point_estimate(target, ...)

Arguments

target

Character string specifying the target parameter name.

...

Additional arguments.

Returns

A numeric array or matrix of the point estimate.


Method estimate()

Get point estimates for parameters, transformed parameters, and generated quantities.

Usage

RTMB_Fit_Base$estimate(
  pars = NULL,
  type = c("mean", "EAP", "marginal_map", "joint_map", "MAP"),
  component = c("all", "parameters", "transform", "generate"),
  chains = NULL,
  best_chains = NULL,
  drop = TRUE,
  ...
)

Arguments

pars

Optional character or numeric vector of parameter names or indices to extract. Supports special keywords: "parameters", "transform", "generate", and "all".

type

Character string specifying the estimation type.

component

Character string specifying the component to filter by.

chains

Numeric vector of chains to include.

best_chains

Number of best chains to include.

drop

Logical; if TRUE and only one parameter is selected, return the value directly instead of a list.

...

Additional arguments passed to draws().

Returns

A named list of point estimates, or a single value if `drop = TRUE`.


Method EAP()

Calculate Expected A Posteriori (EAP) estimates from posterior samples.

Usage

RTMB_Fit_Base$EAP(
  pars = "parameters",
  chains = NULL,
  best_chains = NULL,
  drop = TRUE,
  ...
)

Arguments

pars

Optional character vector of parameter names to extract.

chains

Numeric vector of chains to include.

best_chains

Number of best chains to include.

drop

Logical; whether to drop the list if only one parameter is selected.

...

Additional arguments passed to `estimate()`.

Returns

A named list of EAP estimates.


Method MAP()

Calculate Maximum A Posteriori (MAP) estimates.

Usage

RTMB_Fit_Base$MAP(
  pars = "parameters",
  chains = NULL,
  best_chains = NULL,
  type = c("marginal", "joint"),
  drop = TRUE,
  ...
)

Arguments

pars

Optional character vector of parameter names to extract.

chains

Numeric vector of chains to include.

best_chains

Number of best chains to include.

type

Character string; "marginal" or "joint" MAP.

drop

Logical; whether to drop the list if only one parameter is selected.

...

Additional arguments passed to `estimate()`.

Returns

A named list of MAP estimates.


Method rotate()

Rotate sampled parameters.

Usage

RTMB_Fit_Base$rotate(
  target,
  reference = NULL,
  linked = NULL,
  principal = FALSE,
  suffix = "rot",
  overwrite = TRUE
)

Arguments

target

Character string specifying the target variable to base the rotation on.

reference

Matrix to rotate towards. If NULL, the target's point estimate is used.

linked

Character vector of variable names to be rotated in the same direction.

principal

Logical; if TRUE and `reference` is NULL, the point estimate is first rotated to its principal axes and then used as the Procrustes reference. This is useful for MDU configurations.

suffix

Character suffix used for generated quantities. The default stores results as `<variable>_rot`.

overwrite

Logical; if TRUE, existing generated quantities with the same names are overwritten. If FALSE, a numeric suffix is appended.

Returns

The updated object invisibly.


Method posterior_predict()

Generate posterior predictive replications.

Usage

RTMB_Fit_Base$posterior_predict(
  code = NULL,
  variable = NULL,
  draws = 100L,
  seed = NULL,
  random = c("conditional", "population", "simulate"),
  chains = NULL,
  best_chains = NULL,
  observed = NULL
)

Arguments

code

Optional `rtmb_code()` object containing a `generate` block for custom models. The block should create and report one replicated outcome.

variable

Name of the replicated quantity returned by `code`. If omitted, `y_rep` or the only returned quantity is used.

draws

Number of predictive draws, or `NULL` to use every available posterior draw.

seed

Optional random seed.

random

Hierarchical prediction mode: `"conditional"` uses fitted random effects, `"population"` omits them, and `"simulate"` draws new random effects for the observed groups.

chains

Optional chains to use.

best_chains

Optional number of best chains to use.

observed

Optional observed outcome or its name in model data. This is stored as metadata when its length matches a prediction.

Returns

A matrix with predictive draws in rows and observations in columns.


Method pp_check()

Plot a posterior predictive check.

Usage

RTMB_Fit_Base$pp_check(
  type = c("auto", "dens", "bars"),
  stat = NULL,
  x = NULL,
  code = NULL,
  observed = NULL,
  variable = NULL,
  draws = 100L,
  seed = NULL,
  random = c("conditional", "population", "simulate"),
  chains = NULL,
  best_chains = NULL,
  plot = TRUE,
  ...
)

Arguments

type

Plot type: `"dens"`, `"bars"`, or `"auto"`. Automatic mode uses the observation likelihood's `_lpdf` or `_lpmf` implementation.

stat

Optional scalar statistic function, or its name. When supplied, the replicated statistic distribution is compared with its observed value.

x

Optional predictor used for a scatter-based check. Supply a column name from the model data or a vector with one value per observation.

code

Optional custom generate block; see `posterior_predict()`.

observed

Optional observed outcome or its name in model data.

variable

Name of the replicated quantity returned by `code`.

draws

Number of posterior predictive replications.

seed

Optional random seed.

random

Hierarchical prediction mode; see `posterior_predict()`.

chains

Optional chains to use.

best_chains

Optional number of best chains to use.

plot

Logical; draw the check immediately.

...

Graphical arguments passed to the plotting method.

Returns

An `rtmb_pp_check` object, invisibly.


Method fa_rotate()

Rotate factor loadings and optional factor scores.

Usage

RTMB_Fit_Base$fa_rotate(
  target = "L",
  linked = NULL,
  scores = NULL,
  rotate = "promax",
  ...,
  suffix = NULL,
  overwrite = TRUE
)

Arguments

target

Character string specifying the target variable to base the rotation on.

linked

Character vector of variable names to be rotated in the same direction.

scores

Character vector of variable names to be rotated as factor scores (inverse direction).

rotate

Character string specifying the rotation method.

...

Additional arguments passed to the rotation function.

suffix

Character suffix used for generated quantities. If NULL, the rotation method name is used.

overwrite

Logical; if TRUE, existing generated quantities with the same names are overwritten. If FALSE, a numeric suffix is appended.

Returns

The updated object invisibly.


Method clone()

The objects of this class are cloneable with this method.

Usage

RTMB_Fit_Base$clone(deep = FALSE)

Arguments

deep

Whether to make a deep clone.