R语言离群值处理分析

参考 :http://tecdat.cn/?p=3415

===测试

数据中的异常值可能会使预测失真并影响准确性,尤为是在回归模型中,若是您没有正确检测并处理它们,那么它们会影响精度spa

为何异常值检测很重要?

在真实观察中处理或改变异常值/极端值不是标准操做程序。可是,了解它们对预测模型的影响相当重要。留待调查人员判断是否须要治疗异常值以及如何去作。对象

那么,为何识别极端值很重要?由于,它能够大大偏倚/改变合适的估计和预测。让我使用cars数据集来讲明这一点。blog

为了更好地理解异常值的含义,我将比较具备和不具备异常值的汽车数据集的简单线性回归模型的拟合。为了清楚地区分效果,我手动将极端值引入原始数据集。而后,我预测这两个数据集。rem

检测异常值

单变量方法

对于给定的连续变量,异常值是那些位于1.5 * I Q R以外的观测值,其中IQR,“四分位数间距”是第75和第25个四分位之间的差值。在盒子下面看看胡须外的点。get

双变量方法

可视化X和Y的框图,用于分类Xit

什么是推论?盒子水平的变化代表,Month彷佛有影响,ozone_reading而Day_of_week没有。相应分类层级中的任何异常值都显示为盒外晶须外的点。class

你能够在箱形图中看到几个异常值,以及这个值是如何ozone_reading增长的pressure_height。这很清楚。变量

多变量模型方法

基于仅仅一个(至关不重要)的特征声明观察结果为异常值可能会致使不切实际的推论。当你必须决定一个单独的实体(由行或观察值表示)是不是极值时,最好集体考虑重要的特征(X)。输入Cook的距离。可视化

库克距离

库克距离是一个关于给定回归模型计算的度量,所以仅受模型中包含的X个变量的影响。可是,厨师的距离是什么意思?它计算每一个数据点(行)对预测结果的影响。

如今让咱们从原始数据中找出有影响的行。若是你提取并检查每个有影响的行(从下面的输出),你将可以推断出为何该行变得有影响力。模型中包含的X个变量之一可能具备极端值。

异常值测试

该功能outlierTest从car包中给出了基于给定的模型最极端的观察。如下是基于mod咱们刚建立的线性模型对象的示例。

相关文章
相关标签/搜索