statsmodels.tools.numdiff.approx_fprime_cs

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

使用复步长导数近似计算梯度或雅可比矩阵

Parameters:
xndarray

求导时的参数

ffunction

f(*((x,)+args), **kwargs) 返回一个值或1维数组

epsilonfloat, optional

步长,如果为 None,则使用最优步长。最优步长为 EPS*x。请参阅注释。

argstuple

函数 f 的额外参数元组。

kwargsdict

函数 f 的额外关键字参数字典。

Returns:
partialsndarray

偏导数数组,梯度或雅可比矩阵

注释

复步导数的截断误差为O(epsilon**2),因此可以通过选择非常小的epsilon来消除截断误差。复步导数避免了小epsilon时的舍入误差问题,因为没有减法操作。


Last update: Oct 16, 2024