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, ...)
param |
Numeric. The Hessian is to be evaluated at this point. |
fun |
A function of the parameters specified by |
... |
Values of other parameters of the function |
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.
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
.
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.
David Scott d.scott@auckland.ac.nz, Christine Yang Dong c.dong@auckland.ac.nz
hyperbHessian
and summary.hyperbFit
in
GeneralizedHyperbolic.
### 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
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.