在线性回归模型可以减少离群值的影响通过使用健壮的线性回归。这一主题定义了稳健回归,显示了如何使用它来适应一个线性模型,并比较结果标准匹配。您可以使用fitlm
与“RobustOpts”
名称-值对参数符合一个健壮的回归模型。或者您也可以使用robustfit
简单地计算出健壮的回归系数参数。
鲁棒线性回归是敏感异常值低于标准线性回归。标准线性回归使用普通最小二乘拟合计算模型参数相关的响应数据预测数据与一个或多个系数。(见多元回归模型的估计更多细节)。因此,异常值对健康有很大的影响,由于残差平方放大这些极端数据点的影响。使用标准的线性回归模型,描述线性回归模型是什么?等,都是基于一定的假设,一个正态分布的观测中的错误响应。如果错误的分布是不对称的或容易出现异常值,模型假设是无效的,和参数估计,置信区间和其他计算统计数据变得不可靠。
稳健回归使用一个名为迭代再加权最小二乘的方法为每个数据点分配重量。这个方法不太敏感的大变化小的部分数据。因此,鲁棒线性回归是敏感异常值低于标准线性回归。
在加权最小二乘法,拟合过程包括重量作为额外的比例因子,提高了适应。权重确定每个响应值的影响最终的参数估计。低质量的数据点(例如,局外人)应该不影响健康。计算权重<年代pan class="inlineequation">w我,您可以使用预定义的权重函数,比如图基bisquare函数(参见名称-值对的论点“RobustOpts”
在fitlm
更多的选项)。
的<年代pan class="emphasis">迭代再加权最小二乘迭代算法自动计算权重。在初始化算法对每个数据点分配同等重视,并使用普通最小二乘估计模型系数。在每个迭代算法计算权重<年代pan class="inlineequation">w我,低重量点远离模型预测在前面的迭代。该算法计算模型系数b使用加权最小二乘法。迭代停止时的值系数估计收敛在一个指定的公差。该算法同时试图找到适合的大部分的曲线数据使用最小二乘方法,和离群值的影响降到最低。
更多细节,请参阅迭代步骤再加权最小二乘法。
这个例子展示了如何使用健壮的回归fitlm
功能,比较健壮的结果符合标准最小二乘匹配。
加载摩尔
数据。预测数据在前五列,在第六和响应数据。
负载<年代pan style="color:#A020F0">摩尔X =摩尔(:1:5);:y =摩尔(6);
最小二乘线性模型的数据。
mdl = fitlm (X, y)
mdl =线性回归模型:y ~ 1 + x1 + x2 + x3 + x4 + x5估计系数:估计SE tStat pValue ___________ __________ _____ ________(拦截)-2.1561 0.91349 -2.3603 0.0333 (x1, x2 e-06 0.00051835 -0.017385 0.98637 0.0013159 0.0012635 1.0415 -9.0116 0.31531 x3 1.6618 - 0.11876 0.0001278 - 7.6902 e-05 x4 0.0078989 1.9208 - 0.075365 0.00014165 - 7.3749 0.014 0.56421 0.58154 x5 e-05观测数量:20日误差自由度:14根均方误差:0.262平方:0.811,调整平方:0.743 f统计量与常数模型:12,假定值= 0.000118
适合的数据通过使用线性模型“RobustOps”
名称-值对的论点。
mdlr = fitlm (X, y,<年代pan style="color:#A020F0">“RobustOpts”,<年代pan style="color:#A020F0">“上”)
mdlr =线性回归模型(健壮健康):y ~ 1 + x1 + x2 + x3 + x4 + x5估计系数:估计SE tStat pValue __________ __________说(拦截)-1.7516 0.86953 -2.0144 0.063595 1.7006 x1 e-05 x2 0.00049341 0.034467 0.97299 0.00088843 2.1487 - 0.049639 0.00015729 - 7.3202 0.0012027 0.7387 0.47229 x3 e-05 x4 0.0060468 0.013326 0.45375 0.65696 7.0201 6.8807 x5 e-05 e-05 0.98015 - 0.34365的观测数量:20日误差自由度:14根均方误差:0.249平方:0.775,调整平方:0.694 f统计量与常数模型:9.64,p = 0.000376
视觉检查两个模型的残差。
tiledlayout (1、2) nexttile plotResiduals (mdl,<年代pan style="color:#A020F0">“概率”)标题(<年代pan style="color:#A020F0">“线性适应”)nexttile plotResiduals (mdlr<年代pan style="color:#A020F0">“概率”)标题(<年代pan style="color:#A020F0">健壮的适合的)
健壮的适合的残差(右一半的情节)接近于直线,除了一个明显的例外。
发现异常值的索引。
离群值=找到(isoutlier (mdlr.Residuals.Raw))
离群值= 1
情节权重观测的健壮的身体。
图b =酒吧(mdlr.Robust.Weights);b。FaceColor =<年代pan style="color:#A020F0">“平”;b.CData(例外:)= (。5 0 5);xticks(1:长度(mdlr.Residuals.Raw))包含(<年代pan style="color:#A020F0">“观察”)ylabel (<年代pan style="color:#A020F0">“重量”)标题(<年代pan style="color:#A020F0">‘强健’符合重量)
健壮的适合的重量异常(紫色bar)的重量远小于其他观测。
迭代再加权最小二乘算法遵循这个过程:
从一个初始估计重量和适合该模型的加权最小二乘法。
计算调整后的残差。给出了调整后的残差
在哪里<年代pan class="inlineequation">r我是普通最小二乘残差,<年代pan class="inlineequation">h我最小二乘匹配利用价值。利用调整剩余工资减少的重量高效率的数据点,它有一个大影响最小二乘(见帽子矩阵和杠杆)。
标准化残差。标准化残差调整的
在哪里K是一个调优常数,然后呢年代是一个估计的标准偏差的误差项s =疯狂/ 0.6745
。
疯了
的平均绝对偏差的残差值。常数0.6745使得正态分布的无偏估计。如果预测数据矩阵X
有p列,软件不包括最小的p绝对偏差时计算值。
计算的重量<年代pan class="inlineequation">w我的函数u。例如,bisquare权重给出
估计的回归系数b。权重修改参数估计的表达式b如下
在哪里W矩阵,对角重量是X是预测数据矩阵,y是响应向量。
加权最小二乘估计错误
在哪里<年代pan class="inlineequation">w我权重,<年代pan class="inlineequation">y我观察到的反应,<年代pan class="inlineequation">ŷ我拟合响应,<年代pan class="inlineequation">r我是残差。
迭代停止如果符合收敛或达到最大迭代次数。否则,执行下一次迭代最小二乘拟合的回到第二步。
fitlm
|<年代pan itemscope itemtype="//www.tatmou.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">robustfit
|<年代pan itemscope itemtype="//www.tatmou.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">LinearModel
|<年代pan itemscope itemtype="//www.tatmou.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">plotResiduals