Kupon tahsilât probleminde n tahmini


14

Kupon toplayıcının sorununun bir varyasyonunda, kupon sayısını bilmiyorsunuz ve bunu verilere göre belirlemelisiniz. Bunu fal kurabiyesi sorunu olarak anlatacağım:

Farklı servet çerez mesajlarının bilinmeyen sayıda göz önüne alındığında , tahmin çerezleri teker teker ve sayım kaç kez her fal görüntülenir örnekleme yoluyla. Ayrıca bu tahminde istenen bir güven aralığını elde etmek için gerekli örnek sayısını belirleyin.nn

Temelde belirli bir güven aralığına ulaşmak için yeterli veriyi örnekleyen bir algoritmaya ihtiyacım var, , güven ile. Basitlik için, tüm servetlerin eşit olasılıkla / sıklıkta göründüğünü varsayabiliriz, ancak bu daha genel bir sorun için doğru değildir ve buna bir çözüm de kabul edilir.n±595%

Bu, Alman tank sorununa benziyor , ancak bu durumda, fal kurabiyeleri sırayla etiketlenmiyor ve bu nedenle siparişleri yok.


1
Mesajların eşit sıklıkta olduğunu biliyor muyuz?
Glen_b

düzenlenmiş soru: Evet
goweon

2
Olabilirlik fonksiyonunu yazabilir misiniz?
Zen

2
Yaban hayatı çalışmaları yapan insanlar hayvanları yakalar, etiketler ve serbest bırakır. Daha sonra, zaten etiketlenmiş hayvanları geri alma sıklığına bağlı olarak nüfusun büyüklüğünü çıkarırlar. Problemin matematiksel olarak onlarınkiyle eşdeğer gibi görünüyor.
Emil Friedman

Yanıtlar:


6

Eşit olasılık / frekans durumu için bu yaklaşım sizin için işe yarayabilir.

