logLik-methods {vsn}R Documentation

Calculate the log likelihood and its gradient for the vsn model

Description

logLik calculates the log likelihood and its gradient for the vsn model. plotVsnLogLik makes a false color plot for a 2D section of the likelihood landscape.

Usage

## S4 method for signature 'vsnInput':
logLik(object, p, refh=numeric(0), refsigma=as.numeric(NA))

plotVsnLogLik(object, p, whichp=1:2, expand=1, ngrid=31, fun=logLik, ...)

Arguments

object A vsnInput object.
p A matrix whose columns are the set of parameters at which the likelihoods are to be evaluated.
refh Numeric vector of length 0 or nrow(object). If the length is 0, there is no reference and and refsigma must be missing. See vsn2.
refsigma Numeric scalar.
whichp Numeric vector of length 2, with the indices of those two parameters in p along which the section is to be taken.
expand Numeric vector of length 1 or 2 with expansion factors for the plot range. The range is auto-calculated using a heuristic, but that heuristic is not very good in particular for the offset (a) parameters; see example.
ngrid Grid size.
fun Function to use for log-likelihood calculation. This parameter is exposed only for testing purposes.
... Arguments that get passed on to fun, use this for refh and refsigma.

Details

logLik is an R interface to the likelihood computations in vsn (which are done in C).

Value

For logLik, a numeric matrix of size nrow(p)+1 by ncol(p). Its columns correspond to the columns of p. Its first row are the likelihood values, its rows 2...nrow(p)+1 contain the gradients. If refh and refsigma are specified, the ordinary negative log likelihood is calculated using these parameters as given. If they are not specified, the profile negative log likelihood is calculated.
For plotVsnLogLik, a dataframe with the 2D grid coordinates and log likelihood values.

Author(s)

Wolfgang Huber http://www.ebi.ac.uk/huber

See Also

vsn2

Examples


data("kidney")

v = new("vsnInput", x=exprs(kidney),
  pstart=array(as.numeric(NA), dim=c(1, ncol(kidney), 2)))
 
fit = vsn2(kidney)

p = sapply(exp(seq(-1, 1, length=31)), function(f) fit@par*c(1,1,f,1))

ll = logLik(v, p)

plot(p[3, ], ll[1, ], type="l", xlab=expression(b[1]), ylab=expression(-log(L)), log="x")
abline(v=fit@par[3], col="red")

plotVsnLogLik(v, fit@par, whichp=c(1,3), expand=c(0.01, 1))

[Package vsn version 2.2.0 Index]