主要内容

最小二乘拟合

介绍

曲线拟合工具箱™软件使用时的最小二乘法拟合数据。安装需要一个参数模型与响应数据预测数据与一个或多个系数。拟合过程的结果估计模型的系数。

获得系数估计,最小二乘法最小化残差的平方求和。剩余的我th数据点r<年代ub>我被定义为观察到的响应值的区别y<年代ub>我拟合响应值ŷ<年代ub>我,被认为是与数据相关的错误。

r = y y ^ 剩余=数据 适合

残差的总结广场是由

年代 = = 1 n r 2 = = 1 n ( y y ^ ) 2

在哪里n是数据点的数量包括在健康、年代平方和误差估计。支持的最金宝app小二乘拟合的类型包括:

  • 线性最小二乘

  • 加权线性最小二乘

  • 鲁棒最小二乘

  • 非线性最小二乘

误差分布

拟合数据,其中包含随机变化时,有两个重要的假设通常的错误:

  • 错误只存在于响应数据,而不是在预测数据。

  • 错误是随机和遵循正态(高斯)分布与零均值和方差不变,σ2

第二个假设通常表示为

e r r o r N ( 0 , σ 2 )

误差正态分布假定为正态分布,因为通常提供一个适当的近似分布的许多测量量。虽然最小二乘拟合方法不承担错误正态分布在计算参数估计,该方法最适合的数据不包含大量的随机误差与极端值。正态分布是一种极端的概率分布随机错误并不常见。然而,统计结果如信心和预测范围需要正态分布的有效性错误。

如果错误的均值为零,那么错误完全是随机的。如果均值不为零,那么它可能是,该模型不是正确的选择为您的数据,或错误不是完全随机的,包含系统的错误。

恒定方差数据意味着“传播”的错误是恒定的。数据具有相同的方差有时说的<一个class="indexterm" name="d123e6957">同等的质量。

假设随机误差有恒定方差不隐式加权最小二乘回归。相反,它假定拟合过程中提供的重量正确显示数据中的不同等级的品质。然后使用权重调整每个数据点的数量影响的估计系数一个适当的水平。

线性最小二乘

使用线性最小二乘法曲线拟合工具箱软件符合线性模型的数据。一个<年代p一个nclass="emphasis">线性模型被定义为一个线性方程的系数。例如,多项式线性高斯模型,但不是。说明了线性最小二乘拟合的过程,假设你有n数据点,可由一级多项式建模。

y = p 1 x + p 2

解这个方程的未知系数p1p2,你写年代作为一个系统的n线性方程组在两个未知数。如果n大于未知数的数目,则方程组是什么<年代p一个nclass="emphasis">多因素决定的。

年代 = = 1 n ( y ( p 1 x + p 2 ) ) 2

由于最小二乘拟合过程最小化残差的平方求和,微分系数确定年代对于每个参数,设置结果等于零。

年代 p 1 = 2 = 1 n x ( y ( p 1 x + p 2 ) ) = 0 年代 p 2 = 2 = 1 n ( y ( p 1 x + p 2 ) ) = 0

真正的参数的估计通常是由b。替换b1b2p1p2,前面的方程

x ( y ( b 1 x + b 2 ) ) = 0 ( y ( b 1 x + b 2 ) ) = 0

合计来看哪里人我= 1,n。的<年代p一个nclass="emphasis">正常的<一个class="indexterm" name="d123e7044">方程被定义为

b 1 x 2 + b 2 x = x y b 1 x + n b 2 = y

b1

b 1 = n x y x y n x 2 ( x ) 2

b2使用b1价值

b 2 = 1 n ( y b 1 x )

正如您可以看到的,估计系数p1p2只需要几个简单的计算。较高的多项式扩展这个示例是简单的虽然有点乏味。所有这些需要一个额外的正规方程为每个线性项添加到模型中。

矩阵形式,给出了线性模型的公式

y=Xβ+ε

在哪里

  • y是一个n1向量的反应。

  • β是一个米1的系数向量。

  • X是n——- - - - - -米设计矩阵模型。

  • ε是一个n1向量的错误。

