tsHessian function

Calculate Two-Sided Hessian Approximation

Calculate Two-Sided Hessian Approximation

Calculates an approximation to the Hessian of a function. Used for obtaining an approximation to the information matrix for maximum likelihood estimation.

tsHessian(param, fun, ...)

Arguments

  • param: Numeric. The Hessian is to be evaluated at this point.
  • fun: A function of the parameters specified by param, and possibly other parameters.
  • ...: Values of other parameters of the function fun if required.

Details

As a typical statistical application, the function fun is the log-likelihood function, param specifies the maximum likelihood estimates of the parameters of the distribution, and the data constitutes the other parameter values required for determination of the log-likelihood function.

Returns

The approximate Hessian matrix of the function fun where differentiation is with respect to the vector of parameters param at the point given by the vector param.

Author(s)

David Scott d.scott@auckland.ac.nz , Christine Yang Dong c.dong@auckland.ac.nz

See Also

hyperbHessian and summary.hyperbFit in GeneralizedHyperbolic.

Note

This code was borrowed from the fBasics function, in the file utils-hessian.R with slight modification. This was in turn borrowed from Kevin Sheppard's Matlab garch toolbox as implemented by Alexios Ghalanos in his rgarch package.

Examples

### Consider Hessian of log(1 + x + 2y) ### Example from Lang: A Second Course in Calculus, p.74 fun <- function(param){ x <- param[1] y <- param[2] return(log(1 + x + 2*y)) } ### True value of Hessian at (0,0) trueHessian <- matrix( c(-1,-2, -2,-4), byrow = 2, nrow = 2) trueHessian ### Value from tsHessian approxHessian <- tsHessian(c(0,0), fun = fun) approxHessian maxDiff <- max(abs(trueHessian - approxHessian)) ### Should be approximately 0.045 maxDiff
  • Maintainer: David Scott
  • License: GPL (>= 2)
  • Last published: 2025-03-29

Useful links