如何计算样本量以验证数据表中记录的正确/错误?

机器算法验证 贝叶斯 采样 样本量 超几何分布
2022-03-28 01:24:07

我已经阅读了 CrossValidated 上的现有答案(以及在线其他地方),但找不到我正在寻找的东西,但如果我错过了它们,请指出我现有的资源。

假设我有一个包含 N=1000 条记录的数据集,每条记录都可以手动采样并标记为“有效”或“无效”(或真/假、对/错等)。

我想达到给定的置信水平,即数据集中的所有记录都是有效的。当我对记录进行采样时,如果我发现一个无效的记录,我会返回并修改数据集的创建方式以纠正该问题和类似问题。

因此,在发现 Invalids、修复和重新创建数据集的一些迭代之后,我进行了一些包含 Valid 记录的采样。如果我想(比如说)99% 或 95% 确定所有记录都是有效的,我的样本必须有多大?(理想情况下是 N 的函数。)

我试过玩超几何测试(http://en.wikipedia.org/wiki/Hypergeometric_distribution#Hypergeometric_test) - 在那种情况下,我想知道 k 应该是什么,但我没有固定的 K 值. 相反,我想选择 k 使得 K 可能等于 N - 但是设置 K=N 显然可以达到 1 的概率!我也想知道我是否需要使用贝叶斯方法,但我对贝叶斯统计数据了解不够。

1个回答

这可以构建为测试数据集中存在一些无效记录的零假设(K>0) 与没有的替代方案 (K=0),假设在样本中没有发现无效记录 (k=0)。最接近的 null 是最难拒绝的,是有一个无效记录 (K=1)。将这些代入超几何概率质量函数中的样本大小n从一个大小的数据集N得到 p 值(没有可能的更小的值k考虑):

f(k)=(Kk)(NKnk)(Nn)
=(10)(N1n0)(Nn)
=NnN=p

因此,能够在显着性水平的单边置信区间)所需的最小样本量很简单npα=1pK=0

n=(1p)N
n=αN

随着如果这看起来很多,请考虑将一千条记录全部有效是一个严格的标准;如果您考虑放松它,可以使用相同的方法来测试说N=1000α=0.95n=950K>9