导航:首页 > 数据处理 > 异常数据如何调查处理方式

异常数据如何调查处理方式

发布时间:2023-03-05 03:56:02

Ⅰ 怎么对统计数据的异常值进行判断和处理

异常值也称离群值,具体地说,判断标准依据实际情况,根据业务知识及实际需要而定。

上界=75%分位数+(75%分位数-25%分位数)*1.5

下界=25%分位数- (75%分位数-25%分位数)*1.5

比上界大的和比下界小的都是异常值。

(1)异常数据如何调查处理方式扩展阅读:

取检出水平α为5%,剔除水平α’为1%,按双侧情形检验,从附表中查得检出水平α对应格拉布斯检验临界值G0.975,剔除水平α’对应格拉布斯检验临界值G0.995。

若Gn>Gn’,且Gn>G0.975,则判断fn为异常值,否则,判断无异常值;

若Gn>Gn’,且Gn>G0.995,则判断fn为高度异常值,可考虑剔除;

若Gn’>Gn,且Gn’>G0.975,则判断f1为异常值,否则,判断无异常值;

若Gn’>Gn,且Gn’>G0.995,则判断f1为高度异常值,可考虑剔除;

Ⅱ ​一文看懂数据清洗:缺失值、异常值和重复值的处理

作者:宋天龙

如需转载请联系华章 科技

数据缺失分为两种:一种是 行记录的缺失 ,这种情况又称数据记录丢失;另一种是 数据列值的缺失 ,即由于各种原因导致的数据记录中某些列的值空缺。

不同的数据存储和环境中对于缺失值的表示结果也不同,例如,数据库中是Null,Python返回对象是None,Pandas或Numpy中是NaN。

在极少数情况下,部分缺失值也会使用空字符串来代替,但空字符串绝对不同于缺失值。从对象的实体来看,空字符串是有实体的,实体为字符串类型;而缺失值其实是没有实体的,即没有数据类型。

丢失的数据记录通常无法找回,这里重点讨论数据列类型缺失值的处理思路。通常有4种思路。

1. 丢弃

这种方法简单明了,直接删除带有缺失值的行记录(整行删除)或者列字段(整列删除),减少缺失数据记录对总体数据的影响。 但丢弃意味着会消减数据特征 ,以下任何一种场景都不宜采用该方法。

2. 补全

相对丢弃而言,补全是更加常用的缺失值处理方式。通过一定的方法将缺失的数据补上,从而形成完整的数据记录,对于后续的数据处理、分析和建模至关重要。常用的补全方法如下。

3. 真值转换法

在某些情况下,我们可能无法得知缺失值的分布规律,并且无法对于缺失值采用上述任何一种补全方法做处理;或者我们认为数据缺失也是一种规律,不应该轻易对缺失值随意处理,那么还有一种缺失值处理思路—真值转换。

该思路的根本观点是, 我们承认缺失值的存在,并且把数据缺失也作为数据分布规律的一部分 ,将变量的实际值和缺失值都作为输入维度参与后续数据处理和模型计算中。但是变量的实际值可以作为变量值参与模型计算,而缺失值通常无法参与运算,因此需要对缺失值进行真值转换。

以用户性别字段为例,很多数据库集都无法对会员的性别进行补足,但又舍不得将其丢弃掉,那么我们将选择将其中的值,包括男、女、未知从一个变量的多个值分布状态转换为多个变量的真值分布状态。

然后将这3列新的字段作为输入维度替换原来的1个字段参与后续模型计算。

4. 不处理

在数据预处理阶段,对于具有缺失值的数据记录不做任何处理,也是一种思路。这种思路主要看后期的数据分析和建模应用, 很多模型对于缺失值有容忍度或灵活的处理方法 ,因此在预处理阶段可以不做处理。

常见的能够自动处理缺失值的模型包括:KNN、决策树和随机森林、神经网络和朴素贝叶斯、DBSCAN(基于密度的带有噪声的空间聚类)等。这些模型对于缺失值的处理思路是:

