R: Calculate likelihood "slices"

slice {bbmle} | R Documentation

## Calculate likelihood "slices"

### Description

Computes cross-section(s) of a multi-dimensional likelihood surface

### Usage

    slice(x, dim=1, ...)
    sliceOld(fitted, which = 1:p, maxsteps = 100,
                           alpha = 0.01, zmax = sqrt(qchisq(1 - alpha/2, p)),
                           del = zmax/5, trace = FALSE,
                           tol.newmin=0.001, ...)
    slice1D(params,fun,nt=101,lower=-Inf,
                        upper=Inf,verbose=TRUE, tranges=NULL,...)
    slice2D(params,fun,nt=31,lower=-Inf,
                        upper=Inf,
                        cutoff=10,verbose=TRUE,
                        tranges=NULL, ...)
    slicetrans(params, params2, fun, extend=0.1, nt=401,
                           lower=-Inf, upper=Inf)

### Arguments

`x` | a fitted model object of some sort
`dim` | dimensionality of slices (1 or 2)
`params` | a named vector of baseline parameter values
`params2` | a vector of parameter values
`fun` | an objective function
`nt` | (integer) number of slice-steps to take
`lower` | lower bound(s) (stub?)
`upper` | upper bound(s) (stub?)
`cutoff` | maximum increase in objective function to allow when computing ranges
`extend` | (numeric) fraction by which to extend range beyond specified points
`verbose` | print verbose output?
`fitted` | A fitted maximum likelihood model of class “mle2”
`which` | a numeric or character vector describing which parameters to profile (default is to profile all parameters)
`maxsteps` | maximum number of steps to take looking for an upper value of the negative log-likelihood
`alpha` | maximum (two-sided) likelihood ratio test confidence level to find
`zmax` | maximum value of signed square root of deviance difference to find (default value corresponds to a 2-tailed chi-squared test at level alpha)
`del` | step size for profiling
`trace` | (logical) produce tracing output?
`tol.newmin` | tolerance for diagnosing a new minimum below the minimum deviance estimated in initial fit is found
`tranges` | a two-column matrix giving lower and upper bounds for each parameter
`...` | additional arguments (not used)

### Details

Slices provide a lighter-weight way to explore likelihood surfaces than profiles, since they vary a single parameter rather than optimizing over all but one or two parameters.

slice

  is a generic method

slice1D

  creates one-dimensional slices, by default of all parameters of a model

slice2D

  creates two-dimensional slices, by default of all pairs of parameters in a model

slicetrans

  creates a slice along a transect between two specified points in parameter space (see `calcslice` in the `emdbook` package)

### Value

An object of class `slice` with

slices

  a list of individual parameter (or parameter-pair) slices, each of which is a data frame with elements

  var1

    name of the first variable

  var2

    (for 2D slices) name of the second variable

  x

    parameter values

  y

    (for 2D slices) parameter values

  z

    slice values

  ranges

    a list (?) of the ranges for each parameter

  params

    vector of baseline parameter values

  dim

    1 or 2

`sliceOld` returns instead a list with elements `profile` and `summary` (see `profile.mle2`)

### Author(s)

Ben Bolker

### See Also

`profile`

### Examples

    x <- 0:10
    y <- c(26, 17, 13, 12, 20, 5, 9, 8, 5, 4, 8)
    d <- data.frame(x,y)
    fit1 <- mle2(y~dpois(lambda=exp(lymax)/(1+x/exp(lhalf))),
       start=list(lymax=0,lhalf=0),
       data=d)
    s1 <- slice(fit1,verbose=FALSE)
    s2 <- slice(fit1,dim=2,verbose=FALSE)
    require(lattice)
    plot(s1)
    plot(s2)
    ## 'transect' slice, from best-fit values to another point
    st <- slice(fit1,params2=c(5,0.5))
    plot(st)

[Package bbmle version 1.0.19 Index]