Numerical techniques for calculating the normalizing constant for the hyperdirichlet distribution
B(H, disallowed=NULL, give=FALSE, ...)
probability(H, disallowed=NULL, ...)
mgf(H, powers, ...)
dhyper2(ip,H,...)
dhyper2_e(e,H,include.Jacobian=TRUE)
mean_hyper2(H, normalize=TRUE, ...)
Jacobian(e)
e_to_p(e)
p_to_e(p)Object of class hyper2
Vector of length dim(x) whose elements are the
powers of the expectation; see details section
Function specifying a subset of the simplex
over which to integrate; default NULL means to integrate over
the whole simplex. The integration proceeds over p with
disallowed(p) evaluating to FALSE
A vector; see details
A vector of probabilities corresponding to indep(p)
where p is vector with unit sum
Boolean, with default TRUE meaning to
include the Jacobian transformation in the evaluation, and
FALSE meaning to ignore it; use FALSE for likelihood
work and TRUE for probability densities
Boolean, with default FALSE meaning to return the
value of the integral and TRUE meaning to return the full
output of adaptIntegrate()
Boolean, indicates whether return value of
mean_hyper2() is normalized to have unit sum
Further arguments passed to adaptIntegrate()
Function B() returns a scalar: the normalization
constant
Function dhyper2() is a probability density function
over indep(p)
Function mean() returns a \(k\)-tuple with unit sum
Function mgf() returns a scalar equal to the expectation of
p^power
Functions is.proper() and validated() return a Boolean
Function probability() returns a scalar, a (Bayesian)
probability
Function B() returns the normalizing constant of a
hyperdirichlet likelihood function. Internally, \(p\) is
converted to e (by e_to_p()) and the integral proceeds
over a hypercube. This function can be very slow, especially if
disallowed is used.
Function dhyper2(ip,H) is a probability density
function on the independent components of a unit-sum vector, that
is, ip=indep(p). This function calls B() each time so
might be a performance bottleneck.
Function probability() gives the probability of an
observation from a hyperdirichlet distribution satisfying
!disallowed(p).
Function mgf() is the moment generating function,
taking an argument that specifies the powers of p needed: the
expectation of \(\prod_{i=1}^n {p_i}^{{\rm powers}[i]}\) is returned.
Function mean_hyper2() returns the mean value of the
hyperdirichlet distribution. This is computationally slow (consider
maxp() for a measure of central tendency). The function
takes a normalize argument, not passed to
adaptIntegrate(): this is Boolean with FALSE meaning
to return the value found by integration directly, and default
TRUE meaning to normalize so the sum is exactly 1
# NOT RUN {
data(chess)
mean_hyper2(chess)
maxp(chess)
# disallowed argument typically means slow run times; use high tol for speed
probability(chess,disallowed=function(p){p[1]>p[2]},tol=0.1)
probability(chess,disallowed=function(p){p[1]<p[2]},tol=0.1)
# }
Run the code above in your browser using DataLab