在数据建模前的数据归约阶段,有一种归约的思路是 降维 ,降维中有一种直接选择特征的方法。假如我们通过一定方法确定带有缺失值(无论缺少字段的值缺失数量有多少)的字段对于模型的影响非常小,那么我们根本就不需要对缺失值进行处理。

因此,后期建模时的字段或特征的重要性判断也是决定是否处理字段缺失值的重要参考因素之一。

对于缺失值的处理思路是先通过一定方法找到缺失值,接着分析缺失值在整体样本中的分布占比,以及缺失值是否具有显着的无规律分布特征,然后考虑后续要使用的模型中是否能满足缺失值的自动处理,最后决定采用哪种缺失值处理方法。

在选择处理方法时,注意投入的时间、精力和产出价值,毕竟,处理缺失值只是整个数据工作的冰山一角而已。

在数据采集时,可在采集端针对各个字段设置一个默认值。以MySQL为例,在设计数据库表时,可通过default指定每个字段的默认值,该值必须是常数。

在这种情况下,假如原本数据采集时没有采集到数据,字段的值应该为Null,虽然由于在建立库表时设置了默认值会导致“缺失值”看起来非常正常,但本质上还是缺失的。对于这类数据需要尤其注意。

异常数据是数据分布的常态,处于特定分布区域或范围之外的数据通常会被定义为异常或“噪音”。产生数据“噪音”的原因很多,例如业务运营操作、数据采集问题、数据同步问题等。

对异常数据进行处理前,需要先辨别出到底哪些是真正的数据异常。从数据异常的状态看分为两种:

大多数数据挖掘或数据工作中,异常值都会在数据的预处理过程中被认为是噪音而剔除,以避免其对总体数据评估和分析挖掘的影响。但在以下几种情况下,我们无须对异常值做抛弃处理。

1. 异常值正常反映了业务运营结果

该场景是由业务部门的特定动作导致的数据分布异常,如果抛弃异常值将导致无法正确反馈业务结果。

例如:公司的A商品正常情况下日销量为1000台左右。由于昨日举行优惠促销活动导致总销量达到10000台,由于后端库存备货不足导致今日销量又下降到100台。在这种情况下,10000台和100台都正确地反映了业务运营的结果,而非数据异常案例。

2. 异常检测模型

异常检测模型是针对整体样本中的异常数据进行分析和挖掘,以便找到其中的异常个案和规律,这种数据应用围绕异常值展开,因此异常值不能做抛弃处理。

异常检测模型常用于客户异常识别、信用卡欺诈、贷款审批识别、药物变异识别、恶劣气象预测、网络入侵检测、流量作弊检测等。在这种情况下,异常数据本身是目标数据,如果被处理掉将损失关键信息。

3. 包容异常值的数据建模

如果数据算法和模型对异常值不敏感,那么即使不处理异常值也不会对模型本身造成负面影响。例如在决策树中,异常值本身就可以作为一种分裂节点。

数据集中的重复值包括以下两种情况:

去重是重复值处理的主要方法,主要目的是保留能显示特征的唯一数据记录。但当遇到以下几种情况时,请慎重(不建议)执行数据去重。

1. 重复的记录用于分析演变规律

以变化维度表为例。例如在商品类别的维度表中,每个商品对应的同1个类别的值应该是唯一的,例如苹果iPhone7属于个人电子消费品,这样才能将所有商品分配到唯一类别属性值中。但当所有商品类别的值重构或升级时(大多数情况下随着公司的发展都会这么做),原有的商品可能被分配了类别中的不同值。如下表所示展示了这种变化。

此时,我们在数据中使用Full join做跨重构时间点的类别匹配时,会发现苹果iPhone7会同时匹配到个人电子消费品和手机数码2条记录。对于这种情况,需要根据具体业务需求处理。

2. 重复的记录用于样本不均衡处理

在开展分类数据建模工作时,样本不均衡是影响分类模型效果的关键因素之一。解决分类方法的一种方法是对少数样本类别做简单过采样,通过随机过采样,采取简单复制样本的策略来增加少数类样本。

