Оцінка n в проблемі збирача купонів


14

Залежно від проблеми з колекціонером купонів , ви не знаєте кількості талонів і повинні визначати це на основі даних. Я буду називати це проблемою файлів cookie:

Враховуючи невідому кількість чітких повідомлень cookie , оцініть , відбираючи файли cookie по одному та підраховуючи, скільки разів з’являється кожна статка. Визначте також кількість проб, необхідних для отримання бажаного довірчого інтервалу за цією оцінкою.nn

В основному мені потрібен алгоритм, який відбирає достатньо даних, щоб досягти заданого інтервалу довіри, скажімо, з впевненості. Для простоти можна припустити, що всі статки з'являються з однаковою ймовірністю / частотою, але це неправда для більш загальної проблеми, і рішення цієї проблеми також вітається.n±595%

Це схоже на проблему з німецькими цистернами , але в цьому випадку файли cookie не позначаються послідовно, і тому вони не мають замовлення.


1
Ми знаємо, що повідомлення однаково часті?
Glen_b -Встановіть Моніку

питання відредаговано: Так
goweon

2
Чи можете ви записати функцію ймовірності?
Дзен

2
Люди, які проводять дослідження дикої природи, захоплюють, маркують та відпускають тварин. Пізніше вони визначають чисельність популяції виходячи з частоти, з якою вони відбирають уже помічених тварин. Здається, що ваша проблема математично еквівалентна їхній.
Еміль Фрідман

Відповіді:


6

У випадку рівної ймовірності / частоти такий підхід може працювати для вас.

