The Dirichlet distribution in likelihood (for p) form, including the generalized Dirichlet distribution due to Connor and Mosimann
dirichlet(powers, alpha)
GD(alpha, beta, beta0=0)
GD_wong(alpha, beta)
rdirichlet(n,H)
is.dirichlet(H)
rp_unif(n,H)
In function dirichlet() a (named) vector of powers
A vector of parameters for the Dirichlet or generalized Dirichlet distribution
In function GD(), an arbitrary parameter
Object of class hyper2
Number of observations
Robin K. S. Hankin
These functions are really convenience functions.
Function rdirichlet() returns random samples drawn from a
Dirichlet distribution. If second argument H is a
hyper2 object, it is tested [with is.dirichlet()] for
being a Dirichlet distribution. If so, samples from it are returned.
If not, (e.g. icons), an error is given. If H is not a
hyper2 object, it is interpreted as a vector of parameters
\(\alpha\) [not a vector of powers].
Function rp_unif() returns uniformly distributed vectors,
effectively using H*0; but note that this uses Dirichlet
sampling which is much faster and better than the Metropolis-Hastings
functionality documented at rp.Rd.
Functions GD() and GD_wong() return a likelihood
function corresponding to the Generalized Dirichlet distribution as
presented by Connor and Mosimann, and Wong, respectively. In
GD_wong(), alpha and beta must be named vectors;
the names of alpha give the names of
\(x_1,\ldots,x_k\) and the last element of beta
gives the name of \(x_{k+1}\).
R. J. Connor and J. E. Mosimann 1969. “Concepts of independence for proportions with a generalization of the Dirichlet distribution”. Journal of the American Statistical Association, 64:194--206
T.-T. Wong 1998. “Generalized Dirichlet distribution in Bayesian Analysis”. Applied Mathematics and Computation, 97:165--181
hyper2,rp
x1 <- dirichlet(c(a=1,b=2,c=3))
x2 <- dirichlet(c(c=3,d=4))
x1+x2
H <- dirichlet(c(a=1,b=2,c=3,d=4))
rdirichlet(10,H)
colMeans(rdirichlet(1e4,H))
Run the code above in your browser using DataLab