我想了解 lstsq 函数与numpy一起寻找给定值的斜率和截距。x
和 y
. 通过上面链接的文档中的一个例子,用给定的 x
和 y
价值。
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
在这里做什么?
"一 "反映的是截距。最小平方解的一般形式是 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
.
.
.
如果你把它写成一个矩阵形式,那么 设计 矩阵 X
同 y=X beta
)包括一列的1。
欲了解更多信息,请看维基百科上的简单回归例子。https:/en.wikipedia.orgwikiDesign_matrix。