WLEB: Weighted Likelihood Empirical Bayes

Description Usage Arguments Details Value Author(s) References See Also Examples

View source: R/estimateDisp.R

Description

Compute empirical Bayes moderated parameter estimators using a weighted likelihood approach.

Usage

1
2
WLEB(theta, loglik, prior.n = 5, covariate = NULL, trend.method = "locfit", span = NULL, 
     overall = TRUE, trend = TRUE, individual = TRUE, m0 = NULL, m0.out = FALSE)

Arguments

theta

numeric vector of values of the parameter at which the log-likelihoods are calculated.

loglik

numeric matrix of log-likelihood of all the candidates at those values of parameter.

prior.n

numeric scaler, estimate of the prior weight, i.e. the smoothing parameter that indicates the weight to put on the common likelihood compared to the individual's likelihood.

covariate

numeric vector of values across which a parameter trend is fitted

trend.method

method for estimating the parameter trend. Possible values are "none", "movingave", "loess", "locfit" or "locfit.mixed". The latter options cause movingAverageByCol(), loessBycol() and locfitByCol() respectively to be called to smooth loglik by the covariate values. The "locfit.mixed" method is the same as "locfit" but uses a polynomial of degree 1 for lowly expressed genes.

span

width of the smoothing window, as a proportion of the data set.

overall

logical, should a single value of the parameter which maximizes the sum of all the log-likelihoods be estimated?

trend

logical, should a parameter trend (against the covariate) which maximizes the local shared log-likelihoods be estimated?

individual

logical, should individual estimates of all the candidates after applying empirical Bayes method along the trend be estimated?

m0

numeric matrix of local shared log-likelihoods. If NULL, it will be calculated using the method selected by trend.method.

m0.out

logical, should local shared log-likelihoods be included in the output?

Details

This function implements a very general empirical Bayes strategy outlined by McCarthy et al (2012). McCarthy et el used the method to estimate genewise negative binomial dispersion parameters, but here the method is generalized to apply to any parameter and any likelihood function. The method gives similar results to parametric empirical Bayes with a conjugate prior, when a conjugate prior exists, but does not require the prior distribution to be specified. The prior distribution is instead inferred from the pooled likelihood, i.e., from the likelihood that would be arise from pooling all the cases or from pooling all the cases with similar covariate values.

The function assumes a series of cases. Each case leads to data set from which a parameter (theta) is to be estimated. For each case, the log-likelihood function has been evaluated over a grid of possible values for theta. The function takes as input the matrix of log-likelihood values where the rows correspond to cases and the columns correspond to putative parameter values.

Each case is associated with a covariate value that might affect theta. The "overall" parameter estimate is the maximum likelihood estimator of theta that arises if the likelihood is averaged over cases and then maximized over theta. The "trend" parameter estimates are estimates for theta that arise if each column of loglik is replaced by a smooth trend with respect to the covariate. The "individual" parameter estimate for each case is a compromise between the maximum likelihood estimate for that case alone and a global parameter estimate computed from all the cases, the latter being either the overall estimate (if trend.method="none" or the trend estimate (otherwise).

Value

A list with the following:

overall

the parameter estimate that maximizes the sum of all the log-likelihoods.

trend

the estimated trended parameters against the covariate.

individual

the individual estimates of all the candidates after applying empirical Bayes method along the trend.

shared.loglik

the estimated numeric matrix of local shared log-likelihoods

Author(s)

Yunshun Chen, Gordon Smyth

References

McCarthy, DJ, Chen, Y, Smyth, GK (2012). Differential expression analysis of multifactor RNA-Seq experiments with respect to biological variation. Nucleic Acids Research 40, 4288-4297. https://doi.org/10.1093/nar/gks042

See Also

locfitByCol, movingAverageByCol and loessByCol implement the local fit, moving average or loess smoothers.

Examples

1
2
3
4
5
6
7
8
9
y <- matrix(rpois(100, lambda=10), ncol=4)
theta <- 7:14
loglik <- matrix(0,nrow=nrow(y),ncol=length(theta))
for(i in 1:nrow(y))
for(j in 1:length(theta))
	loglik[i,j] <- sum(dpois(y[i,], theta[j] ,log=TRUE))
covariate <- log(rowSums(y))
out <- WLEB(theta, loglik, prior.n=3, covariate)
out

Example output

Loading required package: limma
$span
[1] 1

$overall
[1] 10.27058

$trend
 [1]  9.472183 10.028059  9.472183 10.832366 10.909836 10.419809 10.672697
 [8] 10.753351 10.235050  9.920221 10.946182 11.165119  9.920221 10.419809
[15] 10.419809  9.809622  9.696033 11.004133 10.506042 10.975436 10.419809
[22]  9.376306 10.028059  9.561966 10.028059

$individual
 [1]  9.039766  9.895905  9.039766 11.062157 11.182958 10.439844 10.816687
 [8] 10.939924 10.176507  9.752699 11.272712 11.936539  9.752699 10.439844
[15] 10.439844  9.607408  9.459711 11.440937 10.566822 11.357063 10.439844
[22]  8.841446  9.895905  9.233559  9.895905

edgeR documentation built on Jan. 16, 2021, 2:03 a.m.