gpt4 book ai didi

python - numpy polyfit 中使用的权重值是多少,拟合误差是多少

转载 作者:太空狗 更新时间:2023-10-29 21:53:10 27 4
gpt4 key购买 nike

我正在尝试对 numpy 中的一些数据进行线性拟合。

Ex(其中 w 是该值的样本数,即点 (x=0, y=0) 我只有 1 个测量值,该测量值是2.2,但对于 (1,1) 点,我有 2 个测量值为 3.5

x = np.array([0, 1, 2, 3])
y = np.array([2.2, 3.5, 4.6, 5.2])
w = np.array([1, 2, 2, 1])

z = np.polyfit(x, y, 1, w = w)

那么,现在的问题是:在这些情况下,在 polyfit 中使用 w=w 是否正确,或者我应该使用 w = sqrt(w) 我应该使用什么?

另外,如何从 polyfit 中获取拟合误差?

最佳答案

如果您有正态分布的测量值,那么每个值的不确定性将与 1/sqrt(n) 成正比,其中 n 是测量值的数量。您想通过不确定性的倒数来权衡您的拟合度,因此您的第二个猜测是最好的:w=np.sqrt(n)

要获得参数的协方差,还要给出 cov=True

x = np.array([0, 1, 2, 3])
y = np.array([2.2, 3.5, 4.6, 5.2])
n = np.array([1, 2, 2, 1])

p, c = np.polyfit(x, y, 1, w=np.sqrt(n), cov=True)

cov 矩阵的对角线是每个参数的个体方差,当然非对角线是协方差。所以很可能你想要的“拟合误差”是这些对角线的平方根:

e = np.sqrt(np.diag(c))

关于python - numpy polyfit 中使用的权重值是多少,拟合误差是多少,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19667877/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com