前段时间在做一个挖掘模型时,模型的特征决定了选择的数据是严重有偏的,怎样在这样的数据上进行抽样,得到能比较好地反映真实情况的数据样本是很关键的。自己对统计学仅仅限于大学课程的学习,很少做过实验,在做数据预处理走了一些弯路。下面对数据挖掘中的抽样发表一点浅见。
在数据挖掘的数据预处理过程中,宽表数据往往是几十万,上百万级记录的。要对所有数据进行训练,时间上很难满足要求,因此对数据进行抽样就很必要了,不同的数据抽样方法对训练结果模型的精度有很大影响。可以考虑用一些数据浏览工具,统计工具对数据分布做一定的探索,在对数据做充分的了解后,再考虑采用合适的数据抽样方法,抽取样本数据进行建模实验。对一般的模型,比如客户细分,主要是数据的聚类,我在做抽样时用了随机抽样,也可以考虑整群抽样;而做离网预警模型或者金融欺诈预测模型时,数据分布是严重有偏的,而且这种有偏数据对这类模型来说恰恰是至关重要的。一般采用分层抽样和过度抽样结合有不错的效果,分层抽样和过度抽样的区别自己也不是很了解,现在只能是做个概述了。
几种常用的抽样方法:
1.简单随机抽样(simple random sampling)
将所有调查总体编号,再用抽签法或随机数字表随机抽取部分观察数据组成样本。
优点:操作简单,均数、率及相应的标准误计算简单。
缺点:总体较大时,难以一一编号。
2.系统抽样(systematic sampling)
又称机械抽样、等距抽样,即先将总体的观察单位按某一顺序号分成n个部分,再从第一部分随机抽取第k号观察单位,依次用相等间距从每一部分各抽取一个观察单位组成样本。
优点:易于理解、简便易行。
缺点:总体有周期或增减趋势时,易产生偏性。
3.整群抽样(cluster sampling)
先将总体依照一种或几种特征分为几个子总体(类.群),每一个子总体称为一层,然后从每一层中随机抽取一个子样本,将它们合在一起,即为总体的样本,称为分层样本
优点:便于组织、节省经费。
缺点:抽样误差大于单纯随机抽样。
4.分层抽样(stratified sampling)
将总体样本按其属性特征分成若干类型或层,然后在类型或层中随机抽取样本单位,合起来组成样本。有按比例分配和最优分配(过度抽样是否就是最优分配方法?)两种方案。
特点:由于通过划类分层,增大了各类型中单位间的共同性,容易抽出具有代表性的调查样本。该方法适用于总体情况复杂,各类别之间差异较大(比如金融客户风险/非风险样本的差异),类别较多的情况。
优点:样本代表性好,抽样误差减少。