dhalfnormal {bayesmeta} | R Documentation |
Half-normal, half-Student-t and half-Cauchy distributions.
Description
Half-normal, half-Student-t and half-Cauchy density, distribution, quantile functions, random number generation, and expectation and variance.
Usage
dhalfnormal(x, scale=1, log=FALSE)
phalfnormal(q, scale=1)
qhalfnormal(p, scale=1)
rhalfnormal(n, scale=1)
ehalfnormal(scale=1)
vhalfnormal(scale=1)
dhalft(x, df, scale=1, log=FALSE)
phalft(q, df, scale=1)
qhalft(p, df, scale=1)
rhalft(n, df, scale=1)
ehalft(df, scale=1)
vhalft(df, scale=1)
dhalfcauchy(x, scale=1, log=FALSE)
phalfcauchy(q, scale=1)
qhalfcauchy(p, scale=1)
rhalfcauchy(n, scale=1)
ehalfcauchy(scale=1)
vhalfcauchy(scale=1)
Arguments
x , q |
quantile. |
p |
probability. |
n |
number of observations. |
scale |
scale parameter ( |
df |
degrees-of-freedom parameter ( |
log |
logical; if |
Details
The half-normal distribution is simply a zero-mean normal distribution
that is restricted to take only positive values. The scale
parameter \sigma
here corresponds to the underlying normal
distribution's standard deviation:
if X\sim\mathrm{Normal}(0,\sigma^2)
, then
|X|\sim\mathrm{halfNormal}(\mathrm{scale}\!=\!\sigma)
.
Its mean is \sigma
\sqrt{2/\pi}
, and its variance is \sigma^2
(1-2/\pi)
.
Analogously, the half-t distribution is a truncated Student-t
distribution with df
degrees-of-freedom,
and the half-Cauchy distribution is again a special case of the
half-t distribution with df=1
degrees of freedom.
Note that (half-) Student-t and Cauchy distributions arise as continuous mixture distributions of (half-) normal distributions. If
Y|\sigma\;\sim\;\mathrm{Normal}(0,\sigma^2)
where the standard deviation is
\sigma = \sqrt{k/X}
and X
is drawn from a
\chi^2
-distribution with k
degrees of freedom, then the
marginal distribution of Y
is Student-t with k
degrees of freedom.
Value
‘dhalfnormal()
’ gives the density function,
‘phalfnormal()
’ gives the cumulative distribution
function (CDF),
‘qhalfnormal()
’ gives the quantile function (inverse CDF),
and ‘rhalfnormal()
’ generates random deviates.
The ‘ehalfnormal()
’ and ‘vhalfnormal()
’
functions return the corresponding half-normal distribution's
expectation and variance, respectively.
For the
‘dhalft()
’, ‘dhalfcauchy()
’ and related
function it works analogously.
Author(s)
Christian Roever christian.roever@med.uni-goettingen.de
References
C. Roever, R. Bender, S. Dias, C.H. Schmid, H. Schmidli, S. Sturtz, S. Weber, T. Friede. On weakly informative prior distributions for the heterogeneity parameter in Bayesian random-effects meta-analysis. Research Synthesis Methods, 12(4):448-474, 2021. doi:10.1002/jrsm.1475.
A. Gelman. Prior distributions for variance parameters in hierarchical models. Bayesian Analysis, 1(3):515-534, 2006. doi:10.1214/06-BA117A.
F. C. Leone, L. S. Nelson, R. B. Nottingham. The folded normal distribution. Technometrics, 3(4):543-550, 1961. doi:10.2307/1266560.
N. G. Polson, J. G. Scott. On the half-Cauchy prior for a global scale parameter. Bayesian Analysis, 7(4):887-902, 2012. doi:10.1214/12-BA730.
S. Psarakis, J. Panaretos. The folded t distribution. Communications in Statistics - Theory and Methods, 19(7):2717-2734, 1990. doi:10.1080/03610929008830342.
See Also
dnorm
, dt
, dcauchy
,
dlomax
, drayleigh
,
TurnerEtAlPrior
, RhodesEtAlPrior
,
bayesmeta
.
Examples
#######################
# illustrate densities:
x <- seq(0,6,le=200)
plot(x, dhalfnormal(x), type="l", col="red", ylim=c(0,1),
xlab=expression(tau), ylab=expression("probability density "*f(tau)))
lines(x, dhalft(x, df=3), col="green")
lines(x, dhalfcauchy(x), col="blue")
lines(x, dexp(x), col="cyan")
abline(h=0, v=0, col="grey")
# show log-densities (note the differing tail behaviour):
plot(x, dhalfnormal(x), type="l", col="red", ylim=c(0.001,1), log="y",
xlab=expression(tau), ylab=expression("probability density "*f(tau)))
lines(x, dhalft(x, df=3), col="green")
lines(x, dhalfcauchy(x), col="blue")
lines(x, dexp(x), col="cyan")
abline(v=0, col="grey")