Skip to contents

This function is largely a more user friendly wrapper around optimPibbleCollapsed and uncollapsePibble. See details for model specification. Notation: N is number of samples, D is number of multinomial categories, Q is number of covariates, iter is the number of samples of eta (e.g., the parameter n_samples in the function optimPibbleCollapsed)

Usage

pibble(
  Y = NULL,
  X = NULL,
  upsilon = NULL,
  Theta = NULL,
  Gamma = NULL,
  Xi = NULL,
  init = NULL,
  pars = c("Eta", "Lambda", "Sigma"),
  newdata = NULL,
  ...
)

# S3 method for class 'pibblefit'
refit(m, pars = c("Eta", "Lambda", "Sigma"), ...)

Arguments

Y

D x N matrix of counts (if NULL uses priors only)

X

Q x N matrix of covariates (design matrix) (if NULL uses priors only, must be present to sample Eta)

upsilon

dof for inverse wishart prior (numeric must be > D) (default: D+3)

Theta

(D-1) x Q matrix of prior mean for regression parameters (default: matrix(0, D-1, Q))

Gamma

QxQ prior covariance matrix (default: diag(Q))

Xi

(D-1)x(D-1) prior covariance matrix (default: ALR transform of diag(1)*(upsilon-D)/2 - this is essentially iid on "base scale" using Aitchison terminology)

init

(D-1) x N initialization for Eta for optimization

pars

character vector of posterior parameters to return

newdata

Default is NULL. If non-null, newdata is used in the uncollapse sampler in place of X.

...

arguments passed to optimPibbleCollapsed and uncollapsePibble

m

object of class pibblefit

Value

an object of class pibblefit

Details

the full model is given by: $$Y_j \sim Multinomial(Pi_j)$$ $$Pi_j = Phi^{-1}(Eta_j)$$ $$Eta \sim MN_{D-1 \times N}(Lambda*X, Sigma, I_N)$$ $$Lambda \sim MN_{D-1 \times Q}(Theta, Sigma, Gamma)$$ $$Sigma \sim InvWish(upsilon, Xi)$$ Where Gamma is a Q x Q covariance matrix, and \(Phi^{-1}\) is ALRInv_D transform.

Default behavior is to use MAP estimate for uncollaping the LTP model if laplace approximation is not preformed.

References

JD Silverman K Roche, ZC Holmes, LA David, S Mukherjee. Bayesian Multinomial Logistic Normal Models through Marginally Latent Matrix-T Processes. 2019, arXiv e-prints, arXiv:1903.11695

See also

fido_transforms provide convenience methods for transforming the representation of pibblefit objects (e.g., conversion to proportions, alr, clr, or ilr coordinates.)

access_dims provides convenience methods for accessing dimensions of pibblefit object

Generic functions including summary, print, coef, as.list, predict, name, and sample_prior name_dims

Plotting functions provided by plot and ppc (posterior predictive checks)

Examples

sim <- pibble_sim()
fit <- pibble(sim$Y, sim$X)