python - 使用 numpy 和 scipy 在 python 中进行最小二乘估计

标签 python numpy scipy linear-algebra least-squares

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

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

关于python - 使用 numpy 和 scipy 在 python 中进行最小二乘估计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27921902/

相关文章:

python - 使用加密的选项文件将 Python 连接到 MySQL

python - 在进程之间共享一个复杂的对象?

numpy - 在 numpy/pytorch 中使用 bool 数组或索引数组进行索引更快吗?

python - 计算 numpy 数组之间的距离

python - 如何使用 matplotlib 插值并创建更好的等高线图?

python - 如何在给定素数但指数未知的情况下生成数字?

python socket.recv 挂起,但是我在 tcpdump 中看到了框架

python - 如何从 numpy 中的两个向量获得所有对的笛卡尔积?

python - 生成 np.einsum 评估图

python - 二维 numpy 数组的重采样