पुनरावलोकन टिप्पणियों की संख्या द्वारा नमूना की जा रही जनसंख्या के आकार का अनुमान लगाएं


13

कहो कि मेरे पास 50 मिलियन अद्वितीय चीजें हैं, और मैं 10 मिलियन नमूने लेता हूं (प्रतिस्थापन के साथ) ... मैंने जो पहला ग्राफ संलग्न किया है वह दिखाता है कि मैं कितनी बार उसी "नमूना" का नमूना लेता हूं, जो अपेक्षाकृत दुर्लभ है जनसंख्या मेरे नमूने से बड़ी है।

हालांकि अगर मेरी आबादी केवल 10 मिलियन है, और मैं 10 मिलियन नमूने लेता हूं, जैसा कि दूसरे ग्राफ से पता चलता है कि मैं बार-बार एक ही चीज का नमूना ले सकता हूं।

मेरा प्रश्न है - टिप्पणियों की मेरी आवृत्ति तालिका (बार चार्ट में डेटा) से यह संभव है कि जब वह अज्ञात हो तो मूल जनसंख्या आकार का अनुमान लगाया जाए? और यह बहुत अच्छा होगा यदि आप एक संकेतक प्रदान कर सकते हैं कि इस बारे में आर में कैसे जाएं।

वैकल्पिक शब्द


एक दिलचस्प आवेदन के लिए space.stackexchange.com/questions/41547/… देखें
बजे kjetil b halvorsen

जवाबों:


10

गरवन कैसा है?

समस्या यह है कि हम यह नहीं जानते हैं कि कितने शून्य काउंट देखे जाते हैं। हमें इसका अनुमान लगाना होगा। इस तरह की स्थितियों के लिए एक क्लासिक सांख्यिकीय प्रक्रिया उम्मीद-अधिकतमकरण एल्गोरिथ्म है।

एक सरल उदाहरण:

मान लें कि हम एक अज्ञात आबादी (1,000,000 की) से 0.2 के एक पोइसन स्थिरांक के साथ आकर्षित करते हैं।

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. दूसरा पुनरावृति

    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

अब अभिसरण तक iterate:

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 अनुमानित है - यह नमूना जनसंख्या का अनुमानित अनुपात है। आपके द्वारा निपटने वाली विशिष्ट जैविक समस्याओं में मुख्य समस्या यह है कि यह अनुमान है कि पॉइसन दर एक स्थिर है।

लंबे समय से घुमावदार पोस्ट के लिए क्षमा करें - यह विकी वास्तव में आर कोड के लिए उपयुक्त नहीं है।


3
अपने कोड को हाइलाइट करें और बाइनरी नंबर जैसे दिखने वाले बटन पर क्लिक करें ...
शेन

8

यह 'मार्क और रिकैचर' उर्फ ​​'कैप्चर-रिकैपचर' के रूप में लगता है, जो पारिस्थितिकी में एक प्रसिद्ध तकनीक है (और कुछ अन्य क्षेत्र जैसे महामारी विज्ञान)। मेरा क्षेत्र नहीं , लेकिन निशान और पुनर्ग्रहण पर विकिपीडिया लेख उचित लगता है, हालांकि आपकी स्थिति वह नहीं है जिसके बारे में लिंकन-पीटरसन विधि ने समझाया है।

मुझे लगता है कि shabbychef आपकी स्थिति के लिए एक सही ट्रैक है, लेकिन द्विपद को अनुमानित करने के लिए Poisson वितरण का उपयोग करने से शायद चीजें थोड़ी सरल हो जाएंगी और एक बहुत अच्छा सन्निकटन होना चाहिए यदि जनसंख्या का आकार बहुत बड़ा है, जैसा कि आपके उदाहरणों में है। मुझे लगता है कि आबादी के आकार के अधिकतम संभावना अनुमान के लिए स्पष्ट अभिव्यक्ति प्राप्त करना बहुत सुंदर होना चाहिए (उदाहरण के लिए विकिपीडिया को फिर से देखें ), हालांकि मेरे पास अभी विवरण निकालने का समय नहीं है।


5

आप एक द्विपद वितरण के माध्यम से अनुमान लगा सकते हैं। यदि ऑब्जेक्ट्स ( अज्ञात के साथ ) से प्रतिस्थापन के साथ ड्रॉ हैं, तो किसी ऑब्जेक्ट के एक बार ड्रॉ में होने की संभावना । इसे अब एक सिक्के की तरह समझें। परीक्षणों से वास्तव में हेड्स (यानी डुप्लिकेट) की संभावना । उम्मीद की गई संख्या (आपके प्लॉट) को प्राप्त करने के लिए इसे से गुणा करें । बड़े यह डेटा से बैक करने के लिए थोड़ा बालों वाला हो सकता है , लेकिन छोटेके के पी = nkk एमएमएनP=1kmmn(nm)Pm(1P)nmnnkm, आप शायद शब्द को बराबर मानकर ठीक कर सकते हैं ।(1P)1

संपादित करें : संख्यात्मक समस्याओं को ठीक करने का एक संभावित तरीका है, संख्याओं के अनुपात को देखना। यही है, यदि प्रमुखों को खींचने की संभावना है , तो बराबर है । फिर कई अनुमान प्राप्त करने के लिए अपने डेटा में डुप्लिकेट की गिनती के अनुपात को देखें , फिर माध्य या माध्य लें।PmmPm/Pm+1(k1)m+1nmk

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.