Нехай - загальний розмір вибірки, - кількість різних спостережуваних предметів, - кількість предметів, що бачились точно один раз, - кількість предметів, що бачились точно вдвічі, іN N 1 N 2 A = N 1 ( 1 - N 1KNN1N2 Q =N1A=N1(1N1K)+2N2,Q^=N1K.

Тоді приблизний 95% довірчий інтервал від загального розміру популяції задаєтьсяn

n^Lower=11Q^+1.96AK

n^Upper=11Q^1.96AK

Під час впровадження вам може знадобитися коригувати їх залежно від даних.

Метод пояснюється Добром і Тюрінгом. Посилання з довірчим інтервалом - Есті, Уоррен В. (1983), "Нормальний закон граничного значення для непараметричного оцінювача покриття випадкової вибірки" , Енн. Статист. , Том 11, номер 3, 905-912.

Для більш загальної проблеми Bunge випустив безкоштовне програмне забезпечення, яке дає кілька оцінок. Знайдіть його ім'я та слово CatchAll .


1
Я взяв на себе сміливість додати посилання Esty. Перевірте, будь ласка, той, який ви мали на увазі
Glen_b -Встановіть Моніку

Чи можливо @soakley отримати межі (можливо, менш точні межі), якщо ви знаєте лише (розмір вибірки) та (кількість унікальних елементів, які бачили)? тобто ми не маємо інформації про та . НKNN1N2
Бась

Я не знаю способу зробити це лише з іKN.
soakley

2

Я не знаю, чи може це допомогти, але це проблема взяти різних кульок під час n випробувань в урні з m кульками, позначеними по-різному заміною. Відповідно до цієї сторінки (французькою мовою), якщо X n, якщо випадкова величина підраховує кількість різних кульок, функція ймовірності задається: knmXnP(Xn=k)=(mk)i=0k(1)ki(ki)(im)n

Тоді ви можете використовувати оцінку максимальної ймовірності.

Інша формула з підтвердженням дана тут для вирішення проблеми зайнятості .


2

Імовірність функції та ймовірність

У відповіді на запитання про проблему зі зворотним днем ​​народження рішення функції ймовірності дав Коді Моган.

Функція ймовірності для кількості типів кулінарії фортуни m коли ми намалюємо k різних файлів cookie fortune в n малюнках (де кожен тип печива fortune має однакову ймовірність появи в розіграші), можна виразити як:

L(m|k,n)=mnm!(mk)!P(k|m,n)=mnm!(mk)!S(n,k)Stirling number of the 2nd kind=mnm!(mk)!1k!i=0k(1)i(ki)(ki)n=(mk)i=0k(1)i(ki)(kim)n

Для виведення ймовірності з правого боку дивіться проблему зайнятості. Про це Бен описав раніше на цьому веб-сайті . Вираз схожий на той, що відповідає у відповіді Сильвейна.

Максимальна оцінка ймовірності

Ми можемо обчислити наближення першого та другого порядку максимуму функції ймовірності при

m1(n2)nk

m2(n2)+(n2)24(nk)(n3)2(nk)

Інтервал вірогідності

(зауважте, це не те саме, що довірчий інтервал див . Основна логіка побудови довірчого інтервалу )

Це залишається для мене відкритою проблемою. Я ще не впевнений, як боротися з виразом mnm!(mk)!

Довірчий інтервал

Для довірчого інтервалу ми можемо використовувати нормальне наближення. У відповіді Бена наведено наступне середнє значення та дисперсію:

E[K]=m(1(11m)n)
V[K]=m((m1)(12m)n+(11m)nm(11m)2n)

Say for a given sample n=200 and observed unique cookies k the 95% boundaries E[K]±1.96V[K] look like:

confidence interval boundaries

In the image above the curves for the interval have been drawn by expressing the lines as a function of the population size m and sample size n (so the x-axis is the dependent variable in drawing these curves).

The difficulty is to inverse this and obtain the interval values for a given observed value k. It can be done computationally, but possibly there might be some more direct function.

In the image I have also added Clopper Pearson confidence intervals based on a direct computation of the cumulative distribution based on all the probabilities P(k|m,n) (I did this in R where I needed to use the Strlng2 function from the CryptRndTest package which is an asymptotic approximation of the logarithm of the Stirling number of the second kind). You can see that the boundaries coincide reasonably well, so the normal approximation is performing well in this case.

# function to compute Probability
library("CryptRndTest")
P5 <- function(m,n,k) {
  exp(-n*log(m)+lfactorial(m)-lfactorial(m-k)+Strlng2(n,k))
}
P5 <- Vectorize(P5)

# function for expected value 
m4 <- function(m,n) {
  m*(1-(1-1/m)^n)
}

# function for variance
v4 <- function(m,n) {
  m*((m-1)*(1-2/m)^n+(1-1/m)^n-m*(1-1/m)^(2*n))
}


# compute 95% boundaries based on Pearson Clopper intervals
# first a distribution is computed
# then the 2.5% and 97.5% boundaries of the cumulative values are located
simDist <- function(m,n,p=0.05) {
  k <- 1:min(n,m)
  dist <- P5(m,n,k)
  dist[is.na(dist)] <- 0
  dist[dist == Inf] <- 0
  c(max(which(cumsum(dist)<p/2))+1,
       min(which(cumsum(dist)>1-p/2))-1)
}


# some values for the example
n <- 200
m <- 1:5000
k <- 1:n

# compute the Pearon Clopper intervals
res <- sapply(m, FUN = function(x) {simDist(x,n)})


# plot the maximum likelihood estimate
plot(m4(m,n),m,
     log="", ylab="estimated population size m", xlab = "observed uniques k",
     xlim =c(1,200),ylim =c(1,5000),
     pch=21,col=1,bg=1,cex=0.7, type = "l", yaxt = "n")
axis(2, at = c(0,2500,5000))

# add lines for confidence intervals based on normal approximation
lines(m4(m,n)+1.96*sqrt(v4(m,n)),m, lty=2)
lines(m4(m,n)-1.96*sqrt(v4(m,n)),m, lty=2)
# add lines for conficence intervals based on Clopper Pearson
lines(res[1,],m,col=3,lty=2)
lines(res[2,],m,col=3,lty=2)

# add legend
legend(0,5100,
       c("MLE","95% interval\n(Normal Approximation)\n","95% interval\n(Clopper-Pearson)\n")
       , lty=c(1,2,2), col=c(1,1,3),cex=0.7,
       box.col = rgb(0,0,0,0))

For the case of unequal probabilities. You can approximate the number of cookies of a particular type as independent Binomial/Poisson distributed variables and describe whether they are filled or not as Bernouilli variables. Then add together the variance and means for those variables. I guess that this is also how Ben derived/approximated the expectation value and variance. ----- A problem is how you describe these different probabilities. You can not do this explicitly since you do not know the number of cookies.
Секст Емпірік
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.