| halft | R Documentation |
Density, distribution function, quantile function, and random generation for the half-t distribution.
dhalft(x, df, sigma = 1, log = FALSE)
phalft(q, df, sigma = 1, lower.tail = TRUE, log.p = FALSE)
qhalft(p, df, sigma = 1, lower.tail = TRUE, log.p = FALSE)
rhalft(n, df, sigma = 1)
x, q |
vector of quantiles. |
df |
degrees of freedom, must be positive. |
sigma |
scale parameter, must be positive. |
log, log.p |
logical; if |
lower.tail |
logical; if |
p |
vector of probabilities. |
n |
number of random values to return. |
dhalft and phalft allow for automatic differentiation with RTMB,
with respect to df as well as sigma.
The half-t is the distribution of |Y| for Y = \sigma T and
T Student t on \nu degrees of freedom:
f(x;\,\nu,\sigma) = \frac{2}{\sigma} f_T(x/\sigma;\, \nu), \quad x \ge 0,
with distribution function F(x) = 2 F_T(x/\sigma;\, \nu) - 1.
Together with the half-Cauchy, which is the case
df = 1, this is the standard weakly informative prior for the standard
deviation of a hierarchical model, recommended by Gelman (2006) in place of
the inverse-gamma. The degrees of freedom set how heavy the tail is: small
df leaves large values essentially unpenalised, and as df grows
the distribution approaches the half-normal, which is the
folded normal with mu = 0.
The mean
E(X) = \frac{2\sigma\sqrt{\nu}\,\Gamma\bigl(\tfrac{\nu+1}{2}\bigr)}{\sqrt{\pi}\,(\nu - 1)\,\Gamma\bigl(\tfrac{\nu}{2}\bigr)}
exists only for \nu > 1 and the variance
\sigma^2 \nu / (\nu - 2) - E(X)^2 only for \nu > 2.
dhalft gives the density, phalft gives the distribution function, qhalft gives the quantile function, and rhalft generates random deviates.
Gelman, A. (2006) Prior distributions for variance parameters in hierarchical models. Bayesian Analysis, 1, 515-534, doi:10.1214/06-BA117A.
halfcauchy, foldnorm, trunct, t2
set.seed(123)
x <- rhalft(5, df = 3, sigma = 2)
d <- dhalft(x, df = 3, sigma = 2)
p <- phalft(x, df = 3, sigma = 2)
q <- qhalft(p, df = 3, sigma = 2)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.