Python 估计数据拟合后的标准偏差



我正在尝试使用 ipython --pylab 将数据集放入双政治方程中:y = ax/(b + x)

这是我的python代码:

from scipy import optimize as opti
import numpy as np
from pandas import DataFrame
x = np.array([0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.8])
y = np.array([0.375, 0.466, 0.509, 0.520, 0.525, 0.536, 0.541])
y_stdev = np.array([0.025, 0.016, 0.009, 0.009, 0.025, 0.019])
def func(x, a, b):
   return a*x / (b + x)
popt, pcov = opti.curve_fit(func, x, y)
print(popt)
print("a = ", popt.ix[0])
print("b = ", popt.ix[1])

ab 的值应位于 popt 参数内。我想问的是,将数据集拟合到 func(x, a, b) 中时,可以推断出 a 和 b 的值,那么,我们如何估计 a 和 b 的标准差呢?谢谢。

答案在文档中:

PCOV : 2D 阵列

选择的估计协方差。对角线提供参数估计值的方差。要计算参数上的一个标准偏差误差,请使用perr = np.sqrt(np.diag(pcov)) ...

最新更新