python - 如何使用 numpy.polyfit 查找斜率和截距误差

标签 python numpy

我正在使用 numpy.polyfit 将直线拟合到一些数据。数据本身不带有任何误差线。这是我的代码的简化版本:

from numpy import polyfit

data = loadtxt("data.txt")
x,y = data[:,0],data[:,1]
fit = polyfit(x,y,1)

当然,这给了我斜率和截距的值,但如何找到最佳拟合值的不确定性?

最佳答案

我回答这个问题有点晚了,但我认为这个问题仍然没有答案,并且对我来说是 Google 上 HitTest 门的问题。因此,我认为以下才是正确的方法

x = np.linspace(0, 1, 100)
y = 10 * x + 2 + np.random.normal(0, 1, 100)

p, V = np.polyfit(x, y, 1, cov=True)

print("x_1: {} +/- {}".format(p[0], np.sqrt(V[0][0])))
print("x_2: {} +/- {}".format(p[1], np.sqrt(V[1][1])))

输出

x_1: 10.2069326441 +/- 0.368862837662
x_2: 1.82929420943 +/- 0.213500166807

因此,您需要返回协方差矩阵 V,其中对角线的平方根是每个拟合系数的估计标准差。这当然可以推广到更高的维度。

关于python - 如何使用 numpy.polyfit 查找斜率和截距误差,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27634270/

相关文章:

python 类型提示 - 可以使用 tensorflow 数据类型吗?

python - 如何登录 python 和 bottle web 服务器的文件?

python - 查找 numpy 数组的所有 n 组(对、三元组、四元组等)

python - 如何使用 pylab 查看 RGB 图像

python - Matplotlib 绘制 numpy.matrix 类型的奇怪行为

python - 比较 2 个字典中的键和值

python - 查找字符串中所有 HTML 和非 HTML 编码的 URL

python - 使用Python从docx解析表

python - 如何 cv2.imshow 存储在 Numpy 数组中的图像?

python - Numpy savetxt 不能正确处理 18 ditgits long int