美文网首页
最小二乘法介绍(matlab文档翻译)

最小二乘法介绍(matlab文档翻译)

作者: 寽虎非虫003 | 来源:发表于2023-07-13 09:24 被阅读0次

    原文地址

    Introduction to Least-Squares Fitting;

    翻译

    最小二乘拟合简介

    回归模型将响应数据与具有一个或多个系数的预测数据联系起来。拟合方法是在给定一组输入数据的情况下计算模型系数的算法。曲线拟合工具箱™( Curve Fitting Toolbox™ )使用最小二乘拟合方法来估计回归模型的系数。

    曲线拟合工具箱支持以下最小二乘拟合方法:

    • Linear least-squares(线性最小二乘法)
    • Weighted least-squares (加权最小二乘法)
    • Robust least-squares (稳健最小二乘法)
    • Nonlinear least-squares (非线性最小二乘法)

    回归模型的类型和输入数据的性质决定了哪种最小二乘法最适合估计模型系数。

    计算残差

    数据点的残差是观测到的响应值与拟合模型返回的响应估计值之间的差。估计响应向量的计算公式为
    \hat{y}=f(X,b)
    其中

    • \hat{y} 是一个 响应估计的n\times 1 向量
    • f是回归模型的一般形式。
    • X是一个n × m的设计矩阵。
    • b是一个m\times 1的拟合模型系数向量。

    最小二乘拟合方法计算模型系数,使平方误差之和(SSE)最小,也称为残差平方和。给定一组n个数据点,第i个数据点r_i的残差计算公式为
    r_i=y_i-\hat{y}_i
    其中y_i为第i次观测响应值,\hat{y}_i为第i次拟合响应值。SSE由下式给出
    SSE = \sum_{i=1}^n r_i^2 = \sum_{i=1}^n (y_i-\hat{y}_i)^2

    误差假设

    一个数据点的观测值与真实值之间的差称为误差。由于不能直接观察到,所以数据点的误差近似于数据点的残差。

    对于不包含大量具有极值的随机误差的数据集,最小二乘拟合方法是最准确的。统计结果,如置信度和预测界,假设误差是正态分布的。数据拟合技术通常会对包含随机变化的数据的误差做出两个重要假设:

    • 误差只存在于响应数据中,而不存在于预测数据中。
    • 误差是随机的,遵循均值为零、方差为常数的正态分布。

    数据拟合技术假定误差是正态分布的,因为正态分布通常提供了许多测量量分布的适当近似值。虽然最小二乘拟合方法在计算参数估计时不假设正态分布误差,但该方法最适合不包含大量具有极值的随机误差的数据。正态分布是一种不常见极端随机误差的概率分布。然而,统计结果,如置信度和预测界要求其有效性的正态分布误差。

    如果残差均值非零,检查残差是否受到模型或预测变量选择的影响。对于加权最小二乘以外的拟合方法,曲线拟合工具箱还假设误差在预测变量的值之间具有恒定的方差。残差不具有恒定方差表明拟合可能受到低质量数据的影响。

    线性最小二乘法

    曲线拟合工具箱使用线性最小二乘法拟合数据的线性模型。线性模型被定义为其系数为线性的方程。当数据极值较少,且预测变量间误差方差恒定时,采用线性最小二乘拟合方法。

    阶为m - 1的线性模型具有矩阵形式
    y=X\beta+\varepsilon
    其中

    • yn\times 1的响应数据向量。。
    • βm\times 1 的未知系数向量.
    • X 是一个 n\times m 的设计矩阵,包含 m - 1 个预测变量列。X中的最后一列是代表模型常数项的1列。
    • ε 是一个n\times 1 的未知误差向量.

    例如,一阶多项式的形式为
    y=p_1x+p_2
    由如下给出
    \begin{bmatrix} y_1 \\ y_2\\ y_3\\ \vdots \\y_n \end{bmatrix} =\begin{bmatrix} x_1 & 1 \\ x_2& 1\\ x_3 & 1\\ \vdots \\x_n &1 \end{bmatrix} \times \begin{bmatrix} p_1\\ p_2 \end{bmatrix}
    由于 ε 未知,因此不能直接计算 β。线性最小二乘拟合方法通过计算系数矢量 b 使 SSE 最小化来逼近 β。曲线拟合工具箱通过求解称为法线方程的方程组来计算b。法线方程的公式为
    (X^TX)b=X^Ty
    其中,X^T 是矩阵 X 的转置。b 的计算公式为
    b=(X^TX)^{−1}X^Ty
    要求解未知系数的联立线性方程组,请使用MATLAB®反斜杠运算符(mldivide)。由于 X^TX 求逆会导致不可接受的四舍五入误差,因此反斜线运算符使用了带透视的 QR 分解,这是一种数值上稳定的算法。有关反斜线运算符和QR分解的更多信息,请参阅算术运算。要计算拟合响应值矢量 \hat{y} ,请将 b 代入模型中
    \hat{y} =Xb
    有关使用线性最小二乘拟合方法拟合多项式模型的示例,请参见数据拟合多项式模型

    加权最小二乘法

    如果响应数据误差在预测数据值上不具有恒定方差,则拟合会受到劣质数据的影响。加权最小二乘拟合方法使用称为权重的比例因子来影响响应值对模型系数计算的影响。如果权重已知或权重遵循特定形式,则使用加权最小二乘拟合方法。

    加权最小二乘拟合方法在SSE公式中引入了权重,即
    SSE = \sum_{i=1}^n w_i(y_i-\hat{y}_i)^2
    其中 w_i 为权重。您提供的权重应将响应方差转换为一个恒定值。如果您知道数据中测量误差的方差 σ^2_i,则权重为 wi=\frac{1}{σ^2_i}。或者,您可以使用残差来估计计算σ^2_i时的误差。

    根据SSE的加权公式可以得出b的计算公式
    b=(X^TWX)^{−1}X^TWy
    其中W为对角矩阵,使得W_{ii}=w_i
    使用加权最小二乘拟合方法拟合多项式模型的示例,请参阅使用加权改进模型拟合

    稳健最小二乘法

    响应数据中的极端值称为异常值。线性最小二乘拟合对异常值非常敏感,因为在计算SSE时,残差平方会放大这些数据点的影响。如果数据中包含异常值,请使用稳健最小二乘拟合方法。

    曲线拟合工具箱提供以下稳健最小二乘拟合方法:

    • 最小绝对残差法(LAR,Least absolute residuals)--这种方法可以找到一条最小化绝对残差而不是平方差的曲线。因此,极端值对拟合的影响较小。
    • 双平方权重(Bisquare weights) - 该方法最小化加权平方和,其中每个数据点的权重取决于该点离拟合曲线的距离。靠近拟合曲线的点获得全部权重。离曲线较远的点权重降低。远离曲线的点的权重为零。

    双平方权重法通常比 LAR 更受青睐,因为它可以同时使用最小二乘法找到一条与大部分数据拟合的曲线,同时将异常值的影响降至最低。

    稳健的二平方权重拟合采用迭代再加权最小二乘算法,具体步骤如下:

    • 1.通过加权最小二乘法拟合模型。对于第一次迭代,除非您指定权重,否则算法使用的权重等于 1。
    • 2.计算调整后的残差并将其标准化。调整后的残差为
      r_{adj} = \frac{r_i}{\sqrt{1-h_i}}
      其中,h_i 为参数,用于降低远离拟合曲线的数据点的权重。标准化调整后的残差为
      u = \frac{r_{adj}}{Ks}
      其中 K=4.685 为调谐常数,s 为稳健标准偏差,由残差的中位绝对偏差 (MAD) 除以 0.6745 得出。

    计算作为 u 函数的稳健权重:
    w_i = \begin{cases} (1-(u_i)^2)^2,\quad |u_i|<1\\ \qquad 0,\qquad \qquad |u_i|\geqslant 1\\ \end{cases}

    • 3.如果拟合收敛,则退出迭代过程。否则,返回步骤1,执行下一次二平方权重拟合方法迭代。
      与使用稳健最小二乘拟合将异常值的影响降至最低相比,您可以将数据点标记为从拟合中剔除。更多信息请参阅移除异常值
      有关使用稳健最小二乘拟合方法拟合多项式模型的示例,请参见比较稳健拟合方法

    非线性最小二乘

    曲线拟合工具箱使用非线性最小二乘法对数据进行非线性模型拟合。非线性模型是指系数非线性的方程,或者是线性和非线性系数的组合。例如,指数模型、傅里叶模型和高斯模型都属于非线性模型。

    非线性模型的矩阵形式为
    y=f(X,β)+ε
    其中

    • y 是一个n\times 1 因变量向量。
    • β是一个m\times 1系数向量。
    • Xn \times m 设计矩阵。
    • f是β和X的非线性函数。
    • ε是一个n\times 1的未知误差向量。

    在非线性模型中,与线性模型不同,无法使用矩阵技术计算近似系数 b。曲线拟合工具箱使用以下迭代方法计算系数:

      1. 初始化系数值。对于某些非线性模型,工具箱提供了计算初始值的启发式方法。对于其他模型,系数初始化为区间[0,1]内的随机值。
      1. 计算当前系数集的拟合曲线。拟合响应值 \hat{y}\hat{y}=f(X,b) 给出,利用 f(X,β) 的 Jacobian 计算。f(X,β)的Jacobian定义为关于β系数的偏导数矩阵。
      1. 使用这些非线性最小二乘算法之一调整系数:

        • 信任区域 - 默认算法。如果指定了系数约束,则必须使用可信区域算法。与其他算法相比,信任区域算法可以更有效地解决困难的非线性问题,是常用的 Levenberg-Marquardt 算法的改进版。

        • Levenberg-Marquardt - 如果信任区域算法不能产生合理的拟合,并且没有系数约束,可以使用Levenberg-Marquardt算法。

      1. 如果拟合满足指定的收敛标准,则退出迭代。否则返回第2步。

    曲线拟合工具箱支持使用权重和稳健拟合来计算非线性模型的SSE。

    非线性模型预测的准确性取决于模型类型、收敛标准、数据集以及系数的初始值。如果默认选项不能得出合理的拟合结果,可以尝试使用不同的模型系数起始值、非线性最小二乘算法和收敛标准。一般情况下,首先修改系数起始值,因为非线性模型拟合对模型系数起始值特别敏感。有关修改默认选项的详细信息,请参阅指定拟合选项和优化起点

    有关使用非线性最小二乘拟合方法拟合指数模型的示例,请参见数据拟合指数模型

    参考文献

    [1] DuMouchel, W. H., and F. L. O'Brien. “Integrating a Robust Option into a Multiple Regression Computing Environment.” Computer Science and Statistics: Proceedings of the 21st Symposium on the Interface. Alexandria, VA: American Statistical Association, 1989.

    [2] Holland, P. W., and R. E. Welsch. “Robust Regression Using Iteratively Reweighted Least-Squares.” Communications in Statistics: Theory and Methods, A6, 1977, pp. 813–827.

    相关文章

      网友评论

          本文标题:最小二乘法介绍(matlab文档翻译)

          本文链接:https://www.haomeiwen.com/subject/tbbpudtx.html