쿠폰 수집기 문제에서 n 추정


14

쿠폰 수집기 문제의 변형에서, 쿠폰 수를 모르고 데이터를 기반으로이를 결정해야합니다. 이것을 포춘 쿠키 문제라고합니다.

알 수없는 별개의 포춘 쿠키 메시지 주어지면 한 번에 하나씩 쿠키를 샘플링하고 각 포춘이 몇 번 나타나는지 계산하여 을 추정하십시오 . 또한이 추정치에서 원하는 신뢰 구간을 얻는 데 필요한 샘플 수를 결정하십시오.

기본적으로 내가 샘플 충분한 데이터가 주어진 신뢰 구간에 도달하는 것을 알고리즘을 필요로 말할 와 신뢰. 간단하게하기 위해 모든 운이 동일한 확률 / 빈도로 나타나는 것으로 가정 할 수 있지만,보다 일반적인 문제의 경우에는 해당되지 않으며 이에 대한 해결책도 환영합니다.±595%

이것은 독일 탱크 문제 와 비슷해 보이지만 이 경우 포춘 쿠키는 순차적으로 표시되지 않으므로 주문이 없습니다.


1
메시지가 똑같이 빈번하다는 것을 알고 있습니까?
Glen_b-복지 모니카

수정 된 질문 : 예
goweon

2
우도 함수를 적을 수 있습니까?
Zen

2
야생 동물 연구를하는 사람들은 동물을 사로 잡고 태그를 달고 풀어줍니다. 그들은 나중에 이미 태그를 붙인 동물을 되 찾는 빈도에 따라 인구의 크기를 추론합니다. 문제가 수학적으로 문제와 동등한 것처럼 들립니다.
Emil Friedman

답변:


6

동일한 확률 / 빈도의 경우이 방법이 적합 할 수 있습니다.

하자 전체 샘플 크기, N 가지 항목 수가 관찰, N (1) , 아이템의 개수가 정확히 한 번 확인할 수 N 2 정확히 두 볼 항목 수있을 = N 1 ( 1 - N 1KNN1N2 Q =N1A=N1(1N1K)+2N2,Q^=N1K.

그런 다음 전체 모집단 크기 에 대한 대략 95 % 신뢰 구간 이n

n^Lower=11Q^+1.96A케이

n^Upper=11Q^1.96AK

구현시 데이터에 따라이를 조정해야 할 수도 있습니다.

이 방법은 Good and Turing 때문입니다. 신뢰 구간에 대한 참조는 Esty, Warren W. (1983), "임의의 표본 범위의 비모수 추정량에 대한 정규 제한법" , Ann. 통계 학자. , 11 권, 3 호, 905-912.

보다 일반적인 문제를 위해 Bunge는 몇 가지 추정치를 생성하는 무료 소프트웨어를 생산했습니다. 그의 이름과 단어 CatchAll로 검색 하십시오 .


1
나는 Esty 레퍼런스를 추가 할 자유를 얻었습니다. 그것이 당신이 의도 한
것인지 다시

(샘플 크기)와 N ( 표시된 고유 항목 수) 만 알고 있으면 @soakley에서 범위 (정확하지 않은 범위)를 얻을 수 있습니까? 즉, 우리는 N 1N 2 에 관한 정보를 가지고 있지 않습니다 . KNN1N2
Basj

나는 N 만으로 그것을 할 수있는 방법을 모른다 . KN.
soakley

2

그것이 도움이 될 수 있는지는 모르겠지만 대체로 다르게 표기 된 m 개의 볼이 있는 항아리에서 n 번의 시험 중에 다른 볼 을 취하는 문제입니다 . 이 페이지 에 따르면 (프랑스어) X n 인 경우 랜덤 변수가 다른 볼의 수를 세면 확률 함수는 다음과 같이 주어집니다. P ( X n = k ) = ( mknmXnP(Xn=k)=(mk)i=0k(1)ki(ki)(im)n

그런 다음 최대 가능성 추정값을 사용할 수 있습니다.

점유 문제 를 해결하기 위해 증거가있는 또 다른 공식이 여기에 제공됩니다 .


2

우도 함수와 확률

역 생일 문제 에 대한 질문에 대한 가능성 함수에 대한 해결책이 Cody Maughan에 의해 제공되었습니다.

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

오른쪽의 확률을 도출하려면 점유 문제를 참조하십시오. 이것은 Ben에 의해이 웹 사이트에서 이전에 설명 되었습니다 . 이 표현은 Sylvain의 답변과 비슷합니다.

최대 가능성 추정

우도 함수 최대 값의 1 차 및 2 차 근사값을 계산할 수 있습니다 .

m1(n2)nk

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

가능성 간격

(이것은 신뢰 구간과 동일 하지 않습니다 : 신뢰 구간 을 구성하는 기본 논리 참조 )

이것은 나에게 열린 문제입니다. 아직 식을 다루는 방법을 잘 모르겠습니다미디엄미디엄!(미디엄케이)!(물론 모든 값을 계산하고이를 기반으로 경계를 선택할 수 있지만, 명시적인 정확한 공식이나 추정치를 갖는 것이 더 좋습니다). 나는 그것을 평가하는 데 크게 도움이되는 다른 배포판과 관련이없는 것 같습니다. 그러나이 가능성 간격 접근법에서 멋진 (간단한) 표현이 가능할 것 같습니다.

신뢰 구간

신뢰 구간의 경우 정규 근사를 사용할 수 있습니다. 에서 벤의 대답은 다음과 같은 평균과 분산이 주어집니다 :

이자형[케이]=미디엄(1(11미디엄))
V[케이]=미디엄((미디엄1)(12미디엄)+(11미디엄)미디엄(11미디엄)2)

주어진 샘플에 대해 말하십시오 =200 독특한 쿠키를 관찰했습니다 케이 95 % 경계 이자형[케이]±1.96V[케이] 다음과 같이 보입니다.

신뢰 구간 경계

위 이미지에서 모집단 크기의 함수로 선을 표현하여 구간에 대한 곡선을 그렸습니다. 미디엄 샘플 크기 (그래서 x- 축은 이러한 곡선을 그릴 때 종속 변수입니다).

어려운 점은 이것을 반전시키고 주어진 관측 값에 대한 구간 값을 얻는 것입니다 케이. 계산적으로 수행 할 수 있지만 더 직접적인 기능이있을 수 있습니다.

이미지에서 모든 확률을 기반으로 누적 분포를 직접 계산하여 Clopper Pearson 신뢰 구간을 추가했습니다. (케이|미디엄,)(R 에서이 작업을 수행 한 곳 Strlng2에서 CryptRndTest 패키지 의 함수 를 사용해야합니다 .CryptRndTest 패키지는 두 번째 종류의 스털링 숫자의 로그에 대한 점근 근사입니다. 경계가 합리적으로 일치한다는 것을 알 수 있으므로이 경우 정규 근사치가 잘 수행됩니다.

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

불확실한 확률 의 경우 . 특정 유형의 쿠키 수를 독립 이항 / 포아송 분포 변수로 근사하고 이들이 Bernouilli 변수로 채워 졌는지 여부를 설명 할 수 있습니다. 그런 다음 해당 변수에 대한 분산과 수단을 더합니다. 벤이 기대 값과 분산을 도출 / 근사한 방법이기도합니다. ----- 문제는 이러한 다양한 확률을 설명하는 방법입니다. 쿠키 수를 모르기 때문에이를 명시 적으로 수행 할 수 없습니다.
Sextus Empiricus
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.