Fit Normal+Exp Convolution Model to Observed Intensities
Fit the normal+exponential convolution model to a vector of observed intensities.
The normal part represents the background and the exponential part represents the signal intensities.
This function is called by backgroundCorrect
and is not normally called directly by users.
normexp.fit(x, method="saddle", n.pts=NULL, trace=FALSE)
x |
numeric vector of (background corrected) intensities |
method |
method used to estimate the three parameters. Choices for |
n.pts |
number of quantiles of |
trace |
logical, if |
The Normal+Exp (normexp) convolution model is a mathematical model representing microarray intensity data for the purposes of background correction. It was proposed originally as part of the RMA algorithm for Affymetrix microarray data. For two-color microarry data, the normexp background correction method was introduced and compared with other methods by Ritchie et al (2007).
This function uses maximum likelihood estimation to fit the normexp model to background-corrected intensities. The model assumes that the observed intensities are the sum of background and signal components, the background being normal and the signal being exponential distributed.
The likelihood may be computed exactly (method="mle"
) or approximated using a saddle-point approximation (method="saddle"
).
The saddle-point approximation was proposed by Ritchie et al (2007).
Silver et al (2008) added some computational refinements to the saddle-point approximation, making it more reliable in practice, and developed the exact likelihood maximization algorithm.
The "mle"
method uses the best performing algorithm from Silver et al (2008), which
calls the optimization function nlminb
with analytic first and second derivatives.
Derivatives are computed with respect to the normal-mean, the log-normal-variance and the log-exponential-mean.
Two ad-hoc estimators are also available which do not require iterative estimation.
"rma"
results in a call to the bg.parameters
function of the affy package.
This provides the kernel estimation method that is part of the RMA algorithm for Affymetrix data.
"rma75"
uses the similar but less biased RMA-75 method from McGee and Chen (2006).
If the length x
is very large, it may be worth saving computation time by setting n.pts
to a value less than the total number of probes, for example n.pts=2^14
.
A list containing the components
par |
numeric vector giving estimated values of the mean and log-standard-deviation of the background-normal part and the log-mean of the signal-exponential part. |
m2loglik |
numeric scalar giving minus twice the maximized log-likelihood |
convergence |
integer code indicating successful convergence or otherwise of the optimization. |
Gordon Smyth and Jeremy Silver
McGee, M., and Chen, Z. (2006). Parameter estimation for the exponential-normal convolution model for background correction of Affymetrix GeneChip data. Stat Appl Genet Mol Biol, 5(1), Article 24.
Ritchie, M. E., Silver, J., Oshlack, A., Silver, J., Holmes, M., Diyagama, D., Holloway, A., and Smyth, G. K. (2007). A comparison of background correction methods for two-colour microarrays. Bioinformatics 23, 2700-2707. http://bioinformatics.oxfordjournals.org/content/23/20/2700
Silver, JD, Ritchie, ME, and Smyth, GK (2009). Microarray background correction: maximum likelihood estimation for the normal-exponential convolution. Biostatistics 10, 352-363. http://biostatistics.oxfordjournals.org/content/10/2/352
normexp.signal
, normexp.fit.control
.
Also bg.parameters in the affy package.
An overview of background correction functions is given in 04.Background
.
x <- c(2,3,1,10,3,20,5,6) out <- normexp.fit(x) normexp.signal(out$par, x=x)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.