Ước tính kích thước của một quần thể được lấy mẫu bằng số lần quan sát lặp lại


13

Giả sử tôi có dân số 50 triệu thứ duy nhất và tôi lấy 10 triệu mẫu (có thay thế) ... Biểu đồ đầu tiên tôi đính kèm cho thấy tôi đã lấy mẫu cùng một số lần, điều này tương đối hiếm như dân số lớn hơn mẫu của tôi.

Tuy nhiên, nếu dân số của tôi chỉ có 10 triệu thứ và tôi lấy 10 triệu mẫu, vì biểu đồ thứ hai cho thấy tôi sẽ thường xuyên lấy mẫu giống nhau nhiều lần.

Câu hỏi của tôi là - từ bảng quan sát tần số của tôi (dữ liệu trong biểu đồ thanh) có thể lấy ước tính kích thước dân số ban đầu khi không xác định? Và sẽ thật tuyệt nếu bạn có thể cung cấp một con trỏ về cách thực hiện điều này trong R.

văn bản thay thế

Câu trả lời:


10

Garvan thế nào?

Vấn đề là chúng ta không biết có bao nhiêu số không được quan sát. Chúng tôi phải ước tính điều này. Một thủ tục thống kê cổ điển cho các tình huống như thế này là thuật toán Tối đa hóa Kỳ vọng.

Một ví dụ đơn giản:

Giả sử chúng ta rút ra từ một dân số chưa biết (1.000.000) với hằng số poisson là 0,2.

counts <- rpois(1000000, 0.2)
table(counts)

     0      1      2      3      4      5
818501 164042  16281   1111     62      3

Nhưng chúng ta không quan sát số không. Thay vào đó chúng tôi quan sát điều này:

table <- c("0"=0, table(counts)[2:6])

table

     0      1      2      3      4      5
     0 164042  16281   1111     62      3

Tần số có thể quan sát được

k <- c("0"=0, "1"=1, "2"=2, "3"=3, "4"=4, "5"=5)

Khởi tạo trung bình của phân phối Poisson - chỉ cần đoán (chúng tôi biết đó là 0,2 ở đây).

lambda <- 1 
  1. Mong đợi - Phân phối Poisson

    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. Tối đa hóa

    lambda_MLE <- (1/sum(table))*(sum(table*k))        
    lambda_MLE        
    [1] 0.697252        
    lambda <- lambda_MLE
  3. Lặp lại lần thứ hai

    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

Bây giờ lặp lại cho đến khi hội tụ:

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

Ước tính dân số của chúng tôi là 1003774 và tỷ lệ poisson của chúng tôi được ước tính là 0,1994473 - đây là tỷ lệ ước tính của dân số được lấy mẫu. Vấn đề chính bạn sẽ gặp phải trong các vấn đề sinh học điển hình mà bạn đang giải quyết là giả định rằng tỷ lệ poisson là một hằng số.

Xin lỗi cho bài viết dài dòng - wiki này không thực sự phù hợp với mã R.


3
Đánh dấu mã của bạn và nhấp vào nút trông giống như số nhị phân ...
Shane

8

Điều này nghe có vẻ như là một hình thức 'đánh dấu và thu hồi' hay còn gọi là 'bắt giữ - thu hồi', một kỹ thuật nổi tiếng trong sinh thái học (và một số lĩnh vực khác như dịch tễ học). Không phải khu vực của tôi mà là bài viết trên Wikipedia về đánh dấu và thu hồi có vẻ hợp lý, mặc dù tình huống của bạn không phải là vấn đề mà phương pháp Lincoln Lincoln Petersen đã giải thích ở đó áp dụng.

Tôi nghĩ rằng shabbychef là một trong những hướng đi phù hợp với tình huống của bạn, nhưng sử dụng phân phối Poisson để ước tính nhị thức có thể sẽ khiến mọi thứ đơn giản hơn một chút và sẽ là một xấp xỉ rất tốt nếu quy mô dân số rất lớn, như trong ví dụ của bạn. Tôi nghĩ rằng việc có được một biểu thức rõ ràng cho ước tính khả năng tối đa của quy mô dân số sẽ khá đơn giản (xem lại Wikipedia ), mặc dù tôi không có thời gian để tìm hiểu chi tiết ngay bây giờ.


5

nkkP= =1kmmn(nm)Pm(1-P)n-mnnkm(1-P)1

PmmPm/Pm+1(k-1)m+1n-mk

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.