gpt4 book ai didi

matlab - mldivide 是否总是与 MATLAB 中的 OLS 相同?

转载 作者:太空宇宙 更新时间:2023-11-03 20:25:37 27 4
gpt4 key购买 nike

我正在比较一些替代线性回归技术。

显然,这些将相对于 OLS(普通最小二乘法)进行基准测试。

但我只想要一个纯 OLS 方法,不需要像您在使用 regress() 时发现的那样对数据进行预处理以发现数据中的不良条件。

我曾希望简单地使用经典的 (XX)^-1XY 表达式?但是,这需要使用 inv() 函数,但在 inv() 的 MATLAB 指南页面中,建议您在执行操作时使用 mldivide最小二乘估计,因为它在执行时间和数值精度方面具有优势。

但是,我担心是否可以使用 mldivide 来查找 OLS 估计值?作为一名运算符(operator),我似乎无法通过在调试器中“介入”来了解函数在做什么。

我可以假设 mldivide 在所有条件下(包括在存在奇异/i-ll 条件矩阵的情况下)都会产生与理论 OLS 相同的答案吗?

如果不是,在不对数据进行任何预处理的情况下,在 MATLAB 中计算纯 OLS 答案的最佳方法是什么?

最佳答案

The short answer是:

When the system A*x = b is overdetermined, both algorithms provide the same answer. When the system is underdetermined, PINV will return the solution x, that has the minimum norm (min NORM(x)). MLDIVIDE will pick the solution with least number of non-zero elements.

至于mldivide 是如何工作的,MathWorks also posted a description of how the function operates .

但是,您可能还想看看 this answer关于 mldivide 与矩阵 A 为正方形时的其他方法的讨论的第一部分。

根据矩阵的形状和组成,您可以对对称正定矩阵使用 Cholesky 分解,对其他方矩阵使用 LU 分解,否则使用 QR 分解。然后您可以保留因式分解并使用 linsolve 基本上只是为您做回代。

关于当 A 不是正方形(过度指定)或者是正方形但单数时,mldivide 是否优于 pinvthe two options will give you two of the infinitely many solutions .根据这些文档,这两种解决方案都会为您提供确切的解决方案:

Both of these are exact solutions in the sense that norm(A*x-b) and norm(A*y-b)are on the order of roundoff error.

关于matlab - mldivide 是否总是与 MATLAB 中的 OLS 相同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19710723/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com