假设我有 5000 万个独特的事物,我抽取了 1000 万个样本(有替换)......我附上的第一张图显示了我对同一个“事物”进行了多少次抽样,这是相对罕见的人口比我的样本大。
但是,如果我的人口只有 1000 万个东西,并且我采集了 1000 万个样本,那么如第二张图所示,我将更频繁地重复采样同一件事。
我的问题是 - 从我的观察频率表(条形图中的数据)是否有可能在未知时估算原始人口规模?如果你能提供一个关于如何在 R 中解决这个问题的指针,那就太好了。
假设我有 5000 万个独特的事物,我抽取了 1000 万个样本(有替换)......我附上的第一张图显示了我对同一个“事物”进行了多少次抽样,这是相对罕见的人口比我的样本大。
但是,如果我的人口只有 1000 万个东西,并且我采集了 1000 万个样本,那么如第二张图所示,我将更频繁地重复采样同一件事。
我的问题是 - 从我的观察频率表(条形图中的数据)是否有可能在未知时估算原始人口规模?如果你能提供一个关于如何在 R 中解决这个问题的指针,那就太好了。
加文怎么样?
问题是我们不知道观察到了多少个零计数。我们必须对此进行估计。用于此类情况的经典统计程序是期望最大化算法。
一个简单的例子:
假设我们从泊松常数为 0.2 的未知人口(1,000,000)中抽取数据。
counts <- rpois(1000000, 0.2)
table(counts)
0 1 2 3 4 5
818501 164042 16281 1111 62 3
但是我们没有观察到零计数。相反,我们观察到这一点:
table <- c("0"=0, table(counts)[2:6])
table
0 1 2 3 4 5
0 164042 16281 1111 62 3
观察到的可能频率
k <- c("0"=0, "1"=1, "2"=2, "3"=3, "4"=4, "5"=5)
初始化泊松分布的均值 - 猜测一下(我们知道这里是 0.2)。
lambda <- 1
期望 - 泊松分布
P_k <- lambda^k*exp(-lambda)/factorial(k)
P_k
0 1 2 3 4 5
0.367879441 0.367879441 0.183939721 0.061313240 0.015328310 0.003065662
n0 <- sum(table[2:6])/(1 - P_k[1]) - sum(table[2:6])
n0
0
105628.2
table[1] <- 105628.2
最大化
lambda_MLE <- (1/sum(table))*(sum(table*k))
lambda_MLE
[1] 0.697252
lambda <- lambda_MLE
第二次迭代
P_k <- lambda^k*exp(-lambda)/factorial(k)
n0 <- sum(table[2:6])/(1 - P_k[1]) - sum(table[2:6])
table[1] <- n0
lambda <- (1/sum(table))*(sum(table*k))
population lambda_MLE
[1,] 361517.1 0.5537774
现在迭代直到收敛:
for (i in 1:200) {
P_k <- lambda^k*exp(-lambda)/factorial(k)
n0 <- sum(table[2:6])/(1 - P_k[1]) - sum(table[2:6])
table[1] <- n0
lambda <- (1/sum(table))*(sum(table*k))
}
cbind( population = sum(table), lambda_MLE)
population lambda_MLE
[1,] 1003774 0.1994473
我们的人口估计是 1003774,我们的泊松率估计是 0.1994473 - 这是抽样人口的估计比例。在您处理的典型生物学问题中,您将遇到的主要问题是假设泊松率是一个常数。
很抱歉这篇冗长的帖子 - 这个 wiki 并不适合 R 代码。
这听起来像是“标记和重新捕获”又名“捕获-重新捕获”的一种形式,这是生态学(以及其他一些领域,如流行病学)中的一种众所周知的技术。不是我的领域,而是维基百科上关于标记和重新捕获的文章看起来很合理,尽管您的情况不是林肯-彼得森方法解释的情况。
我认为 shabbychef 是适合您情况的正确方法之一,但是使用泊松分布来近似二项式可能会使事情变得更简单,并且如果人口规模非常大,应该是一个非常好的近似值,如您的示例所示。我认为获得人口规模的最大似然估计的明确表达应该非常简单(再次参见例如维基百科),尽管我现在没有时间计算细节。
您可以通过二项分布进行估计。如果从个对象(次有放回的绘制,则一个对象在一次绘制中被绘制一次的概率为。现在把它想象成一个硬币翻转。次试验个正面(即个重复)的概率。将此乘以以获得预期的观察次数(您的绘图)。对于较大,从数据中退出可能有点麻烦,但对于较小的项等于,您可能会做得很好。
编辑:解决数字问题的一种可能方法是查看计数比率。也就是说,如果个正面的概率,那么等于。然后查看数据中重复计数的比率以获得的多个估计值,然后取中位数或平均值。