查找拟合函数的根和估计误差



我是Python的新手,我想找到线性拟合函数包含错误的根源。

我安装了该功能

import numpy as np
import scipy.optimize as op
def lin_fit(x, a, b):
    return a * x + b
...
popt, pconv = op.curve_fit(lin_fit, U, sqrt_I)
x = np.linspace(np.min(U), np.max(U), 100)
y = lin_fit(x, *popt)

然后我找到了根

def root(x):
    return lin_fit(x, *popt)
return op.fsolve(root, 0)

这没问题,但我现在不知道,如何找到这些根源的错误。

谁能帮忙?

误差包含在 pconv 中,其中对角线包含每个估计系数的方差,在本例中为 ab

根据数学世界,衡量拟合整体质量的相关系数r可以计算为:

sxy = pconv[0,1]*x.shape[0]
sxx = pconv[0,0]
syy = pconv[1,1]
r = (sxy**2/(sxx*syy))**0.5

最新更新