8.3 分析数据的规模有哪些具体的要求

“分析数据的规模”与8.2节介绍的“抽样”有很大的关联性,但是,抽样的目的主要是降低数据集的规模,而本节要探讨的“分析数据的规模”,主要是指用于数据分析挖掘建模时最起码的数据规模大小。在数据挖掘实践中,如果分析数据太少,是不适合进行有价值的分析挖掘的。那么,对于分析数据的规模有没有一个大致的经验判断呢?

分析数据的规模,重点是考量目标变量所对应的目标事件的数量。比如在银行信用卡欺诈预警模型里,目标事件就是实际发生了信用欺诈的案例或者涉嫌欺诈的信用卡用户,而目标事件的数量就是分析样本中实际的欺诈案例的数量或者涉嫌欺诈的信用卡的用户数量。一般情况下,数据挖掘建模过程会将样本划分为3个子样本集,分别为训练集(Training Set)、验证集(Validation Set)、测试集(Testing Set)。不过,在具体的挖掘实践中,根据样本数量的大小,有时候也可以只将样本划分为两个子集,即训练集和验证集,对于模型的实践验证,通常是通过另外的时间窗口的新数据来进行测试的。相对来说,训练集的样本数量要比验证集的数量更多。训练集的数据量大概应该占到样本总数据量的40%~70%。在理想的状况下,训练集里的目标事件的数量应该有1000个以上,因为在太少的目标事件样本基础上开发的模型很可能缺乏稳定性。但是,这些经验上的参考数据并不是绝对的,在数据挖掘的项目实践中数据分析师需要在这些经验值与实际的业务背景之间做出权衡或进行折中。比如,如果训练集里的目标事件数量少于1000个,只要分析师根据业务判断觉得可行也是可以进行分析挖掘的,只是需要更加关注模型的稳定性的检验。

另外,预测模型的自变量一般应控制在8~20个之间,因为太少的自变量会给模型的稳定性造成威胁,而任何一个自变量的缺失或者误差都可能引起模型结果的显著变动。但是,太多的自变量也会让模型因为复杂而变得不稳定。

前面说过,训练集里目标事件最好要在1000个以上,在此基础上,训练集样本的规模一般应该在自变量数量的10倍以上,并且被预测的目标事件至少是自变量数目的6~8倍。

正如之前所强调的,上述的参考数据源于经验,仅供参考。在数据挖掘实践中,数据分析师还应该综合考虑实际的业务背景和实际的数据质量、规模来进行综合的判断。