Bạn có thể sử dụng phương pháp chụp-bắt lại , cũng thực hiện như gói Rcapture R .
Dưới đây là một ví dụ, được mã hóa trong R. Hãy giả sử rằng dịch vụ web có N = 1000 mục. Chúng tôi sẽ thực hiện n = 300 yêu cầu. Tạo một mẫu ngẫu nhiên trong đó, đánh số các phần tử từ 1 đến k, trong đó k là có bao nhiêu mục khác nhau mà chúng ta đã thấy.
N = 1000; population = 1:N # create a population of the integers from 1 to 1000
n = 300 # number of requests
set.seed(20110406)
observation = as.numeric(factor(sample(population, size=n,
replace=TRUE))) # a random sample from the population, renumbered
table(observation) # a table useful to see, not discussed
k = length(unique(observation)) # number of unique items seen
(t = table(table(observation)))
Kết quả của mô phỏng là
1 2 3
234 27 4
do đó, trong số 300 yêu cầu, có 4 mục được nhìn thấy 3 lần, 27 mục được nhìn thấy hai lần và 234 mục chỉ được nhìn thấy một lần.
Bây giờ ước tính N từ mẫu này:
require(Rcapture)
X = data.frame(t)
X[,1]=as.numeric(X[,1])
desc=descriptive(X, dfreq=TRUE, dtype="nbcap", t=300)
desc # useful to see, not discussed
plot(desc) # useful to see, not discussed
cp=closedp.0(X, dfreq=TRUE, dtype="nbcap", t=300, trace=TRUE)
cp
Kết quả:
Number of captured units: 265
Abundance estimations and model fits:
abundance stderr deviance df AIC
M0** 265.0 0.0 2.297787e+39 298 2.297787e+39
Mh Chao 1262.7 232.5 7.840000e-01 9 5.984840e+02
Mh Poisson2** 265.0 0.0 2.977883e+38 297 2.977883e+38
Mh Darroch** 553.9 37.1 7.299900e+01 297 9.469900e+01
Mh Gamma3.5** 5644623606.6 375581044.0 5.821861e+05 297 5.822078e+05
** : The M0 model did not converge
** : The Mh Poisson2 model did not converge
** : The Mh Darroch model did not converge
** : The Mh Gamma3.5 model did not converge
Note: 9 eta parameters has been set to zero in the Mh Chao model
Do đó, chỉ có mô hình Mh Chao hội tụ, ước tính = 1262.7.
N^
EDIT: Để kiểm tra độ tin cậy của phương pháp trên, tôi đã chạy đoạn mã trên trên 10000 mẫu được tạo. Mô hình Mh Chao hội tụ mọi lúc. Dưới đây là tóm tắt:
> round(quantile(Nhat, c(0, 0.025, 0.25, 0.50, 0.75, 0.975, 1)), 1)
0% 2.5% 25% 50% 75% 97.5% 100%
657.2 794.6 941.1 1034.0 1144.8 1445.2 2162.0
> mean(Nhat)
[1] 1055.855
> sd(Nhat)
[1] 166.8352