一级多项式,n两个未知数的方程是表示的y,X和β

( y 1 y 2 y 3 y n ] = ( x 1 1 x 2 1 x 3 1 x n 1 ] × ( p 1 p 2 ]

最小二乘解的问题是一个向量b,估计未知向量系数β。正常的方程正解

(X<年代up>TX)b=X<年代up>Ty

在哪里X<年代up>T设计矩阵的转置X。解b,

b= (X<年代up>TX)<年代up>1X<年代up>Ty

使用MATLAB<年代up>®反斜杠符(<一个href="//www.tatmou.com/nl/nl/help/matlab/ref/mldivide.html">mldivide)解决系统未知系数的线性方程组。因为反相X<年代up>TX可能导致不可接受的舍入误差,反斜杠符使用吗QR分解与旋转,这是一个非常稳定的数值算法。指<一个href="//www.tatmou.com/nl/nl/help/matlab/arithmetic.html" class="a">算术运算关于反斜杠符的更多信息QR分解。

你可以插b回模型公式预测响应值,ŷ。

ŷ=Xb=沪元

H=X(X<年代up>TX)<年代up>1X<年代up>T

一顶帽子(弯曲)一封信表示参数的估计或预测模型。投影矩阵H叫做帽子矩阵,因为它把帽子y。

给出了残差

r=y- - - - - -ŷ= (1 -H)y

加权最小二乘

它通常假定响应数据质量相等,因此,恒定方差。如果违反了这一假设,你的健康可能会过度影响数据的质量较差。改善健康,您可以使用加权最小二乘回归,一个额外的比例因子(重量)是包括在拟合的过程。加权最小二乘回归最小化误差估计

年代 = = 1 n w ( y y ^ ) 2

在哪里w<年代ub>我是权重。权重确定每个响应值的影响最终的参数估计。一个高质量的数据点的影响健康的低质量的数据点。权重数据建议如果权重是已知的,或如果有理由,他们遵循一个特定的形式。

权重修改参数估计的表达式b在以下方式,

b = β ^ = ( X T W X ) 1 X T W y

在哪里W是由权重矩阵的对角元素w。

通常可以确定方差不常数拟合残差的数据和绘制。图所示,数据包含各种复制数据质量和合适的假设是正确的。质量差的数据显示在残差的情节,有“漏斗”形状,小产量预测的值更大的散射比大预测响应值的值。

您提供的重量应该转换响应方差一个常数值。如果你知道在你的数据测量误差的方差,然后给出了权重

w = 1 / σ 2

或者,如果你只有为每个数据点的估计误差变量,它通常可以使用这些估计的方差。如果你不知道其中的差异,只要指定权重相对规模。注意,一个总体方差项估计即使重量已经指定。在这个实例中,权重定义每一个点的相对重量合适,但不采取指定每个点的具体差异。

例如,如果每个数据点的意思是几个独立的测量,它可能是有意义的使用这些数字测量的重量。

鲁棒最小二乘

它通常假设响应误差服从正态分布,和极端值是罕见的。不过,极端值<年代p一个nclass="emphasis">离群值确实发生了。

最小二乘拟合的主要缺点是其对异常值的敏感性。异常值有很大的影响符合因为残差平方放大这些极端数据点的影响。以减少异常值的影响,可以满足您的数据使用鲁棒最小二乘回归。工具箱提供了这两种稳健回归方法:

  • 至少绝对残差(政治)——守护神的方法找到一个最小化残差的绝对差的曲线,而不是平方差异。因此,极端值有一个较小的影响健康。

  • Bisquare权重——这个方法最小化加权平方和,给每个数据点的重量取决于关键在于从安装行多远。分线附近得到全部的重量。点远离线得到减轻重量。点远离线比预计将通过随机机会得到零重量。

    在大多数情况下,bisquare体重方法是首选的守护神,同时试图找到一个适合大部分的曲线数据的使用通常的最小二乘方法,它最大限度地减少异常值的影响。

