gpt4 book ai didi

python - 在计算最小二乘法时,为什么要添加 1 的向量?

转载 作者:行者123 更新时间:2023-12-01 01:36:37 24 4
gpt4 key购买 nike

阅读 scipy 最小二乘文档 https://docs.scipy.org/doc/numpy/reference/generated/numpy.linalg.lstsq.html状态:

We can rewrite the line equation as y = Ap, where A = [[x 1]] and p = [[m], [c]]. Now use lstsq to solve for p:

A = np.vstack([x, np.ones(len(x))]).T

A array([[ 0., 1.], [ 1., 1.], [ 2., 1.], [ 3., 1.]])

为什么将行重写为 y = Ap 并将向量添加到新变量 A 中。最小二乘仅根据 x 、 y 值估计,那么为什么要添加 1 向量呢?

最佳答案

假设您有 5 个 x 值和相应的 5 个 y 值,您希望通过线性回归来拟合它们。你可以写y1=m*x1 + c , y2=m*x2 + c , ... y5=m*x5 + c哪里m是线性拟合的斜率,c是 y 轴截距( x=0 的 y 值)。表示这是一个矩阵形式,因为你有 5 个 x 值,你的 A矩阵将有 5 行,每行有两个条目:x 值和常数 1来自上述 5 个方程组。因此在 A = np.vstack([x, np.ones(len(x))]).T ,您可以使用 np.ones(len(x)) 添加与 x 值一样多的值。引入一个由 1 组成的向量只是一组方程的常见矩阵表示的结果。

为了获得更多直觉,只需编写我在下面提到的 5 个方程,然后将它们重新编写为矩阵形式,您就会明白为什么需要 A 中的一个向量。 。

关于python - 在计算最小二乘法时,为什么要添加 1 的向量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52345144/

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