# dist.Stick: Truncated Stick-Breaking Prior Distribution In LaplacesDemon: Complete Environment for Bayesian Inference

## Description

These functions provide the density and random number generation of the original, truncated stick-breaking (TSB) prior distribution given theta and gamma, as per Ishwaran and James (2001).

## Usage

 ```1 2``` ```dStick(theta, gamma, log=FALSE) rStick(M, gamma) ```

## Arguments

 `M` This accepts an integer that is equal to one less than the number of truncated number of possible mixture components (M=1). Unlike most random deviate functions, this is not the number of random deviates to return. `theta` This is theta, a vector of length M-1, where M is the truncated number of possible mixture components. `gamma` This is gamma, a scalar, and is usually gamma-distributed. `log` Logical. If `log=TRUE`, then the logarithm of the density is returned.

## Details

• Application: Discrete Multivariate

• Density: p(pi) = ((1-theta)^(beta-1))/(B(1,β))

• Inventor: Sethuraman, J. (1994)

• Notation 1: pi ~ Stick(theta, gamma)

• Notation 2: pi ~ Stick(theta, gamma)

• Notation 3: p(pi) = Stick(pi | theta, gamma)

• Notation 4: p(pi) = GEM(pi | theta, gamma)

• Parameter 1: shape parameter theta in (0,1)

• Parameter 2: shape parameter gamma > 0

• Mean: E(pi) = 1/(1+gamma)

• Variance: var(pi) = gamma / ((1+gamma)^2 (gamma+2))

• Mode: mode(pi) = 0

The original truncated stick-breaking (TSB) prior distribution assigns each theta to be beta-distributed with parameters alpha=1 and beta=gamma (Ishwaran and James, 2001). This distribution is commonly used in truncated Dirichlet processes (TDPs).

## Value

`dStick` gives the density and `rStick` generates a random deviate vector of length M.

## References

Ishwaran, H. and James, L. (2001). "Gibbs Sampling Methods for Stick Breaking Priors". Journal of the American Statistical Association, 96(453), p. 161–173.

Sethuraman, J. (1994). "A Constructive Definition of Dirichlet Priors". Statistica Sinica, 4, p. 639–650.

`ddirichlet`, `dmvpolya`, and `Stick`.
 ```1 2 3``` ```library(LaplacesDemon) dStick(runif(4), 0.1) rStick(4, 0.1) ```