超几何:如何在 R 中围绕 K(总体成功)构建可信区间?

机器算法验证 r 贝叶斯 超几何分布 可信区间
2022-03-08 08:53:39

我有一个问题,我认为我应该使用超几何分布,但我不知道如何在 R 中做到这一点。

假设我有一袋已知数量的弹珠(N) 的弹珠,但袋子中的成功数(白色弹珠) (K) 未知。我想推断K。

给定一个来自这个人群的样本,我在哪里看到n试验和k成功,我如何推断人口K?

理想情况下,我想构建一个先验分布K然后使用样本对其进行更新,得到一个贝叶斯后验可信区间K(对于给定的可信度分数α),但我正在努力实际完成这项工作。我读过超几何的共轭先验是β-二项式。我想也许会有一个 R 函数或包可以采用先前的参数,然后用样本更新以给我一个可信区间,但一直找不到。

如果贝叶斯设置很困难,也许置信区间就足够了......任何人都可以向我指出一些 R 函数或教程,或者一些可以提供帮助的资源吗?谢谢。

编辑:添加一个例子,我可以在二项分布的情况下这样做,以推断p,给定一个样本。binom我可以用包构建可信区间

k= 15
n= 25
library(binom)
binom.bayes(k, n, conf.level = .95, tol=.005, type="central")
# method  x  n shape1 shape2      mean     lower     upper  sig
#  bayes 15 25   15.5   10.5 0.5961538 0.4057793 0.7725105 0.05

要添加一个先验,由于更新与 beta-binomial 一起使用的方式,我可以将计数添加到kn参数根据ab先验 beta 分布的参数。

在 beta-二项式示例中,N是无限的,我在推断p. 我想要做的是采取这种确切的情况并将其扩展到以下情况N是有限的(并且已知的),并推断K(这相当于推断p)。这会将二项式更改为超几何。

1个回答

您可以使用最大似然法而不是贝叶斯法来解决您的问题。只需使用已知的 k、N 和 n 值计算为大量 K 值找到 k 的超几何概率。为该概率提供最大值的 K 值是 K 的期望值。