为了对相当大的数据集进行二次回归,我想用svd(奇异值分解)求解下面的等式: B(NX1)= A(NX3)* X(3×) 我正在考虑使用matlab,任何提示?目标是计算矩阵X
答案 0 :(得分:0)
你所谓的二次回归似乎实际上是最小平方误差回归。在这种情况下,计算非常简单:
1)将左侧乘以A'(3xn)到达
A'(3xn)B(nx1)= A'(3xn)A(nx3)X(3x1)
2)现在将两个左边乘以A'(nx1)A(nx3)的倒数到达
inv(A'(3xn)A(nx3))A'(3xn)B(nx1)= X(3x1)
3)现在使用svd来评估上面的反转,请参阅Most efficient matrix inversion in MATLAB