我是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)
这没问题,但我现在不知道如何找到这些根源的错误。
有人可以帮忙吗?
答案 0 :(得分:0)
错误包含在pconv
中,其中对角线包含每个估计系数的方差,在本例中为a
和b
。
根据MathWorld衡量拟合整体质量的相关系数r
可以计算为:
sxy = pconv[0,1]*x.shape[0]
sxx = pconv[0,0]
syy = pconv[1,1]
r = (sxy**2/(sxx*syy))**0.5