繰り返し観測の数によってサンプリングされる母集団のサイズを推定する


13

5,000万個のユニークなものの人口があり、1,000万個のサンプル(交換)を取得したとします...最初のグラフは、同じ「もの」をサンプリングする回数を示しています。母集団は私のサンプルよりも大きいです。

ただし、2番目のグラフが示すように、人口が1,000万個で、1,000万個のサンプルを採取する場合、同じものを繰り返しサンプリングする頻度が高くなります。

私の質問は-観測の頻度表(棒グラフのデータ)から、未知の場合に元の人口サイズの推定値を取得することは可能ですか?そして、Rでこれを実行する方法へのポインタを提供できれば素晴らしいと思います。

代替テキスト

回答:


10

ガーバンはどうですか?

問題は、観測されたゼロカウントの数がわからないことです。これを見積もる必要があります。このような状況の古典的な統計手順は、期待値最大化アルゴリズムです。

簡単な例:

ポアソン定数が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 
  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
    
  2. 最大化

    lambda_MLE <- (1/sum(table))*(sum(table*k))        
    lambda_MLE        
    [1] 0.697252        
    lambda <- lambda_MLE
    
  3. 2回目の反復

    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コードにはあまり適していません。


3
コードを強調表示し、2進数のように見えるボタンをクリックします...
シェーン

8

これは、生態学(および疫学などのその他の分野)でよく知られている手法である「捕獲と再捕獲」または「捕獲と再捕獲」の一形態のように聞こえます。私の領域ではなく、マークと再捕獲に関するウィキペディアの記事は合理的に見えますが、あなたの状況はそこに説明されているリンカーン・ピーターセン法が適用される状況ではありません。

shabbychefはあなたの状況に適した方法の1つだと思いますが、ポアソン分布を使用して二項式を近似すると、おそらく物事が少し簡単になり、人口のサイズが非常に大きい場合は、例のように非常に良い近似になるはずです。人口サイズの最尤推定値の明示的な表現を取得することは非常に簡単であると思います(たとえば、Wikipediaを再度参照)が、現時点では詳細を解明する時間はありません。


5

nkkP=1kmmnnmPm1Pnmnnkm1P1

PmmPm/Pm+1k1m+1nmk

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.