statsmodels.tools.numdiff.approx_hess3¶
-
statsmodels.tools.numdiff.
approx_hess3
(x, f, epsilon=None, args=(), kwargs={})[source]¶ 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/4)*x.
- args (tuple) – Arguments for function f.
- kwargs (dict) – Keyword arguments for function f.
Returns: hess – array of partial second derivatives, Hessian
Return type: ndarray
Notes
Equation (9) in Ridout. Computes the Hessian as:
1/(4*d_j*d_k) * ((f(x + d[j]*e[j] + d[k]*e[k]) - f(x + d[j]*e[j] - d[k]*e[k])) - (f(x - d[j]*e[j] + d[k]*e[k]) - f(x - 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
This is an alias for approx_hess3