Let toplam örnek boyutu, , farklı öğelerin sayısı, gözlenen olmak yalnızca bir kez görülen öğelerin sayısı olduğu, tam iki, görülen öğelerin sayısı olduğu veN N 1 N 2 A = N 1 ( 1 - N 1KNN1N2 Q, =N1A=N1(1N1K)+2N2,Q^=N1K.

Sonra toplam nüfus büyüklüğü üzerinde yaklaşık% 95 güven aralığı verilirn

n^Lower=11Q^+1.96AK

n^Upper=11Q^1.96AK

Uygularken, verilerinize bağlı olarak bunları ayarlamanız gerekebilir.

Yöntem, İyi ve Turing'den kaynaklanmaktadır. Güven aralığıyla ilgili bir referans Esty, Warren W. (1983), "Rastgele Bir Numunenin Kapsama Durumunun Parametrik Olmayan Bir Tahmincisi için Normal Sınır Yasası" , Ann. Devletçi. , Cilt 11, Sayı 3, 905-912.

Daha genel bir sorun için, Bunge çeşitli tahminler üreten özgür yazılımlar üretmiştir. Adını ve CatchAll kelimesini arayın .


1
Esty referansını ekleme özgürlüğünü aldım. Lütfen kastettiğinizi bir kez daha kontrol edin
Glen_b -Marins Monica

@Soakley, yalnızca (örnek boyutu) ve ( görülen benzersiz öğe sayısı ) değerini biliyorsanız sınırlar (muhtemelen daha az kesin sınırlar) almak mümkün müdür ? yani ve hakkında . KNN1N2
Basj

Sadece ve ile yapmanın bir yolunu bilmiyorumKN.
soakley

2

Yardım edip edemeyeceğini bilmiyorum, ancak ile değiştirilen farklı olarak etiketlenmiş bir urnda denemede farklı top alma problemidir . Bu sayfaya göre (fransızca) ise, farklı topların sayısını sayan rastgele değişken ise olasılık fonksiyonu şu şekilde verilir: n m X n P ( X n = k ) = ( mknmXnP(Xn=k)=(mk)i=0k(1)ki(ki)(im)n

Sonra maksimum olabilirlik tahmincisi kullanabilirsiniz.

Doluluk problemini çözmek için kanıtlı başka bir formül burada verilmiştir .


2

Olabilirlik fonksiyonu ve olasılık

Ters doğum günü problemi hakkındaki bir soruya cevap olarak, Cody Maughan tarafından bir olasılık işlevi için bir çözüm verilmiştir.

Servet kurabiye türlerinin sayısı için olabilirlik fonksiyonu biz çizerken farklı niyet kurabiyesi (her fal kurabiyesi tipi beraberlik görünme olasılığı eşittir olduğu) olarak ifade edilebilir çizer:mkn

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

Sağ taraftaki olasılığın türetilmesi için doluluk sorununa bakın. Bu daha önce bu web sitesinde Ben tarafından açıklanmıştı . İfade Sylvain'in cevabındaki ifadeye benzer.

Maksimum olabilirlik tahmini

Biz hesaplayabilir ilk düzen ve olabilirlik fonksiyonunun maksimum ikinci dereceden türev

m1(n2)nk

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

Olabilirlik aralığı

(not, bu bir güven aralığı ile aynı değildir bkz: Bir güven aralığı oluşturmanın temel mantığı )

Bu benim için açık bir sorun olmaya devam ediyor. Henüz nasıl başa çıkacağımdan emin değilim (elbette bir tüm değerleri hesaplayabilir ve buna dayalı sınırları seçebilir, ancak daha fazla olurdu) açık bir kesin formül veya tahmin olması güzel). Bunu, değerlendirmeye büyük ölçüde yardımcı olacak başka bir dağıtımla ilişkilendiremiyorum. Ama bu olasılık aralığı yaklaşımından hoş (basit) bir ifadenin mümkün olabileceğini hissediyorum.mnm!(mk)!

Güven aralığı

Güven aralığı için normal bir yaklaşım kullanabiliriz. In Ben'in cevap aşağıdaki ortalama ve varyans verilmiştir:

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

Belirli bir örnek ve gözlemlenen benzersiz çerezler için % 95 sınırları şöyle görünür:n=200kE[K]±1.96V[K]

güven aralığı sınırları

Yukarıdaki görüntüde aralık için eğriler çizgileri popülasyon büyüklüğü ve örneklem büyüklüğü bir fonksiyonu olarak ifade ederek çizilmiştir (böylece x ekseni bu eğrilerin çizilmesinde bağımlı değişkendir).mn

Zorluk, bunu tersine çevirmek ve belirli bir gözlenen değeri için aralık değerlerini elde etmektir . Hesaplamalı olarak yapılabilir, ancak muhtemelen daha doğrudan bir işlev olabilir.k

Resimde, tüm olasılıklara dayalı kümülatif dağılımın doğrudan bir hesaplamasına dayanan Clopper Pearson güven aralıklarını da ekledim (bunu, R ikinci türdeki Stirling sayısının logaritmasının asimptotik bir yaklaşımı olan CryptRndTest paketinden işlev ). Sınırların makul bir şekilde örtüştüğünü görebilirsiniz, bu nedenle normal yaklaşım bu durumda iyi performans gösterir.P(k|m,n)Strlng2

# 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))

Durumunda için eşit olmayan olasılıklar. Belirli bir türdeki çerezlerin sayısına bağımsız Binom / Poisson dağıtılmış değişkenleri olarak yaklaşabilir ve bunların doldurulup doldurulmadığını Bernouilli değişkenleri olarak tanımlayabilirsiniz. Sonra bu değişkenler için varyansı ve araçları bir araya getirin. Sanırım Ben de beklenti değeri ve varyansı bu şekilde elde etti / tahmin etti. ----- Sorun, bu farklı olasılıkları nasıl tanımladığınızdır. Çerez sayısını bilmediğiniz için bunu açıkça yapamazsınız.
Sextus Empiricus
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.