Find Empirical Bayes weight from data

Share:

Description

Suppose the vector (x_1, …, x_n) is such that x_i is drawn independently from a normal distribution with mean θ_i and variance 1. The prior distribution of the theta_i is a mixture with probability 1-w of zero and probability w of a given symmetric heavy-tailed distribution. This routine finds the marginal maximum likelihood estimate of the parameter w.

Usage

1
wfromx(x, prior = "laplace", a = 0.5)

Arguments

x

vector of data

prior

specification of prior to be used; can be "cauchy" or "laplace"

a

scale factor if Laplace prior is used. Ignored if Cauchy prior is used.

Details

The weight is found by marginal maximum likelihood. The search is over weights corresponding to thresholds in the range [0, √{2 \log n}], where n is the length of the data vector.

The search is by binary search for a solution to the equation S(w)=0, where S is the derivative of the log likelihood. The binary search is on a logarithmic scale in w.

If the Laplace prior is used, the scale parameter is fixed at the value given for a, and defaults to 0.5 if no value is provided. To estimate a as well as w by marginal maximum likelihood, use the routine wandafromx.

Value

The numerical value of the estimated weight.

Author(s)

Bernard Silverman

References

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

See Also

wandafromx, tfromx, tfromw, wfromt

Examples

1
wfromx(x=rnorm(100, c( rep(0,90), rep(5,10))), prior="cauchy")