normexp.fit {limma} | R Documentation

## Fit Normal+Exp Convolution Model to Observed Intensities

### Description

Fit normal+exponential convolution model to observed intensities. The normal part represents the background and the exponential represents the signal intensities. This function is called by `backgroundCorrect` and is not normally called directly by the user.

### Usage

    normexp.fit(x, method="saddle", n.pts=NULL, trace=FALSE)

### Arguments

`x` | numeric vector of (background corrected) intensities
`method` | method used to estimate the three parameters, choices are `"saddle"`, `"neldermean"`, `"bfgs"`, `"rma"` and `"mcgee"`.
`n.pts` | number of quantiles of `x` to use for the fit. If `NA` then all values of `x` will be used.
`trace` | logical, if `TRUE`, tracing information on the progress of the optimization is given.

### Details

This function uses maximum likelihood estimation to fit a model to the background-corrected intensities. The model is a $normal(μ,σ^2)+exponential(α)$ convolution model for the background corrected intensities.

This is essentially the same model which is used by `bg.correct.rma` in the affy package. The difference is that the parameters are estimated by maximum likelihood and that the estimated background is subtracted before applying the model-based background.

For speed and numerical stability, the likelihood function is approximated by default using a saddle-point approximation. Other choices are `"neldermean"` or `"bfgs"` which attempt to maximize the exact log-likelihood, which may be numerically unstable. `"rma"` uses the kernel estimation method from the RMA algorithm of affy package. `"mcgee"` uses the RMA-75 method from McGee and Chen (2006).

If the number of rows of `x` is large, computation time can be saved by setting `n.pts` to a value less than the total number of probes, for example `n.pts=2^14`.

### Value

A list containing the components

`par` | numeric vector giving estimated values of $μ$, $log(σ)$ and $logα$
`m2loglik` | numeric scalar giving minus twice the log-likelihood
`convergence` | integer code indicating successful convergence or otherwise of the optimization. See `optim`.

### Author(s)

Gordon Smyth and Jeremy Silver

### References

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 http://bioinformatics.oxfordjournals.org/cgi/content/abstract/btm412

### See Also

`normexp.signal`

An overview of background correction functions is given in `04.Background`.

### Examples

    f <- c(2,3,1,10,3,20,5,6)
    b <- c(2,2,2,2,2,2,2,2)
    out <- normexp.fit(f-b)
    normexp.signal(out$par, x=f-b)

[Package limma version 2.12.0 Index]