所以,我定义了一个高斯分布,后来我将其拟合到数据点。我这样定义了:
def Gauss(x, a, x0, sigma):
return a * np.exp(-(x - x0)**2 / (2 * sigma**2))
popt, pcov = curve_fit(Gauss, x, y, p0=[max(y), mean, sigma])
当我要求打印我的popt时,我会得到(预期的)矩阵,该矩阵首先使我获得最大的y值,然后是均值,最后是高斯的sigma。现在,我想知道这些值的错误,因此我想知道我高斯拟合的错误。我以为我可以从PCOV(协方差矩阵)中检索错误,但是当被要求打印PCOV时,我会得到一个3x3矩阵。那么,如何从此矩阵中找到我的拟合中的错误?
来自https://docs.scipy.org/doc/scipy/referend/generated/generated/scipy.optimize.curve_fit.html:
来自线性代数,我们知道参数的误差是协方差矩阵诊断条目的平方根。因此,对于第二个参数,您将转到矩阵位置1,然后取平方根。那是该参数的错误。