为什么我们要在numpy的lstsq函数中打上一?

问题描述 投票:0回答:1

我想了解 lstsq 函数与numpy一起寻找给定值的斜率和截距。xy. 通过上面链接的文档中的一个例子,用给定的 xy 价值。

x = np.array([0, 1, 2, 3])
y = np.array([-1, 0.2, 0.9, 2.1])

我不明白步骤在哪里。

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

m, c = np.linalg.lstsq(A, y, rcond=None)[0]

这里做了什么?谁能给我解释一下文档例子中使用的步骤?np.ones 功能?什么是 np.ones 在这里做什么?

python numpy least-squares
1个回答
0
投票

"一 "反映的是截距。最小平方解的一般形式是 y=X beta 哪儿 beta 是系数:截距和斜率。

作为单个方程,它是

y_1 = beta_0 + beta_1 * x_1
y_2 = beta_0 + beta_1 * x_2
y_3 = beta_0 + beta_1 * x_3
.
.
.

如果你把它写成一个矩阵形式,那么 设计 矩阵 Xy=X beta)包括一列的1。

欲了解更多信息,请看维基百科上的简单回归例子。https:/en.wikipedia.orgwikiDesign_matrix。

© www.soinside.com 2019 - 2024. All rights reserved.