主要内容

使用强大的回归减少异常效果

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

为什么要使用强大的回归?

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

强大的回归使用称为迭代重新重量最小二乘的方法来为每个数据点分配权重。该方法对数据的小部分的大变化不太敏感。因此,强大的线性回归对异常值不太敏感而不是标准的线性回归。

迭代地重复最小二乘

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

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

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

比较标准和强大的最小二乘拟合的结果

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

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

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

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

mdl = fitlm(x,y)
MDL =线性回归模型:Y〜1 + x1 + x2 + x3 + x4 + x5估计系数:估计系数pvalue ___________ ______________________________561 0.03349 -2.3603 0.0349-06 0.98637 x20.0349-0.00051835 -0.01737 x20.033385 0.91349 -2.303.033385 0.91349 -2.303 -0.0.017385 0.91337 00.0013159 0.0012635 1.0415 0.31531×3 0.0001278 7.6902e-05 1.6618 0.11876×4 0.0078989 0.014 0.56421 0.58154 X5 0.00014165 7.3749e-05 1.9208 0.075365观测数:20,错误自由度:14均方根误差:0.262 R平方:0.811,调整R-Squared:0.743 F统计与常数型号:12,P值= 0.000118

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

mdlr = fitlm(x,y,'抢劫'那'在')
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 = BAR(MDLR.ROBUST.weights);B.Facecolor =.'平坦的';B.CDATA(异常值,:) = [.5 0 .5];XTICKS(1:长度(mdlr.residuals.raw))xlabel('观察')ylabel('重量') 标题('强大适合权重')

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

迭代重复最小二乘的步骤

迭代重复的最小二乘算法遵循此过程:

  1. 从重量的初始估计开始,并通过加权最小二乘拟合模型。

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

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

    在哪里R.一世是普通的最小二乘残差,以及H一世是最小二乘施用杠杆值。利用通过减少高杠杆数据点的重量来调整残差,这对最小二乘效果具有很大的影响(参见帽子矩阵和杠杆)。

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

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

    在哪里K.是调谐常量,S.是估计由误差术语给出的标准偏差s = mad / 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. 如果达到拟合收敛或最大迭代次数,则迭代停止。否则,通过返回第二步执行拟合最小二乘拟合的下一次迭代。

也可以看看

|||

相关话题