numdifftools
官方文档: numdifftools
Hession Matrix 中 step 对于结果影响很大。
有时会返回负数,直接 abs 处理是有问题的,
def cal_std(p, args, step=1e-5):
h = ndt.Hessian(simpleGM, step=step, method='central')(p, args)
T = args[1].shape[0]
inv = np.linalg.pinv(h / T)
se_p = np.sqrt(np.diag(abs(inv + 1e-6) / T))
return se_p