R: Find Empirical Bayes weight from data

wfromx {EbayesThresh} | R Documentation

## Find Empirical Bayes weight from data

### Description

Suppose the vector (x_1, …, x_n) is such that x_i is drawn independently from a normal distribution with mean θ_i and standard deviation s_i (s_i equals 1 for Cauchy prior). 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

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

### Arguments

`x` | 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.
`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.
`universalthresh` | If `universalthresh = TRUE`, the thresholds will be upper bounded by universal threshold; otherwise, the thresholds can take any non-negative values.

### Details

The weight is found by marginal maximum likelihood.

The search is over weights corresponding to threshold t_i in the range [0, s_i sqrt(2 log n)] if `universalthresh=TRUE`, where n is the length of the data vector and (s_1, ... , s_n) (s_i is 1 for Cauchy prior) is the vector of sampling standard deviation of data (x_1, ... , x_n); otherwise, the search is over [0, 1].

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

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

[Package EbayesThresh version 1.4-12 Index]