1700500058
数据挖掘与数据化运营实战:思路、方法、技巧与应用 8.2 数据抽样
1700500059
1700500060
“抽样”对于数据分析和挖掘来说是一种常见的前期数据处理技术和阶段,之所以要采取抽样措施,主要原因在于如果数据全集的规模太大,针对数据全集进行分析运算不但会消耗更多的运算资源,还会显著增加运算分析的时间,甚至太大的数据量有时候会导致分析挖掘软件运行时崩溃。而采用了抽样措施,就可以显著降低这些负面的影响;另外一个常见的需要通过抽样来解决的场景就是:在很多小概率事件、稀有事件的预测建模过程中,比如信用卡欺诈事件,在整个信用卡用户中,属于恶意欺诈的用户只占0.2%甚至更少,如果按照原始的数据全集、原始的稀有占比来进行分析挖掘,0.2%的稀有事件是很难通过分析挖掘得到有意义的预测和结论的,所以对此类稀有事件的分析建模,通常会采取抽样的措施,即人为增加样本中的“稀有事件”的浓度和在样本中的占比。对抽样后得到的分析样本进行分析挖掘,可以比较容易地发现稀有事件与分析变量之间有价值、有意义的一些关联性和逻辑性。
1700500061
1700500062
在抽样的操作中,有下列一些思考点需要引起数据分析师的注意:
1700500063
1700500064
❑样本中输入变量(或自变量)的值域要与数据全集中输入变量(或自变量)的值域一致。如果自变量是连续型变量(Interval),样本中自变量的值域要与数据全集中的一致;如果自变量是类别型变量(Category),样本中自变量的种类要与数据全集中的保持一致。
1700500065
1700500066
❑样本中输入变量(或自变量)的分布要与数据全集中输入变量(或自变量)的分布保持一致,或者说至少要高度相似。无论自变量是连续型变量还是类别型变量,其在样本中的分布要能代表其在数据全集里的分布。
1700500067
1700500068
❑样本中因变量(或目标变量)的值域或者种类的分布,也要与数据全集中目标变量值域或者种类的分布保持一致,或者说要高度相似。
1700500069
1700500070
❑缺失值的分布。样本中缺失值的分布(频率)要与数据全集中缺失值的分布(频率)保持一致,或者说至少要高度相似。
1700500071
1700500072
❑针对稀有事件建模时要采用抽样措施。由于抽样所造成的目标事件在样本中的浓度被人为放大了,样本中的事件与非事件的比例与数据全集中两者的比例将不一致,所以在建模过程中,数据分析师要记得使用加权的方法恢复新样本对全体数据集的代表性。在目前主流的数据挖掘软件里,对这种加权恢复已经做了自动处理,这给数据分析师带来了很大的便利。
1700500073
1700500074
正因为数据分析师要对比样本与全集的一致性,所以在数据分析挖掘实践中,会发生多次抽样的情况,以决定合适的样本。
1700500075
1700500076
1700500077
1700500078
1700500080
数据挖掘与数据化运营实战:思路、方法、技巧与应用 8.3 分析数据的规模有哪些具体的要求
1700500081
1700500082
“分析数据的规模”与8.2节介绍的“抽样”有很大的关联性,但是,抽样的目的主要是降低数据集的规模,而本节要探讨的“分析数据的规模”,主要是指用于数据分析挖掘建模时最起码的数据规模大小。在数据挖掘实践中,如果分析数据太少,是不适合进行有价值的分析挖掘的。那么,对于分析数据的规模有没有一个大致的经验判断呢?
1700500083
1700500084
分析数据的规模,重点是考量目标变量所对应的目标事件的数量。比如在银行信用卡欺诈预警模型里,目标事件就是实际发生了信用欺诈的案例或者涉嫌欺诈的信用卡用户,而目标事件的数量就是分析样本中实际的欺诈案例的数量或者涉嫌欺诈的信用卡的用户数量。一般情况下,数据挖掘建模过程会将样本划分为3个子样本集,分别为训练集(Training Set)、验证集(Validation Set)、测试集(Testing Set)。不过,在具体的挖掘实践中,根据样本数量的大小,有时候也可以只将样本划分为两个子集,即训练集和验证集,对于模型的实践验证,通常是通过另外的时间窗口的新数据来进行测试的。相对来说,训练集的样本数量要比验证集的数量更多。训练集的数据量大概应该占到样本总数据量的40%~70%。在理想的状况下,训练集里的目标事件的数量应该有1000个以上,因为在太少的目标事件样本基础上开发的模型很可能缺乏稳定性。但是,这些经验上的参考数据并不是绝对的,在数据挖掘的项目实践中数据分析师需要在这些经验值与实际的业务背景之间做出权衡或进行折中。比如,如果训练集里的目标事件数量少于1000个,只要分析师根据业务判断觉得可行也是可以进行分析挖掘的,只是需要更加关注模型的稳定性的检验。
1700500085
1700500086
另外,预测模型的自变量一般应控制在8~20个之间,因为太少的自变量会给模型的稳定性造成威胁,而任何一个自变量的缺失或者误差都可能引起模型结果的显著变动。但是,太多的自变量也会让模型因为复杂而变得不稳定。
1700500087
1700500088
前面说过,训练集里目标事件最好要在1000个以上,在此基础上,训练集样本的规模一般应该在自变量数量的10倍以上,并且被预测的目标事件至少是自变量数目的6~8倍。
1700500089
1700500090
正如之前所强调的,上述的参考数据源于经验,仅供参考。在数据挖掘实践中,数据分析师还应该综合考虑实际的业务背景和实际的数据质量、规模来进行综合的判断。
1700500091
1700500092
1700500093
1700500094
1700500096
数据挖掘与数据化运营实战:思路、方法、技巧与应用 8.4 如何处理缺失值和异常值
1700500097
1700500098
如果说前面的3节内容谈到的数据处理问题并不会在每个分析场景都能明显引起分析师的关注,那么本节讨论的“数据缺失和异常值”却是几乎在每个数据分析、挖掘实践中,分析师都会碰到的、最常见的数据问题。
1700500099
1700500101
8.4.1 缺失值的常见处理方法
1700500102
1700500103
在数据分析挖掘实践中,数据样本里的数据缺失是常见的现象,而这其中有的是数据存储错误造成的,有的是原始数据本身就是缺省的,比如用户登记的信息不全。在大多数情况下,数据分析师需要对缺失数据进行处理;在个别情况下,比如应用决策树算法的时候,该算法本身允许数据缺失值直接进入分析挖掘,因为在这种情况下缺失值本身已经被看做是一个特定的属性类别了。下列一些方法是数据分析师常用的处理数据缺失值的方法:
1700500104
1700500105
❑数据分析师首先应该知道数据缺失的原因,只有知根知底,才可以从容、正确地处理缺失值。不同数据的缺失有不同的原因,因此也应该有不同的解读和解决方法,而不应该一概而论,眉毛胡子一把抓。举例来说,如果用户问卷里的缺失值是因为被调查者漏掉了一个问题选项,那么这个缺失值代表了用户没有回答该问题;而一个信用卡激活日期的缺失,不能表明是“丢失”了信用卡的激活日期,按照系统的计算逻辑来看,凡是还没有激活的信用卡,其激活日期都是记为缺失的,即NULL;还有的缺失是因为系统本身的计算错误造成的,比如某个字段除以零,某个负数取对数等错误的数学运算。上述3种缺失场景有着完全不同的缺失原因,所代表的意义也不同,分析师只有真正找到了缺失的原因,才可以有的放矢,并采取相应的对策进行有效处理。
1700500106
[
上一页 ]
[ :1.700500057e+09 ]
[
下一页 ]