credsubs {credsubs}R Documentation

Constructs a credible subset pair

Description

credsubs returns a credible subset pair over a finite set of covariate points given either a sample from the posterior of the regression surface or a function FUN(x, params) and a sample from the posterior of the parameters.

Usage

credsubs(
  params,
  design = NULL,
  FUN = function(x, params) {     params %*% t(x) },
  cred.level = 0.95,
  threshold = 0,
  method = c("asymptotic", "quantile"),
  step.down = TRUE,
  sides = c("both", "exclusive", "inclusive"),
  est.FUN = mean,
  var.FUN = sd,
  point.estimate = NULL,
  track = numeric(0),
  verbose = FALSE
)

Arguments

params

A numeric matrix whose rows are draws from the posterior distribution of either the regression surface or the parameter vector.

design

(Optional) A numeric matrix whose rows are covariate points over which the band is to be constructed.

FUN

(Optional) a function of the form function(x, params) that takes a row of design and the entire params matrix and returns a vector of the same length of x representing the regression surface.

cred.level

Numeric; the credible level.

threshold

Numeric; the value of FUN above which a covariate is included in the target subset.

method

Either "asymptotic" (default) or "quantile"; see details.

step.down

Logical (default TRUE); should the step-down procedure be used?

sides

One of "both" (default), "exclusive", or "inclusive". Which bounds should be constructed?

est.FUN

The function used to produce estimates of the regression surface. Default is mean.

var.FUN

The function used to quantify the variability of the regression surface posterior. Default is sd.

point.estimate

If not null, replaces the mean and sets the reference around which the standard error is computed. Useful for bootstrapping methods. Treated as a row of the params matrix.

track

A numeric vector of indices indicating which rows (default none) of the design matrix should have the sample of the corresponding FUN(x, params) returned.

verbose

Logical (default FALSE); print progress?

Details

If design is NULL (default), it is taken to be the identity matrix of dimension ncol(params), so that the rows of params are treated as draws from the posterior FUN(x, params).

The 'asymptotic' method assumes that the marginal posteriors of the FUN(x, params) are asymptotically normal and is usually significantly faster and less memory-intensive than the 'quantile' method, which makes no such assumption.

Value

An object of class credsubs, which contains:

exclusive

A logical vector indicating membership in the exclusive credible subset.

inclusive

A logical vector indicating membership in the inclusive credible subset.

cred.level

As provided.

threshold

As provided.

method

As provided.

step.down

As provided.

sides

As provided.

est

Posterior estimate of the regression surface.

est.FUN

As provided.

var

Summary of posterior variability of the regression surface.

var.FUN

As provided.

W

An estimate of the extremal errors.

W.crit

The critical quantile of W.

trace

The posterior samples of the regression surface indicated by the track argument.

Examples

### Sample from regression surface posterior
reg.surf.sample <- matrix(rnorm(1000, mean=1:10), ncol=2, byrow=TRUE)
credsubs(reg.surf.sample, cred.level=0.80)

### Parametric case
design <- cbind(1, 1:10)
params <- matrix(rnorm(200, mean=1:2), ncol=2, byrow=TRUE)
credsubs(params, design)

### With custom function
params.sd <- cbind(1 / rgamma(100, 1), params)
FUN.sd <- function(x, params) { params[, -1] %*% t(x) / params[, 1] }
credsubs(params.sd, design, FUN.sd, threshold=1)


[Package credsubs version 1.1.1 Index]