statsmodels.tools.numdiff.approx_hess3

statsmodels.tools.numdiff.approx_hess3(x, f, epsilon=None, args=(), kwargs={})[source]

使用有限差分导数近似计算Hessian

Parameters:
xarray_like

函数导数被评估的值

ffunction

单个数组的函数 f(x, *args, **kwargs)

epsilonfloat or array_like, optional

如果未指定步长,则根据 EPS**(1/4)*x 自动选择步长。

argstuple

函数f的参数。

kwargsdict

函数 f 的关键字参数。

Returns:
hessndarray

部分二阶导数数组,Hessian

注释

Ridout中的公式(9)。计算Hessian为:

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]))

其中 e[j] 是一个向量,元素 j == 1,其余为零,d[i] 是 epsilon[i]。

参考文献

Ridout, M.S. (2009) Statistical applications of the complex-step method

数值微分的。美国统计学家,63, 66-74

这是approx_hess3的别名


Last update: Oct 16, 2024