最小二乘法拟合直线 python 代码

2024-05-15

我有一个由 X 和 Y 坐标组成的散点图。我想使用直线的最小二乘拟合来获得最佳拟合线。

直线最小二乘拟合是指:如果(x_1,y_1),....(x_n,y_n)是测量数据对,则最佳直线是y = A + Bx。

这是我的Python代码:

 # number of points is 50
 A = (sum(x**2)*sum(y) - sum(x)*sum(x*y)) / (50*sum(x**2) - (sum(x))**2)
 B = (50*sum(x*y) - sum(x)*sum(y)) / (50*sum(x**2) - (sum(x))**2)
 print (A,B)

这看起来正确吗?我在打印 A 和 B 时遇到问题。谢谢!


如果你只想要一条线,最简单的是scipy.stats.linregress:

from scipy import stats
slope, intercept, r_value, p_value, std_err = stats.linregress(x,y)

链接到文档 https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.linregress.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

最小二乘法拟合直线 python 代码 的相关文章

随机推荐