Learn R Programming

edgeR (version 3.14.0)

WLEB: Calculate Weighted Likelihood Empirical Bayes Estimates

Description

Estimates the parameters which maximize the given log-likelihood matrix using empirical Bayes method.

Usage

WLEB(theta, loglik, prior.n=5, covariate=NULL, trend.method="locfit", mixed.df=FALSE, 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" and "loess".
mixed.df
logical, only used when trend.method="locfit". If FALSE, locfit uses a polynomial of degree 0. If TRUE, locfit uses a polynomial of degree 1 for rows with small covariate values. Care is taken to smooth the curve.
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?

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

Details

This function is a generic function that calculates an overall estimate, trend estimates and individual estimates for each candidate given the values of the log-likelihood of all the candidates at some specified parameter values.

See Also

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

Examples

Run this code
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

Run the code above in your browser using DataLab