statsmodels.tools.numdiff.approx_hess1¶
-
statsmodels.tools.numdiff.approx_hess1(x, f, epsilon=
None, args=(), kwargs={}, return_grad=False)[source]¶ 使用有限差分导数近似计算Hessian
- Parameters:¶
- xarray_like
函数导数被评估的值
- f
function 单个数组的函数 f(x, *args, **kwargs)
- epsilon
floator array_like,optional 如果未指定步长,则根据 EPS**(1/3)*x 自动选择步长。
- args
tuple 函数f的参数。
- kwargs
dict 函数 f 的关键字参数。
- return_gradbool
是否也返回梯度
- Returns:¶
- hess
ndarray 部分二阶导数数组,Hessian
- grad
nparray 如果 return_grad == True,则返回梯度
- hess
注释
Ridout 中的公式 (7)。计算 Hessian 矩阵为:
1/(d_j*d_k) * ((f(x + d[j]*e[j] + d[k]*e[k]) - f(x + d[j]*e[j])))其中 e[j] 是一个向量,元素 j == 1,其余为零,d[i] 是 epsilon[i]。
参考文献
- Ridout, M.S. (2009) Statistical applications of the complex-step method
数值微分的。美国统计学家,63, 66-74
Last update:
Oct 16, 2024