8.2 数据抽样

“抽样”对于数据分析和挖掘来说是一种常见的前期数据处理技术和阶段,之所以要采取抽样措施,主要原因在于如果数据全集的规模太大,针对数据全集进行分析运算不但会消耗更多的运算资源,还会显著增加运算分析的时间,甚至太大的数据量有时候会导致分析挖掘软件运行时崩溃。而采用了抽样措施,就可以显著降低这些负面的影响;另外一个常见的需要通过抽样来解决的场景就是:在很多小概率事件、稀有事件的预测建模过程中,比如信用卡欺诈事件,在整个信用卡用户中,属于恶意欺诈的用户只占0.2%甚至更少,如果按照原始的数据全集、原始的稀有占比来进行分析挖掘,0.2%的稀有事件是很难通过分析挖掘得到有意义的预测和结论的,所以对此类稀有事件的分析建模,通常会采取抽样的措施,即人为增加样本中的“稀有事件”的浓度和在样本中的占比。对抽样后得到的分析样本进行分析挖掘,可以比较容易地发现稀有事件与分析变量之间有价值、有意义的一些关联性和逻辑性。

在抽样的操作中,有下列一些思考点需要引起数据分析师的注意:

❑样本中输入变量(或自变量)的值域要与数据全集中输入变量(或自变量)的值域一致。如果自变量是连续型变量(Interval),样本中自变量的值域要与数据全集中的一致;如果自变量是类别型变量(Category),样本中自变量的种类要与数据全集中的保持一致。

❑样本中输入变量(或自变量)的分布要与数据全集中输入变量(或自变量)的分布保持一致,或者说至少要高度相似。无论自变量是连续型变量还是类别型变量,其在样本中的分布要能代表其在数据全集里的分布。

❑样本中因变量(或目标变量)的值域或者种类的分布,也要与数据全集中目标变量值域或者种类的分布保持一致,或者说要高度相似。

❑缺失值的分布。样本中缺失值的分布(频率)要与数据全集中缺失值的分布(频率)保持一致,或者说至少要高度相似。

❑针对稀有事件建模时要采用抽样措施。由于抽样所造成的目标事件在样本中的浓度被人为放大了,样本中的事件与非事件的比例与数据全集中两者的比例将不一致,所以在建模过程中,数据分析师要记得使用加权的方法恢复新样本对全体数据集的代表性。在目前主流的数据挖掘软件里,对这种加权恢复已经做了自动处理,这给数据分析师带来了很大的便利。

正因为数据分析师要对比样本与全集的一致性,所以在数据分析挖掘实践中,会发生多次抽样的情况,以决定合适的样本。