mult_tsampling: Samples From Truncated Dirichlet Density

View source: R/bmult_sampling_mult.R

mult_tsamplingR Documentation

Samples From Truncated Dirichlet Density

Description

Based on specified inequality constraints, samples from truncated prior or posterior Dirichlet density.

Usage

mult_tsampling(
  inequalities,
  index = 1,
  niter = 10000,
  prior = FALSE,
  nburnin = niter * 0.05,
  seed = NULL
)

Arguments

inequalities

list that contains inequality constraints for each independent inequality constrained hypotheses. The list is created in the generate_restriction_list function

index

numeric. If multiple independent inequality constraints are specified, this index determines for which inequality constraint samples should be drawn. Must be a single value. Default is 1

niter

numeric. A single value specifying the number of samples. Default is set to 10,000

prior

logical. If TRUE ignores the data that are encoded in inequalities and thus samples from the prior distribution. Default is FALSE.

nburnin

numeric. A single value specifying the number of burn-in samples when drawing from the truncated distribution. Minimum number of burn-in samples is 10. Default is 5% of the number of samples. Burn-in samples are removed automatically after the sampling.

seed

numeric. Sets the seed for reproducible pseudo-random number generation

Details

The model assumes that data follow a multinomial distribution and assigns a Dirichlet distribution as prior for the model parameters (i.e., underlying category proportions). That is:

x ~ Multinomial(N, θ)

θ ~ Dirichlet(α)

Value

matrix of dimension niter * nsamples containing prior or posterior samples from truncated Dirichlet distribution.

Note

When equality constraints are specified in the restricted hypothesis, this function samples from the conditional Dirichlet distribution given that the equality constraints hold.

Only inequality constrained parameters are sampled. Free parameters or parameters that are exclusively equality constrained will be ignored.

References

\insertRef

damien2001samplingmultibridge

\insertRef

sarafoglou2020evaluatingPreprintmultibridge

See Also

generate_restriction_list

Examples

x <- c(200, 130, 40, 10)
a <- c(1, 1, 1, 1)
factor_levels <- c('mult1', 'mult2', 'mult3', 'mult4')
Hr <- c('mult1 > mult2 > mult3 > mult4')

# generate restriction list
inequalities <- generate_restriction_list(x=x, Hr=Hr, a=a, 
factor_levels=factor_levels)$inequality_constraints

# sample from prior distribution
prior_samples <- mult_tsampling(inequalities, niter = 500, prior=TRUE)
# sample from posterior distribution
post_samples <- mult_tsampling(inequalities, niter = 500)

multibridge documentation built on Nov. 1, 2022, 5:05 p.m.