LeastSquares
LeastSquares[m,b]
求矩阵方程式 m.x==b 的可解决线性最小二乘问题的 x.
LeastSquares[a,b]
求解数组方程 a.x==b 的线性最小二乘问题的 x.
更多信息和选项
- LeastSquares[m,b] 给出一个向量 x,它最小化 Norm[m.x-b].
- 只有当 Length[x]==MatrixRank[m] 时,向量 x 被最小化唯一确定.
- 自变量 b 可以为一个矩阵,在这种情况下,最小二乘最小化取决于 b 中的每列,它是最小化 Norm[m.x-b,"Frobenius"] 的 x.
- LeastSquares 可以处理 SparseArray 对象,以及数值矩阵和符号矩阵.
- 对于一个 n1×…×nk×m 的数组 a 和一个 n1×…×nk×d1×…×dl 的数组 b,LeastSquares[a,b] 给出 m×d1×…×dl 数组 x,这最小化了 Norm[Flatten[a.x-b]].
- 可用选项 Methodmethod 指定 LeastSquares 使用的方法. method 的可能设置包括:
-
Automatic 自动选择方法 "Direct" 对于稠密或稀疏矩阵使用直接求解的方法 "IterativeRefinement" 使用迭代细化来获取稠密矩阵的更好的解 "LSQR" 对稠密或稀疏机器数字矩阵使用 LSQR 迭代法 "Krylov" 对稀疏机器数字矩阵使用迭代法
范例
打开所有单元关闭所有单元基本范例 (2)
范围 (12)
基本用法 (7)
特殊矩阵 (4)
LeastSquares[IdentityMatrix[n],b] 给出向量 :
HilbertMatrix 的最小二乘:
选项 (1)
Tolerance (1)
m 是一个 20×20 Hilbert 矩阵,b 是一个向量,所以求出 m.x==b 的解:
设置 Tolerance->0,数值舍入可以产生额外的错误:
应用 (9)
最小二乘的几何意义 (4)
LeastSquares[m,b] 可被理解为求 的解,其中 是 在 的列空间上的正交投影. 考虑下面的 和 :
这与 LeastSquares 给出的结果是一致的:
比较并解释 LeastSquares[m,b] 和 LinearSolve[m,b⟂] 对下面的 和 返回的答案:
给出 LeastSquares 返回的解:
尽管 x 和 xPerp 不一样,但它们都解决了最小二乘问题,因为 m.x==m.xPerp:
这两个解的不同之处在于 NullSpace[m] 的一个元素:
对于具有线性独立列的矩阵使用矩阵投影算子来求以下 和 的 LeastSquares[m,b]:
用 LeastSquares 确认结果:
对于下面的 和 ,将 LeastSquares[m,b] 与 LinearSolve 和 的正规方程求得的解相比较:
用 LeastSquares 求解:
用 LinearSolve 和正规方程 求解:
尽管 x 和 xNormal 不一样,但它们都解决了最小二乘问题,因为 m.x==m.xNormal:
这两个解的不同之处在于 NullSpace[m] 的一个元素:
曲线和参数拟合 (5)
可用 LeastSquares 求数据的最佳拟合曲线. 考虑以下数据:
用 Fit 验证系数:
用 Fit 验证系数:
健康儿童的收缩压 (以毫米汞柱为单位)和体重 (以磅为单位)之间的关系近似为 . 利用以下实验数据点 估计一个体重为 100 磅的健康儿童的收缩压:
用 DesignMatrix 构建列为 和 的矩阵:
根据开普勒第一定律,彗星的轨道满足 ,其中 是常数, 是离心率. 离心率决定了轨道的类型, 时为椭圆, 时是抛物线, 时为双曲线. 使用以下观测数据来确定彗星的轨道类型,并预测 时彗星与太阳的距离:
为了求出 和 ,先使用 DesignMatrix 创建列为 和 的矩阵:
用 LeastSquares 求出最小化设计矩阵中 的误差的 和 :
定义以 t 为中心的三次基函数,适用于区间 [t-2,t+2]:
属性和关系 (12)
如果 m.x==b 可以求解,LeastSquares 等价于 LinearSolve:
如果 x=LeastSquares[m,b] 且 n 位于 NullSpace[m] 中,则 x+n 也是最小二乘解:
LeastSquares[m,b] 可求解 ,其中 是到 的列空间上的正交投影:
如果 是实数,x=LeastSquares[m,b] 遵守正规方程 :
如果 x==LeastSquares[m,b],则 m.x-b 位于 NullSpace[ConjugateTranspose[m]] 内:
LeastSquares 和 PseudoInverse 都可以用来求解最小二乘问题:
LeastSquares 和 QRDecomposition 都可以用来求解最小二乘问题:
对于向量 b,LeastSquares[m,b] 等价于 ArgMin[Norm[m.x-b],x]:
它也等价于 ArgMin[Norm[m.x-b,"Frobenius"],x]:
对于矩阵 b,LeastSquares 等价于 ArgMin[Norm[m.x-b,"Frobenius"],x]:
如果 b 是一个矩阵,LeastSquares[m,b] 中的每一列是 b 中相应列的结果:
m 是一个 5×2 矩阵,而 b 是一个长度为 5 的向量:
LeastSquares 给出了有正规误差线性模型的参数估计:
LinearModelFit 拟合模型,并给出额外的拟合信息:
文本
Wolfram Research (2007),LeastSquares,Wolfram 语言函数,https://reference.wolfram.com/language/ref/LeastSquares.html (更新于 2024 年).
CMS
Wolfram 语言. 2007. "LeastSquares." Wolfram 语言与系统参考资料中心. Wolfram Research. 最新版本 2024. https://reference.wolfram.com/language/ref/LeastSquares.html.
APA
Wolfram 语言. (2007). LeastSquares. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/LeastSquares.html 年