1

我对 MATLAB 或计算数学不太熟悉,所以我想知道如何解决一个涉及平方和的方程,其中每个项都涉及两个向量——一个已知的,一个未知的。这个公式应该代表错误,我需要最小化错误。我想我应该使用最小二乘,但我不太了解它,我想知道什么函数最适合这样做,什么参数可以代表我的方程。我的老师还提到了一些关于取导数的事情,他用导数形成了一个矩阵,这让我更加困惑——我需要取导数吗?

4

1 回答 1

2

您必须尝试解决的问题是

Min u'u = min \sum_i u_i^2, u=y-Xbeta,其中 u 是误差,y 是您要解释的因变量向量,X 是自变量矩阵,beta 是您要解释的向量想估计。

由于 sum u_i^2 是可微分的(并且是凸的),因此您可以评估此​​表达式的最小值,计算其导数并使其等于零。

如果你这样做,你会发现 beta=inv(X'X)X'y。这可以使用 matlab 函数 regress http://www.mathworks.com/help/stats/regress.html或在 Matlab 中编写此公式来计算。但是,您应该小心如何评估逆 (X'X) 请参阅MATLAB 中最有效的矩阵求逆

于 2013-03-06T04:10:53.233 回答