代码之家  ›  专栏  ›  技术社区  ›  Allyl Isocyanate

以99%的准确度测定最小样本数

  •  2
  • Allyl Isocyanate  · 技术社区  · 14 年前

    我正在尝试将本地数据库(L)上的100000条记录与远程数据库(R)上的100000条记录进行比较。

    基本上,我想知道R中是否存在L元素。为了确定这一点,我必须针对每个L对R提出一个请求,这需要很长时间(我知道,应该有更好的方法,没有,这就是我得到的API)。

    所以我想用一个小样本的l和r进行比较,然后用一定的置信度推断出整个r中有多少个是存在的,我需要测试多少才能得到99%的置信度?

    3 回复  |  直到 14 年前
        1
  •  5
  •   John D. Cook    14 年前

    如果测试本地数据库中的n条记录,并且所有记录都在远程数据库中,则可以估计本地记录不在远程数据库中的概率介于0和3/n之间。这在统计中称为“三规则”。我解释一下 here .

    唯一的方法 知道 所有记录都在两个数据库中,这是为了测试所有记录。但是,例如,如果测试100条记录,可以估计两个数据库中没有记录的比例低于3%。

        2
  •  3
  •   Yorgos    14 年前

    我也建议 experimental design for estimating a proportion p .

    假设我们有兴趣估计l中元素的比例p,也存在于r中,我们想计算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
    

    检查 here for details

        3
  •  0
  •   PaulG    14 年前

    这是个骗人的问题吗?99%正确吗?在分别检查每个记录后,您将100%确定是否在远程数据库中,因此,如果要检查整个数据库,精确到99%——您必须检查99%的记录(99000)。