经过这种处理方式后,也会在数据记录中产生相同记录的多条数据。此时,我们不能对其中的重复值执行去重操作。

3. 重复的记录用于检测业务规则问题

对于以分析应用为主的数据集而言,存在重复记录不会直接影响实际运营,毕竟数据集主要是用来做分析的。

但对于事务型的数据而言, 重复数据可能意味着重大运营规则问题 ,尤其当这些重复值出现在与企业经营中与金钱相关的业务场景时,例如:重复的订单、重复的充值、重复的预约项、重复的出库申请等。

这些重复的数据记录通常是由于数据采集、存储、验证和审核机制的不完善等问题导致的,会直接反映到前台生产和运营系统。以重复订单为例:

因此,这些问题必须在前期数据采集和存储时就通过一定机制解决和避免。如果确实产生了此类问题,那么数据工作者或运营工作者可以基于这些重复值来发现规则漏洞,并配合相关部门,最大限度地降低由此而带来的运营风险。

本文摘编自《Python数据分析与数据化运营》(第2版),经出版方授权发布。

Ⅲ 如何剔除数据中的异常值

剔除数据中的异常值的方法:

一、异常值检测

异常值的检验有很多种方法,最常见的是图示法,也有使用分析方法进行探索。

箱盒图:实验研究时经常使用,非常直观的展示出异常数据。

散点图:研究X和Y的关系时,可直观展示查看是否有异常数据。

描述分析:可通过最大最小值等各类指标大致判断数据是否有异常。

其它:比如结合正态分布图,频数分析等判断是否有异常值。

二、异常值判定

上述已经说明异常值会带来严重的影响,扭曲数据结论等。那么首先需要设定异常值的标准,然后再对其进行处理。异常值的判定标准并不统一,更多是通过人为标准进行设定,SPSSAU提供以下几类判定规则:

1、设置为Null值;此类处理最简单,而且绝大多数情况下均使用此类处理;直接将异常值“干掉”,相当于没有该异常值。如果异常值不多时建议使用此类方法。

2、填补;如果异常值非常多时,则可能需要进行填补设置,SPSSAU共提供平均值,中位数,众数和随机数共四种填补方式。建议使用平均值填补方式。

Ⅳ 怎么处理缺失值/异常值

https://www.hu.com/question/58230411?sort=created
https://blog.csdn.net/Forlogen/article/details/89534235

(1)随机丢失(MAR,Missing at Random)(数据丢失的概率与丢失的数据本身无关,而依赖于其他完全变量(无缺失变量))

随机丢失意味着数据丢失的概率与丢失的数据本身无关,而仅与部分已观测到的数据有关。也就是说,数据的缺失不是完全随机的,该类数据的缺失依赖于其他完全变量。

(2)完全随机丢失(MCAR,Missing Completely at Random)(数据缺失完全随机事件,无依赖关系)

数据的缺失是完全随机的,不依赖于任何不完全变量或完全变量,不影响样本的无偏性。简单来说,就是数据丢失的概率与其假设值以及其他变量值都完全无关。

(3)非随机丢失(MNAR,Missing not at Random)

数据的缺失与不完全变量自身的取值有关。分为两种情况:缺失值取决于其假设值(例如,高收入人群通常不希望在调查中透露他们的收入);或者,缺失值取决于其他变量值(假设基础数据很正常,也无临床症状,医生可能就觉得无需进一步检查,所以会有数据缺失)。

在前两种情况下可以根据其出现情况删除缺失值的数据,同时,随机缺失可以通过已知变量对缺失值进行估计。

在第三种情况下,删除包含缺失值的数据可能会导致模型出现偏差,同时,对数据进行填充也需要格外谨慎。

如果一个病人的体温测量值是有时缺失的,其原因是医生觉得病得太重的病人不需要量体温,那这个缺失显然不是MAR或者MCAR的。对于离散型特征,如果将特征中的缺失值单独编码成一个独立的类别(比如missing),而这个missing类别训练出来后对response有预测作用,那么这个特征中的缺失行为基本不是MAR或者MCAR的。

