举一个具有启发性的例子
如果根据一天内很多人的吃饭记录如:
张三 早餐
李四 中餐
张三 晚餐
。。。
的数据,随机抽取10%进行统计
假设本来数据有s个人吃了1顿,d个人吃了2顿
那么吃两顿饭的人占全部人的比例应该是 d/(s +d)
s在抽样样本中有s/10,而d只有d/100是两条吃饭记录都选中,18d/100是只选中一个记录
所以样本结果变成了(d/100) / (d/100 +s/10+18d/100 )
也就是d / (10s+19d) 显然无论s,d取什么值都是和原来的数据的比例是不同的。
所以能找到一个保持统计特性的抽样方法在大量数据抽样挖掘中是非常有价值的
或者找到相关的抽样结果到原始数据的结果校正也是可以考虑的,不过在本例子中利用d / (10s+19d)求d/(s +d)是非常困难的
当然如果不怕麻烦可以抽出10%的用户的全部记录来进行统计来得到正确的答案,不过这样会很难受,必须要依靠哈希来判断用户记录是否被抽取
随着记录的增加,维持固定比例的用户的记录也是越来越困难的
所以常见的方法是将查询的关键字段作为主键然后按主键进行抽样来进行统计并得到结果