fit.normexp {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

fit.normexp(foreground,background)
fit.normexp0(foreground,background=NULL,background.matrix=NULL,trace=0,beta.start=NULL)

Arguments

foreground numeric vector of foreground intensities
background vector of background intensity values
background.matrix option design matrix for regression on background values
trace integer value passed to optim. If positive then tracing information on the progress of the optimization is given. Higher values give more information.
beta.start optional numeric vector giving starting values for the regression coefficients

Details

These functions use maximum likelihood estimation to fit a model to the foreground and background intensities. The model is a $normal(μ,σ^2)+exponential(α)$ convolution model for the foreground intensities in which $μ$ is a linear function of the background. fit.normexp uses a BFGS modified Newton-Raphson iteration maxmize the likelihood while fit.normexp0 uses the Nelder-Mead simplex algorithm, a derivative free method. fit.normexp assumes that $μ$ is a constant plus the observed background. fit.normexp0 allows $μ$ to depend linearly on any set of covariates.

Value

A list containing the components

beta numeric vector of estimated regression coefficients
sigma numeric scalar giving estimated value of $σ$
alpha numeric scalar giving estimated value of $α$
m2loglik numeric scalar giving minus twice the log-likelihood
convergence integer code indicating successful convergence or otherwise of the optimization. See optim.

Author(s)

Jeremy Silver and Gordon Smyth

See Also

signal.normexp, optim

An overview of normalization and background correction functions is given in 4.Normalization.

Examples

f <- c(2,3,1,10,3,20,5,6)
b <- c(2,2,2,2,2,2,2,2)
out <- fit.normexp(f,b)

[Package limma version 1.9.6 Index]