python 中使用 numpy 和 scipy 的最小二乘估计

least square estimation in python using numpy and scipy

scipy 和 numpy 都有最小二乘估计,但阅读文档后我有点困惑。

所以,我的问题是经典回归,我试图在两对值之间找到最佳矩阵变换。所以形式如下:

Ax = b

在这里,我知道x和b。 A 有 9 个唯一分量,x 和 b 是 3D 向量。所以,我至少需要3分。所以,3 个非共线的 x 和 b,我有它们,我可以创建一个 3x3 连接的 x 和 b 向量。

但是,从文档中,我看到它是为求解已知 A 和 b 的系统而设计的。所以我们求解 x。假设 A 是可逆的,这意味着:

x = A(-1)b          (-1) indicating the inverse or pseudo inverse.

在我的例子中,解决方案变成了

A = b x(-1)

我想知道我是否还能以某种方式使用内置的 numpy 机器进行我的设置。

看看这个:

Ax = b
x^TA^T = b^T

其中 A^T 表示 A 的转置。现在定义符号 Ap=x^TXp = A^Tbp=b^T 你的问题变成:

Ap Xp = bp

这正是您可以用最小二乘法处理的形式