# postmean: Posterior mean estimator In EbayesThresh: Empirical Bayes Thresholding and Related Methods

## Description

Given a single value or a vector of data and sampling standard deviations (sd equals 1 for Cauchy prior), find the corresponding posterior mean estimate(s) of the underlying signal value(s).

## Usage

 ```1 2 3``` ```postmean(x, s, w = 0.5, prior = "laplace", a = 0.5) postmean.laplace(x, s = 1, w = 0.5, a = 0.5) postmean.cauchy(x, 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.

## Value

If x is a scalar, the posterior mean E(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 E(theta_i|x_i, s_i), where each x_i has mean theta_i and standard deviation s_i, all with the given prior.

## Note

If the quasicauchy prior is used, the argument `a` and `s` are ignored.

If `prior="laplace"`, the routine calls `postmean.laplace`, which finds the posterior mean explicitly, as the product of the posterior probability that the parameter is nonzero and the posterior mean conditional on not being zero.

If `prior="cauchy"`, the routine calls `postmean.cauchy`; in that case the posterior mean is found by expressing the quasi-Cauchy prior as a mixture: The mean conditional on the mixing parameter is found and is then averaged over the posterior distribution of the mixing parameter, including the atom of probability at zero variance.

## Author(s)

Bernard Silverman

## References

See `ebayesthresh` and http://www.bernardsilverman.com

`postmed`
 ```1 2``` ```postmean(c(-2,1,0,-4,8,50), w = 0.05, prior = "cauchy") postmean(c(-2,1,0,-4,8,50), s = 1:6, w = 0.2, prior = "laplace", a = 0.3) ```