【问题标题】:using singular value decomposition (svd) in quadratic regression [closed]在二次回归中使用奇异值分解(svd)
【发布时间】:2013-03-12 23:35:41
【问题描述】:

为了对相当大的数据集进行二次回归,我想使用 svd(奇异值分解)求解以下方程: B(nx1)=A(nx3)*X(3x1) 我正在考虑为此使用matlab,有什么提示吗?目标是计算矩阵 X

【问题讨论】:

  • 很难说,因为你的问题太模糊了。先自己试一试,看看有没有卡住。
  • 很高兴看到对非线性、更高次多项式的奇异值分解的参考。

标签: matlab regression polynomial-math svd


【解决方案1】:

看来你所说的二次回归实际上是最小平方误差回归。在这种情况下,计算非常简单:

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

另见Minimizing error of a formula in MATLAB (Least squares?)

【讨论】:

    猜你喜欢
    • 2011-06-30
    • 2010-10-31
    • 2015-04-16
    • 2010-10-06
    • 2014-03-10
    • 1970-01-01
    • 2016-01-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多