关于最小二乘法的两个问题:
有一物理量(Y)与三个影响因素(x1,x2,x3,)理论上呈线性关系,表示为:
Y=Ax1+Bx2+Cx3+D
有m (m>>4)组实验数据(Ym,x1m,x2m,x3m ),欲利用最小二乘法确定方程中的系数(常数)A,B,C,D
这本是一个常规的最小二乘法问题,现在问题有两个:
1. 有没有通解? Y=Ax+B的通解可以查到。
2. 有人把上述问题用矩阵表示
若Sm=(x1m, x2m, x3m, 1)T 表示4 x 1的矩阵, T表示转置
那么,已有的m 组实验数据 可以表示为
(Y1,Y2,…Ym) = (A, B C,D)( S1 S2 。。。Sm)
那么,欲求的(A B C D)=(Y1,Y2,…Ym)(S1 S2 。。。Sm)+ 这里+表示伪逆矩阵。
这个是通解吗?用这种算法matlab编程试过,感觉结果有问题。
关于最小二乘法matlab求解的两个问题:
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
3条回答 默认 最新
关注关于您提出的两个问题,我们可以一一解答:
- 通解是否存在?
对于多元线性回归问题,即
[ Y = Ax_1 + Bx_2 + Cx_3 + D ]
使用最小二乘法求解系数 (A, B, C, D) 是有通解的。通解可以通过正规方程(Normal Equation)或者矩阵形式来表示。
如果您有 (m) 组实验数据 ((y_m, x_{1m}, x_{2m}, x_{3m})),那么正规方程可以写成:
[ \begin{cases}
\sum_{i=1}^{m} x_{1i}y_i = A\sum_{i=1}^{m} x_{1i}^2 + B\sum_{i=1}^{m} x_{1i}x_{2i} + C\sum_{i=1}^{m} x_{1i}x_{3i} + D\sum_{i=1}^{m} x_{1i} \
\sum_{i=1}^{m} x_{2i}y_i = A\sum_{i=1}^{m} x_{1i}x_{2i} + B\sum_{i=1}^{m} x_{2i}^2 + C\sum_{i=1}^{m} x_{2i}x_{3i} + D\sum_{i=1}^{m} x_{2i} \
\sum_{i=1}^{m} x_{3i}y_i = A\sum_{i=1}^{m} x_{1i}x_{3i} + B\sum_{i=1}^{m} x_{2i}x_{3i} + C\sum_{i=1}^{m} x_{3i}^2 + D\sum_{i=1}^{m} x_{3i} \
\sum_{i=1}^{m} y_i = A\sum_{i=1}^{m} x_{1i} + B\sum_{i=1}^{m} x_{2i} + C\sum_{i=1}^{m} x_{3i} + Dm
\end{cases} ]这个方程组可以转化为矩阵形式并求解。
- 矩阵表示和伪逆矩阵
您提供的矩阵表示是正确的。令
[ S_m = \begin{pmatrix}
x_{1m} \
x_{2m} \
x_{3m} \
1
\end{pmatrix}, \quad
Y = \begin{pmatrix}
y_1 \
y_2 \
\vdots \
y_m
\end{pmatrix}, \quad
X = \begin{pmatrix}
x_{11} & x_{21} & x_{31} & 1 \
x_{12} & x_{22} & x_{32} & 1 \
\vdots & \vdots & \vdots & \vdots \
x_{1m} & x_{2m} & x_{3m} & 1
\end{pmatrix} ]那么,线性回归模型可以表示为
[ Y = X \beta ]
其中 (\beta = (A, B, C, D)^T) 是系数向量。
最小二乘法的解为
[ \beta = (X^TX)^{-1}X^TY ]
当 (X^TX) 是可逆的时候,这个解是存在的。但是,当 (X^TX) 不可逆(即,存在共线性或者实验设计不够好时),直接使用逆矩阵会导致问题。这时,可以使用伪逆矩阵(也称为广义逆矩阵)来求解。
在 MATLAB 中,使用伪逆矩阵求解通常是通过
pinv函数实现的。但是,通常更推荐使用\运算符来求解线性方程组,因为 MATLAB 的\运算符在内部会检查矩阵的条件数,并在必要时使用伪逆矩阵。所以,在 MATLAB 中,您可以简单地写[ \beta = X \backslash Y ]
来得到最小二乘解。
如果您发现结果有问题,可能是由于以下几个原因:
- 数据存在异常值或噪声过大。
- (X) 矩阵的列之间存在严重的共线性。
- MATLAB 编程实现时存在错误。
建议检查数据、矩阵 (X) 的条件数(使用
cond(X)),以及 MATLAB 代码,以确保正确实现最小二乘法。本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报