<div></div><p> 异常值,指的是那些远离绝大多数样本点的特殊群体,也称为离群点。通常这样的数据点在数据集中都表现出不合理的特性。<font color="#f9963b">如果忽视这些异常值,在某些建模场景下就会导致结论的偏差(如线性回归模型、K均值聚类等),所以在数据的探索过程中,有必要识别出这些异常值并处理好它们。</font><br/></p><hr/><section><section><p><strong>01</strong> 异常值的检测方法</p></section></section><section><section><section><section><section><section><section><section><section></section></section></section></section><section><section><section><section></section></section></section></section></section></section></section></section></section><section><p>通常,异常值的检测可以借助于数据描述、图形法(如箱线图、正态分布图)和建模法(如线性回归、聚类算法)等方法,接下来将结合平台分享这些操作。</p><p><br/></p><p><strong>1.数据描述</strong></p><p>进入<font color="#f9963b">基线分析<数据描述</font>,分析之后主要是看数据中的最大值、最小值和四分位值,依据专业知识或个人经验,判断是否超过了理论范围值,数据中有没有明显不符合实际情况的错误。</p></section><section><section></section></section><section><p><img src="https://files.xsmartanalysis.com/article/images/3800c9a87f3811ecbdf400163e132610.jpg" style="max-width:100%;" contenteditable="false"/></p></section><section><section><section><section><section><section></section></section></section></section><section><section><section><section></section></section></section></section><section><section><section><section></section></section></section></section></section></section><section><p><br/></p></section><section><p><strong>2.图形法</strong></p><p><strong>1)箱型图</strong></p><p>进入<font color="#f9963b">表制作<比较图功能</font>,在绘图中选择“箱型图”,分析之后如下图所示,会展示数据的上下界、上下四分位数、中位数等,我们把超过上下界的值称为异常值。</p><p><strong>上界 =上四分位数 + k(上四分位数 - 下四分位数)</strong></p><p><strong>下界 =下四分位数 - k(上四分位数 - 下四分位数)</strong></p><p>当k=1.5时表示中度异常;当k=3时表示高度异常。箱形图中默认k=1.5。</p><p><font color="#8baa4a">(说明:这个k值也是平台中“数据整理”下面的“异常值处理”功能中的“异常偏离值处理”方法中的偏离比例。)</font></p></section><section><section></section></section><section><p><img src="https://files.xsmartanalysis.com/article/images/4cba603e7f3811ec914700163e132610.jpg" style="max-width:100%;" contenteditable="false"/></p></section><section><p><strong>2)散点图</strong><br/></p><p>进入“图表制作”下面的“点线图”功能,在绘图中选择“散点图”,分析之后如下图所示。</p><p><font color="#f9963b">散点图通过展示两组数据的位置关系,可以清晰直观地看出哪些值是离群值。</font>异常值会改变数据间的关系,通常在研究数据关系,如进行回归分析前,都会先做散点图观察数据中是否存在异常值。</p></section><section><section></section></section><section><p><img src="https://files.xsmartanalysis.com/article/images/65b69a447f3811ec914700163e132610.png" style="max-width:100%;" contenteditable="false"/></p></section><section><p><strong>3)正态分布图</strong></p><p>进入“基线分析”下面的“正态性检验”功能,当数据服从正态分布的时候此功能使用比较多,在这种情况下,异常值被定义为一组测定值中与平均值的偏差超过3倍标准差的值。</p><p>在数据处理的时候,按照正态分布的性质,三个标准差以外(概率小于千分之三)的数据都可以被看作是错误的数据从而排除掉。</p></section><section><section></section></section><section><p><img src="https://files.xsmartanalysis.com/article/images/6b0333867f3811ecbdf400163e132610.jpg" style="max-width:100%;" contenteditable="false"/></p></section><section><p><strong>4)线性回归</strong></p><p>进入<font color="#f9963b">智能AI分析<机器学习回归</font>功能,回归方法选择“线性回归”,在线性回归分析中,如果样本中出现异常值,那么会影响回归模型的建立、参数的估计以及预测。</p><p>所以,回归分析中异常值的研究一直是统计学中的热点问题。我们可以利用残差分布情况来判断是否存在异常值。</p></section><section><section></section></section><section><p><img src="https://files.xsmartanalysis.com/article/images/807f56407f3811ecbdf400163e132610.png" style="max-width:100%;" contenteditable="false"/></p></section><section><p><strong>5)聚类算法</strong></p><p>进入智能AI分析<机器学习聚类功能,用聚类方式划分数据为不同的簇,计算簇内每个点对于簇中心的相对距离(相对距离 = 点到簇中心的距离/这个簇所有点到簇中心距离的中位数),根据分析结果可以看出孤立点。</p></section><section><section></section></section><section><p><img src="https://files.xsmartanalysis.com/article/images/857519fa7f3811ec914700163e132610.jpg" style="max-width:100%;" contenteditable="false"/></p></section><section><section><section><section><section><section><section><section><section></section></section></section></section><section><section><section><section></section></section></section></section><section><section><section><section></section></section></section></section></section></section></section></section></section><section><section><section><section><section><section></section></section></section></section><section><section><section><section></section></section></section></section></section></section><section><section><section><section><section><section><section><section></section></section></section></section><section><section><section><section></section></section></section></section><section><section><section><section></section></section></section></section></section></section></section></section><section><section><p><strong>02</strong> 异常值处理</p></section></section><section><section><section><section><section><section><section><section><section></section></section></section></section><section><section><section><section></section></section></section></section></section></section></section></section></section><section><p><strong>1.直接将该条观测删除</strong><br/></p><p>这种方法简单易行,但缺点也很明显,首先我们经常会遇到的情况是观测值很少,这种删除会造成样本量不足,<font color="#f9963b">其次,直接删除的观测值较多时,也可能会改变变量的原有分布,从而造成统计模型不够稳定。</font></p><p><br/></p><p><strong>2.暂且保留,待结合整体模型综合分析</strong></p><p>通常我们观测到的异常值,有时在对于整个模型而言,其异常性质并没有观测到的明显,因此最好综合分析一下。</p><p>像回归分析,我们经常利用残差分布信息来判断模型优劣,残差有没有超出经验范围(3倍标准差),呈现什么分布等,另外对于整个模型而言,会有一些指标像R方、均分误差等可以提供某条观测或整体的拟合信息,这些指标也会提示分析人员的异常值信息。<font color="#f9963b">如果对于整个模型而言,并不是很明显时,建议保留。</font></p><p><br/></p><p><strong>3.如果样本量很小,可以考虑使用均值或其他统计量取代</strong></p><p>这不失为一种折中的方法,大部分的参数方法是针对均值来建模的,用均值取代,实际上克服了丢失样本的缺陷,但却丢失了样本“特色”,可以说是不大不小的错误。</p><p>当然如果是时序数据,用于取代的统计量,可供选择的范围就会多一些,可以针对序列选择合适的统计量取代异常值,也较少存在上述问题。</p><p><br/></p><p><strong>4.将其视为缺失值,利用统计模型填补</strong></p><p>该方法的好处是可以利用现有变量的信息,对异常值(缺失值)填补。不过这里最好要视该异常值(缺失值)的特点而定,例如需视是完全随机缺失、随机缺失还是非随机缺失的不同情况而定。</p><p><br/></p></section><section><section><section><section><section><section><section><section><section></section></section></section></section><section><section><section><section></section></section></section></section><section><section><section><section></section></section></section></section></section></section></section></section></section><section><section><section><section><section><section></section></section></section></section><section><section><section><section></section></section></section></section></section></section><section><section><section><section><section><section><section><section></section></section></section></section><section><section><section><section></section></section></section></section><section><section><section><section></section></section></section></section></section></section></section></section><section></section><section><section><p><strong>03</strong> 平台异常值处理技术</p></section></section><section><section><section><section><section><section><section><section><section></section></section></section></section><section><section><section><section></section></section></section></section></section></section></section></section></section><section><p>进入<font color="#f9963b">数据整理<异常值处理</font>功能,平台提供两种所属方法选择分别为:异常偏离值处理和非数值异常处理,可以根据数据属性选择不同的方法。</p><p>可以看出平台主要用填补的方法对异常值进行处理,填补方法有:<font color="#f9963b">中位数填补、均值填补、众数填补、零值填补、空值填补。</font></p><p>对于想通过建模的方法对异常值进行处理,可以先通过空值填补,其操作界面如下图所示,然后进行结果保存,最后在“智能数据填补”功能里选择建模的方法对数据进行填补。</p><p><img src="https://files.xsmartanalysis.com/article/images/ac4270327f3811ecbdf400163e132610.jpg" style="max-width:100%;" contenteditable="false"/></p></section><section><section></section></section>