主要内容

使用稳健回归减少异常值影响

您可以使用鲁棒线性回归减少线性回归模型中的异常效果。本主题定义了强大的回归,显示了如何使用它来适合线性模型,并将结果与​​标准拟合进行比较。您可以使用Fitlm.“RobustOpts”名称-值对参数,以适合一个稳健的回归模型。或者你可以使用robustfit简单地计算鲁棒回归系数参数。

为什么使用稳健回归?

稳健线性回归对异常值的敏感性低于标准线性回归。标准线性回归使用普通最小二乘拟合来计算模型参数,这些参数将响应数据与具有一个或多个系数的预测数据联系起来。(见多元回归模型的估计更多细节)。因此,异常值对拟合有很大的影响,因为残差的平方放大了这些极端数据点的影响。使用标准线性回归的模型,在什么是线性回归模型?,基于某些假设,例如观察到的响应中的误差的正常分布。如果错误的分布是不对称或容易的异常值,则模型假设是无效的,并且参数估计,置信区间和其他计算统计数据变得不可靠。

稳健回归使用一种称为迭代重加权最小二乘的方法来为每个数据点分配一个权重。这种方法对小数据部分的大变化不太敏感。因此,稳健线性回归对异常值的敏感性低于标准线性回归。

迭代地重复最小二乘

在加权最小二乘中,配合过程包括作为额外比例因子的重量,这改善了配合。权重决定每个响应值会影响最终参数估计数。低质量的数据点(例如,异常值)应该对适合的影响较小。计算权重W.一世,您可以使用预定义的权重函数,例如Tukey的Bisquare函数(请参阅名称 - 值对参数“RobustOpts”Fitlm.更多的选项)。

迭代地重复排队算法自动且迭代地计算权重。在初始化时,该算法将相同的权重分配给每个数据点,并使用普通最小二乘估计模型系数。在每次迭代时,该算法计算权重W.一世在之前的迭代中,对远离模型预测的点给予较低的权重。然后,该算法计算模型系数B.使用加权最小二乘法。当系数估计的值会聚在指定的公差范围内时,迭代停止。该算法同时寻求使用最小二乘方法找到适合大部分数据的曲线,并最大限度地减少异常值的效果。

有关更多详细信息,请参阅迭代重复最小二乘的步骤

比较标准最小二乘法和稳健最小二乘法的结果

此示例显示如何使用强大的回归Fitlm.功能,并将稳健拟合的结果进行比较到标准最小二乘拟合。

加载摩尔数据。预测数据位于前五列,响应数据位于第六列。

加载摩尔x =摩尔(:,1:5);y =摩尔(:,6);

将最小二乘线性模型适合数据。

mdl = fitlm(x,y)
mdl =线性回归模型:y ~ 1 + x1 + x2 + x3 + x4 + x5估计系数:估计SE tStat pValue  ___________ __________ _________ ________ ( 拦截x1) -2.1561 0.91349 -2.3603 0.0333 -9.0116 x2 e-06 0.00051835 -0.017385 0.98637 0.0013159 1.6618 - 0.11876 0.0001278 - 7.6902 0.0012635 1.0415 0.31531 x3 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平方:f统计量vs.常数模型:12,p值= 0.000118

将稳健的线性模型适用于使用的数据'robustops'名称值对参数。

mdlr = fitlm (X, y,“RobustOpts”那'在')
MDLR =线性回归模型(鲁棒配合):Y〜1 + x1 + x2 + x3 + x4 + x5估计系数:估计系数pvalue __________ _________________________1.7516 0.03953 -2.0144 0.06953 -2.0144 0.0344670.97299×2 0.00088843 0.0012027 0.7387 0.47229×3 0.00015729 7.3202e-05 2.1487 0.049639 X4 0.0060468 0.013326 0.45375 0.65696 X5 6.8807e-05 7.0201e-05 0.98015 0.34365若干意见:20,错误自由度:14均方根误差:0.249 R-平方:0.775,调整R线:0.694 F统计与常数型号:9.64,P值= 0.000376

直观地检查两个模型的残差。

Tiledlayout(1,2)Nextdile Plotresids(MDL,“概率”)标题(“线性适应”)nextdile plotresiduals(MDLR,“概率”)标题('强大的契合')

来自健壮拟合(图的右半部分)的残差更接近于直线,除了一个明显的离群值。

找到离群值的索引。

异常值=查找(isoullier(mdlr.residuals.raw))
离群值= 1

绘制稳健贴合的观察的重量。

图b =条形图(mdlr.Robust.Weights);b.FaceColor ='平坦的';b.CData(例外:)=(。5 0 5);xticks(1:长度(mdlr.Residuals.Raw))包含('观察') ylabel ('重量')标题('强大适合权重')

强大的配合(紫色杆)中的异常值的重量远小于其他观察的重量。

迭代重复最小二乘的步骤

迭代加权最小二乘算法是这样的:

  1. 首先对权重进行初步估计,然后用加权最小二乘拟合模型。

  2. 计算调整后的残差。调整后的残差为

    R. adj. = R. 一世 1 - H 一世

    在哪里R.一世普通最小二乘是残差吗H一世最小二乘是否适合杠杆值。杠杆通过降低高杠杆数据点的权重来调整残差,这对最小二乘拟合有很大影响(参见Hat矩阵和杠杆)。

  3. 标准化残差。标准化调整残差由

    = R. adj. K. S. = R. 一世 K. S. 1 - H 一世

    在哪里K.是调谐常数吗S.误差项的标准偏差的估计是由s =疯狂/ 0.6745

    疯了是残留物中位数的中位数绝对偏离。常数0.6745使估计是对正态分布的估计。如果预测器数据矩阵XP.列,软件排除了最小的P.计算中位数时绝对偏差。

  4. 计算稳健权值W.一世作为…的函数你。例如,Bisquare权重由

    W. 一世 = { 1 - 一世 2 2 | 一世 | < 1 0. | 一世 | 1

  5. 估计强大的回归系数B.。权重修改参数估计的表达式B.如下

    B. = β ^ = X T. W. T. - 1 X T. W. y

    在哪里W.为对角权矩阵,X预测器是数据矩阵吗y是响应矢量。

  6. 估计加权最小二乘误差

    E. = σ. 1 N W. 一世 y 一世 - y ^ 一世 2 = σ. 1 N W. 一世 R. 一世 2

    在哪里W.一世权重,y一世为观察到的响应,ŷ一世是合适的回应吗R.一世是残差。

  7. 如果匹配收敛或达到最大迭代次数,迭代将停止。否则,通过返回到第二步来执行最小二乘拟合的下一次迭代。

也可以看看

|||

相关的话题