我正在尝试将本地数据库(L)上的100,000条记录与远程数据库(R)上的100,000条记录进行比较。
基本上我想知道L中的元素是否存在于R中。为了确定这一点,我必须针对每个L对R做出请求,这需要很长时间(我知道,应该有更好的方法,没有,这是我得到的API。
所以我想测试L对R的一个小样本,然后以一定程度的信心推断整个R中有多少个。我需要测试多少才能获得99%的置信度?< / p>
答案 0 :(得分:5)
如果从本地数据库测试N条记录并且所有记录都在远程数据库中,则可以估计本地记录不在远程数据库中的概率介于0和3 / N之间。这在统计学中被称为“三规则”。我解释一下here。
知道所有记录都在两个数据库中的唯一方法是测试所有记录。但是,例如,如果您测试100条记录,则可以估计不在两个数据库中的记录比例都低于3%。
答案 1 :(得分:3)
我还建议experimental design for estimating a proportion p
。
假设我们有兴趣估计L中也存在于R中的元素的比例p,并且我们想要计算99%C.I。公差等级(lvl)为正负3%。对随机样本大小的“保守”估计将由下式给出:
n =(Za / 2)^ 2 /(4 * lvl ^ 2)
在R
CI<-.99
lvl<-.03
qnorm(1-(1-CI)/2,0,1)^2/(4*lvl^2)
[1] 1843.027
答案 2 :(得分:0)
这是一个棘手的问题吗?它的99%对吗?在单独检查每一个之后,您将100%确定它是否在远程数据库中,因此如果您想要检查整个数据库的准确率达到99% - 您必须检查99%的记录(99,000)。 / p>