1

我对 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)

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

任何人都可以帮忙吗?

4

1 回答 1

0

误差包含在 中pconv,其中对角线包含每个估计系数的方差,在这种情况下为ab

MathWorld中,衡量拟合整体质量的相关系数r可以计算为:

sxy = pconv[0,1]*x.shape[0]
sxx = pconv[0,0]
syy = pconv[1,1]
r = (sxy**2/(sxx*syy))**0.5
于 2013-11-02T10:17:53.483 回答