- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
阅读 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/
我是一名优秀的程序员,十分优秀!