Given a single value or a vector of data and sampling standard
deviations (sd is 1 for Cauchy prior), find the corresponding
posterior median estimate(s) of the underlying signal value(s).
Usage
postmed(x, s, w = 0.5, prior = "laplace", a = 0.5)
postmed.laplace(x, s = 1, w = 0.5, a = 0.5)
postmed.cauchy(x, w)
cauchy.medzero(x, z, w)
Arguments
x
A data value or a vector of data.
s
A single value or a vector of standard deviations if the
Laplace prior is used. If a vector, must have the same length as
x. Ignored if Cauchy prior is used.
w
The value of the prior probability that the signal is
nonzero.
prior
Family of the nonzero part of the prior; can be
"cauchy" or "laplace".
a
The scale parameter of the nonzero part of the prior if the
Laplace prior is used.
z
The data vector (or scalar) provided as input to
cauchy.medzero.
Value
If \(x\) is a scalar, the posterior median
\(\mbox{med}(\theta|x)\) where \(\theta\) is
the mean of the distribution from which \(x\) is drawn. If \(x\) is
a vector with elements \(x_1, ... , x_n\) and \(s\) is a vector with
elements \(s_1, ... , s_n\) (s_i is 1 for Cauchy prior), then the
vector returned has elements \(\mbox{med}(\theta_i|x_i,
s_i)\), where each \(x_i\) has mean
\(\theta_i\) and standard deviation \(s_i\), all with the
given prior.
Details
The routine calls the relevant one of the routines
postmed.laplace or postmed.cauchy. In the Laplace case,
the posterior median is found explicitly, without any need for the
numerical solution of an equation. In the quasi-Cauchy case, the
posterior median is found by finding the zero, component by component,
of the vector function cauchy.medzero.