(1)generative methods:这些方法主要依赖于EM算法和深度学习,如DAE、GAN等
(2)discriminative methods:如MICE、MissForest、matrix completion等

目前的生成式填补算法存在着一些缺点,它们是以一种基于对数据分布的先验假设的方法,当数据中含有混合类别和连续变量时,它的泛化能力就会很差。DAE在一定程度上解决了这个问题,但是它在训练的过程中需要完整的数据集,在很多情况下,缺失的数据部分在一定程度上反映了完整数据集的内在结构信息,所以获取到完整的数据集是不太可能的。DAE的另一种方法允许使用不完整的数据集进行训练,但是它只能根据观察到的部分来表示数据。而使用DCGANs来完成图像填补的算法,同样需要完整的数据集来训练判别器。

难点:如果其他变量和缺失变量无关,则预测的结果无意义。如果预测结果相当准确,则又说明这个变量是没必要加入建模的。一般情况下,介于两者之间。

方法 0(最简单粗暴):在构建模型时忽略异常值。 如果缺失数据量少的话

方法1(快速简单但效果差):把数值型(连续型)变量中的缺失值用其所对应的类别中的中位数替换。把描述型(离散型)变量缺失的部分用所对应类别中出现最多的数值替代。

方法2(耗时费力但效果好):虽然依然是使用中位数和出现次数最多的数来进行替换,方法2引入了权重。即对需要替换的数据先和其他数据做相似度测量也就是下面公式中的Weight,在补全缺失点是相似的点的数据会有更高的权重W。

方法3 (类xgboost):把缺失值当做稀疏矩阵来对待,本身的在节点分裂时不考虑的缺失值的数值。缺失值数据会被分到左子树和右子树分别计算损失,选择较优的那一个。如果训练中没有数据缺失,预测时出现了数据缺失,那么默认被分类到右子树。这样的处理方法固然巧妙,但也有风险:即我们假设了训练数据和预测数据的分布相同,比如缺失值的分布也相同,不过直觉上应该影响不是很大:)

方法4 (回归):基于完整的数据集,建立回归方程。对于包含空值的对象,将已知属性值代入方程来估计未知属性值,以此估计值来进行填充。当变量不是线性相关时会导致有偏差的估计。

方法5 (Kmeans)先根据欧式距离或相关分析来确定距离具有缺失数据样本最近的K个样本,将这K个值加权平均来估计该样本的缺失数据。

方法6 (离散化)为缺失值定制一个特征值比如,男/女/缺失 分别对应[0/1,0/1,0/1]=>[0,0,1] 这种onehot编码,特征离散化后加入计算。

方法1(AutoEncoder系列):在训练的时候使用0作为缺失值,相当于不激活边,在输出的时候不论输出了什么都强行置为0,防止反向传播的时候影响到边的权重。

方法2 GAN(GAIN),目前的SOTA

方法1(MissForest):对于一个有n个特征的数据来说,其中特征T有缺失值,我们就把特征T当作标签,其他的n-1个特征和原本的标签组成新的特征矩阵。那对于T来说,它没有缺失的部分,就是我们的Y_test,这部分数据既有标签也有特征,而它缺失的部分,只有特征没有标签,就是我们需要预测的部分。

那如果数据中除了特征T之外,其他特征也有缺失值怎么办?答案是遍历所有的特征,从缺失最少的开始进行填补(因为填补缺失最少的特征所需要的准确信息最少)。

填补一个特征时,先将其他特征的缺失值若为连续型值可用中位数、平均数代替,离散可用众数代替,每完成一次回归预测,就将预测值放到原本的特征矩阵中,再继续填补下一个特征。每一次填补完毕,有缺失值的特征会减少一个,所以每次循环后,需要用0来填补的特征就越来越少。当进行到最后一个特征时(这个特征应该是所有特征中缺失值最多的),已经没有任何的其他特征需要用0来进行填补了,而我们已经使用回归为其他特征填补了大量有效信息,可以用来填补缺失最多的特征。

