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]