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^T
和 Xp = A^T
和 bp=b^T
你的问题变成:
Ap Xp = bp
这正是您可以用最小二乘法处理的形式
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^T
和 Xp = A^T
和 bp=b^T
你的问题变成:
Ap Xp = bp
这正是您可以用最小二乘法处理的形式