健壮的拟合与bisquare重量使用一个迭代再加权最小二乘算法,并遵循这个过程:

  1. 适合通过加权最小二乘模型。

  2. 计算<年代p一个nclass="emphasis">调整后的残差和规范。给出了调整后的残差

    r 一个 d j = r 1 h

    r<年代ub>我通常的最小二乘残差和吗h<年代ub>我是<年代p一个nclass="emphasis">利用,调整剩余工资减少的重量高效率的数据点,对最小二乘匹配有很大影响。标准化残差调整的

    u = r 一个 d j K 年代

    K一个调优常数等于4.685,年代健壮的标准差由吗疯了/ 0.6745,疯了是残差的平均绝对偏差。

  3. 计算的权值的函数u。bisquare权重给出

    w = { ( 1 ( u ) 2 ) 2 | u | < 1 0 | u | 1

    注意,如果您提供自己的回归权重向量,最后的重量是健壮的产品重量和体重回归。

  4. 如果符合收敛,那么你就完成了。否则,执行下一次迭代拟合过程的返回第一步。

  5. 如下所示的情节比较常规的线性符合一个健壮的适合使用bisquare权重。注意,健壮的符合之前的大部分数据并不是强受异常值影响。

    而不是减少异常值的影响,通过使用健壮的回归,可将数据点标记被排除在健康。指<一个href="//www.tatmou.com/nl/nl/help/curvefit/removing-outliers.html" class="a">删除离群值为更多的信息。

    非线性最小二乘

    非线性最小二乘曲线拟合工具箱软件使用的配方适合非线性模型数据。非线性模型被定义为一个方程中非线性系数,或结合线性和非线性系数。例如,高斯函数,多项式的比率,幂函数都是非线性的。

    给出的矩阵形式,非线性模型公式

    y=f(X,β)+ε

    在哪里

    • y是一个n1向量的反应。

    • fβ的函数吗X。

    • β是一个米1的系数向量。

    • X是n——- - - - - -米设计矩阵模型。

    • ε是一个n1向量的错误。

    非线性模型比线性模型很难适应,因为不能使用简单的估计系数矩阵技术。相反,需要迭代方法,遵循这些步骤:

    1. 从一个初始估计为每一个系数。对于一些非线性模型,提供了启发式方法产生合理的起始值。其他模型,随机值区间[0,1]上。

    2. 产生当前设定的拟合曲线的系数。拟合响应值ŷ是由

      ŷ=f(X,b)

      ,涉及到的计算<年代p一个nclass="emphasis">雅可比矩阵的f(X、b),它被定义为一个矩阵的偏导数的系数。

    3. 调整系数,确定合适的提高。调整的方向和大小取决于合适的算法。工具箱提供了这些算法:

      • 信赖域算法——这是默认,必须使用如果您指定系数约束。它可以比其他算法更有效地解决困难的非线性问题,它代表了一种进步流行Levenberg-Marquardt算法。

      • Levenberg-Marquardt——这个算法已被用于许多年,事实证明工作大部分时间范围广泛的非线性模型和起始值。如果信赖域算法不产生一个合理的配合,和你没有系数的限制,你应该试试Levenberg-Marquardt算法。

    4. 迭代的过程回到第2步,直到合适的到达指定的收敛标准。

    您可以使用重量和健壮的适合非线性模型,并相应修改装配过程。

    由于近似过程的本质,没有万无一失的所有非线性模型算法,数据集和起点。因此,如果你没有达到一个合理的适合使用默认的起始点,算法,和收敛条件,你应该尝试不同的选择。指<一个href="//www.tatmou.com/nl/nl/help/curvefit/parametric-fitting.html" class="a">指定合适的选择和优化的起点对如何修改默认选项的描述。因为非线性模型可以特别敏感的起始点,这应该是第一个符合选项您修改。

    健壮的拟合

    这个例子展示了如何排除异常值和健壮的拟合的效果进行比较。这个例子展示了如何排除异常值在一个任意的距离超过1.5个标准差的模型。然后比较的步骤删除离群值与指定一个健壮的配合使体重降低到离群值。

    创建一个基准正弦信号:

    xdata =(0:0.1:2 *π)';y0 =罪(xdata);

    添加噪声的信号非常数的方差。

    % Response-dependent高斯噪声gnoise = y0。* randn(大小(y0));<年代p一个n年代tyle="color:#228B22">%满头花白的噪音spnoise = 0(大小(y0));p = randperm(长度(y0));sppoints = p(1:圆形(长度(p) / 5));spnoise (sppoints) = 5 *标志(y0 (sppoints));ydata = y0 + gnoise + spnoise;

    适应嘈杂的数据与一个基准正弦模型,并指定3输出参数来得到合适的信息,包括剩余工资。

    f = fittype (<年代p一个n年代tyle="color:#A020F0">“* sin (b * x)”);[gof fit1, fitinfo] =适合(xdata ydata f,<年代p一个n年代tyle="color:#A020F0">曾经繁荣的[1]);

    检查fitinfo结构中的信息。

    fitinfo
    fitinfo =<年代p一个nclass="emphasis">结构体字段:numobs: 63 numparam: 2残差:x1双[63]雅可比矩阵:[63 x2双]exitflag: 3 firstorderopt: 0.0883迭代:5 funcCount: 18 cgiterations: 0算法:“trust-region-reflective”stepsize: 4.1539 e-04消息:“成功,但拟合停止,因为改变残差小于公差(TolFun)。”

    得到的残差fitinfo结构。

    残差= fitinfo.residuals;

    识别“局外人”,分在一个任意的距离大于1.5标准偏离基线模型,和改装数据异常值排除在外。

    我= abs(残差)> 1.5 *性病(残差);离群值= excludedata (xdata ydata,<年代p一个n年代tyle="color:#A020F0">“指标”,我);fit2 =适合(xdata ydata f,<年代p一个n年代tyle="color:#A020F0">曾经繁荣的[1],<年代p一个n年代tyle="color:#0000FF">…“排除”、异常值);

    比较排除异常值的影响和给他们的影响降低bisquare体重在一个健壮的健康。

    fit3 =适合(xdata ydata f,<年代p一个n年代tyle="color:#A020F0">曾经繁荣的[1],<年代p一个n年代tyle="color:#A020F0">“稳健”,<年代p一个n年代tyle="color:#A020F0">“上”);

    图数据,异常值,符合的结果。指定一个信息丰富的传奇。

    情节(fit1<年代p一个n年代tyle="color:#A020F0">的r -xdata ydata,<年代p一个n年代tyle="color:#A020F0">“k”。离群值,<年代p一个n年代tyle="color:#A020F0">“m *”)举行<年代p一个n年代tyle="color:#A020F0">在情节(fit2<年代p一个n年代tyle="color:#A020F0">“c——”)情节(fit3<年代p一个n年代tyle="color:#A020F0">”乙:“)xlim([0 2 *π])传说(<年代p一个n年代tyle="color:#A020F0">“数据”,<年代p一个n年代tyle="color:#A020F0">的数据排除第二个合适”,<年代p一个n年代tyle="color:#A020F0">“原来适合”,<年代p一个n年代tyle="color:#0000FF">…“符合点排除”,<年代p一个n年代tyle="color:#A020F0">健壮的适合的)举行<年代p一个n年代tyle="color:#A020F0">从

    图包含一个坐标轴对象。坐标轴对象包含5线类型的对象。这些对象表示数据,数据排除在第二,原来健康,符合点排除在外,健壮的健康。

    情节的残差两个适合考虑离群值:

    图绘制(fit2 xdata ydata,<年代p一个n年代tyle="color:#A020F0">“有限公司”,<年代p一个n年代tyle="color:#A020F0">“残差”)举行<年代p一个n年代tyle="color:#A020F0">在情节(fit3 xdata ydata,<年代p一个n年代tyle="color:#A020F0">“软”,<年代p一个n年代tyle="color:#A020F0">“残差”)举行<年代p一个n年代tyle="color:#A020F0">从

    图包含一个坐标轴对象。坐标轴对象包含4线类型的对象。这些对象表示数据,零线。