方法2(matrix factorization):矩阵分解

然后梯度下降一把梭

“年收入”:商品推荐场景下填充平均值,借贷额度场景下填充最小值;
“行为时间点”:填充众数;
“价格”:商品推荐场景下填充最小值,商品匹配场景下填充平均值;
“人体寿命”:保险费用估计场景下填充最大值,人口估计场景下填充平均值;
“驾龄”:没有填写这一项的用户可能是没有车,为它填充为0较为合理;
”本科毕业时间”:没有填写这一项的用户可能是没有上大学,为它填充正无穷比较合理;
“婚姻状态”:没有填写这一项的用户可能对自己的隐私比较敏感,应单独设为一个分类,如已婚1、未婚0、未填-1。

主流的机器学习模型千千万,很难一概而论。但有一些经验法则(rule of thumb)供参考:
1)树模型对于缺失值的敏感度较低,大部分时候可以在数据有缺失时使用。
2)涉及到距离度量(distance measurement)时,如计算两个点之间的距离,缺失数据就变得比较重要。因为涉及到“距离”这个概念,那么缺失值处理不当就会导致效果很差,如K近邻算法(KNN)和支持向量机(SVM)。
3)线性模型的代价函数(loss function)往往涉及到距离(distance)的计算,计算预测值和真实值之间的差别,这容易导致对缺失值敏感。
4)神经网络的鲁棒性强,对于缺失数据不是非常敏感,但一般没有那么多数据可供使用。
5)贝叶斯模型对于缺失数据也比较稳定,数据量很小的时候首推贝叶斯模型。

总结来看,对于有缺失值的数据在经过缺失值处理后:

Ⅳ 用什么方法剔除不合理调查数据

剔除异常数据的方法有4d法、X士25法等。应用这些方法都有一定的条件,如样本数据须来自正态总体(若来自对数正态总体,数据转换成对数),且须是小样本。当样本容量较大时,用这些方法来剔除异常数据就不合理,不妥当。 以样本容量为 100,用X士25法剔除异常数据为例。此法是这样进行的:求出样本的平均值X和标准差S,然后将样本中落在(X士25)范围外〔主〕的数据作为异常数据而剔除。 倘若样本中只有一个数据(或数据不多,即是小样本),这个方法是确实可行实的。因为在一次观察中,得到一个数据,其值落在(X士25)范围外,这意味着发生了小概率事件。根据统计学上的“小概率事件在一次试验中实际上不可能出现”的原理,从而认为此数据不是来自我们所研究的总体,而是来自污染土壤的总体,因而是异常数据而加以剔除。 如果样本中有100个数据,在这100个数据中出现落在(X士25)范围外的数据就不是小概率事件了。它的概率可如下计算〔2〕:率事件,把样本中落在(X士

阅读全文

与异常数据如何调查处理方式相关的资料

热点内容
市场半边天是什么意思 浏览:46
真正的名牌服装批发市场在哪里 浏览:156
菜市场买花甲怎么选 浏览:752
微信小程序奥特曼抽卡游戏王的激活码是什么 浏览:128
数据线灰蓝是什么意思 浏览:142
天猫产品如何查总销量 浏览:183
如何查询银行贵金属交易信息 浏览:709
地区代理商有什么条件 浏览:947
店铺交易税怎么减少 浏览:243
产品通孔什么意思 浏览:704
半永久纹绣怎么开拓市场 浏览:400
产品担当薪水如何 浏览:125
为什么注册商标要找代理公司 浏览:75
交易策略需要实盘多久才有效 浏览:544
公司跨省地址代理变更多少钱 浏览:205
产品保修怎么去 浏览:706
代理期间工资如何发放 浏览:907
学而思程序bug怎么反馈 浏览:769
怎么代理一个早餐店 浏览:504
信息存储技术的发展历程哪些 浏览:415