statsmodels.tools.numdiff.approx_hess_cs
-
statsmodels.tools.numdiff.approx_hess_cs(x, f, epsilon=None, args=(), kwargs={})
[source] -
Calculate Hessian with complex-step derivative approximation Calculate Hessian with finite difference derivative approximation
Parameters: x : array_like
value at which function derivative is evaluated
f : function
function of one array f(x,
*args
,**kwargs
)epsilon : float or array-like, optional
Stepsize used, if None, then stepsize is automatically chosen according to EPS**(1/3)*x.
args : tuple
Arguments for function
f
.kwargs : dict
Keyword arguments for function
f
.Returns: hess : ndarray
array of partial second derivatives, Hessian
Notes
Equation (10) in Ridout. Computes the Hessian as:
1/(2*d_j*d_k) * imag(f(x + i*d[j]*e[j] + d[k]*e[k]) - f(x + i*d[j]*e[j] - d[k]*e[k]))
where e[j] is a vector with element j == 1 and the rest are zero and d[i] is epsilon[i].
References
- Ridout, M.S. (2009) Statistical applications of the complex-step method
- of numerical differentiation. The American Statistician, 63, 66-74
Please login to continue.