logLik-methods {vsn} | R Documentation |
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.
## S4 method for signature 'vsnInput': logLik(object, p, mu=numeric(0), sigsq=as.numeric(NA)) plotVsnLogLik(object, p, whichp=1:2, expand=1, ngrid=31L, fun=logLik, ...)
object |
A vsnInput object. |
p |
For plotVsnLogLik , a vector or a 3D array with the
point in parameter space around which to plot the likelihood.
For logLik , a matrix whose columns are the set of parameters at which
the likelihoods are to be evaluated. |
mu |
Numeric vector of length 0 or nrow(object) .
If the length is 0, there is no reference and sigsq must be
NA (the default value). See vsn2 . |
sigsq |
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 manual adjustment can be useful; see example. |
ngrid |
Integer scalar, the 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
mu and sigsq . |
logLik
is an R interface to the likelihood computations in vsn (which are done in C).
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 mu
and sigsq
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.
Wolfgang Huber http://www.ebi.ac.uk/huber
data("kidney") v = new("vsnInput", x=exprs(kidney), pstart=array(as.numeric(NA), dim=c(1, ncol(kidney), 2))) fit = vsn2(kidney) print(coef(fit)) p = sapply(seq(-1, 1, length=31), function(f) coef(fit)+c(0,0,f,0)) ll = logLik(v, p) plot(p[3, ], ll[1, ], type="l", xlab=expression(b[1]), ylab=expression(-log(L))) abline(v=coef(fit)[3], col="red") plotVsnLogLik(v, coef(fit), whichp=c(1,3), expand=0.2)