如何从大型整体数据集中制作具有代表性的样本集?

机器算法验证 采样 样本量 验证
2022-03-19 16:46:09

创建代表整个人口(具有已知置信水平)的样本集的统计技术是什么?

还,

  • 如果样本适合整个数据集,如何验证?
  • 是否有可能,无需解析整个数据集(可能是数十亿条记录)?
2个回答

如果您不想解析整个数据集,那么您可能无法使用分层抽样,所以我建议采用大的简单随机抽样通过抽取随机样本,您可以确保样本平均可以代表整个数据集,并且标准误差和置信区间等精度的标准统计度量将告诉您样本估计值可能与总体值相差多远是,因此没有真正需要验证样本是否代表总体,除非您有一些真正随机抽样的问题。

一个简单的随机样本有多大?好吧,样本越大,您的估计就越精确。由于您已经拥有数据,因此传统的样本量计算并不真正适用——您可以尽可能多地使用数据集来进行计算。除非您打算进行一些复杂的分析,这会使计算时间成为问题,否则一种简单的方法是使简单的随机样本尽可能大,以便在您的 PC 上进行分析,而不会导致分页或其他内存问题。一条经验法则是将数据集的大小限制为不超过计算机 RAM 的一半,以便有空间来操作它并为操作系统和其他一些较小的应用程序(例如编辑器和 Web 浏览器)留出空间)。另一个限制是 32 位 Windows 操作系统不允许任何单个应用程序的地址空间大于字节 = 2.1GB,因此如果您使用的是 32 位 Windows,1GB 可能是数据集大小的合理限制。231

然后,在给定每个观察值有多少个变量以及每个变量占用多少字节的情况下,计算可以采样多少个观察值是一个简单的算术问题。

对于第二个问题,您可能会问:“数据是如何输入的?” 如果您认为数据是以相对任意的方式输入的(即,独立于可能影响您使用数据的最终分析的任何可观察或不可观察的观察特征),那么您可能会考虑前 500 万,例如,或者许多您喜欢使用,作为完整样本的代表,并从该组中随机选择以创建您可以使用的样本。

要比较两个经验分布,您可以使用 qq-plots 和两个样本 Kolmogorov-Smirnov 非参数检验来检验分布的差异(例如,参见:http ://en.wikipedia.org/wiki/Kolmogorov%E2 %80%93Smirnov_test)。在这种情况下,您将根据“完整”数据集中该变量的分布来测试样本中每个变量的分布(同样,它可能只是来自完整样本的 500 万个观测值)。KS 检验可能会受到低功效的影响(即,很难拒绝组之间没有差异的原假设),但是,有了这么多的观察结果,你应该没问题。