Lassen Y.: =X.1+ … +X.n. Beachten Sie, dass die Verteilung von(X.1, … ,X.n) bedingt durch Y.= tist multinomial (Übung). Dies gibt Ihnen eine konzeptionell einfachere Möglichkeit, über das Problem nachzudenken, das Sie habenn Kisten und werfen tBälle in ihnen zufällig. Was ist die Wahrscheinlichkeit, dassk sind leer?
Nun, zuallererst gibt es nt Möglichkeiten, die zu werfen t Bälle in der n Boxen ohne Einschränkungen.
Jetzt wird es etwas komplizierter, obwohl wir nur Sachen zählen. Es gibt Möglichkeiten, die Felder auszuwählen, die leer bleiben. Wir haben dann Bälle, um sie in die verbleibenden Kisten zu werfen , so dass jede Kiste nicht leer ist. Sie können dies durch Einschluss / Ausschluss tun, genau wie beim Nachweis der Stirling-Nummer /math/550256/stirling-numbers-of-second-type .(nk)ktn−k
Die Kombination dieser Zutaten ergibt die gewünschte Wahrscheinlichkeit:
, .
1nt(nk)∑j=0n−k(−1)n−k−j(n−kj)jt,
t≥n−kn≥k
Beachten Sie, dass in der Antwort nicht enthalten ist.λ
Aus Interesse und als kurze Übung habe ich dies codiert (eine Stirling-Zahlenfunktion ausgeliehen, die ich bei Google gefunden habe), um zu sehen, wie die Antwort aussieht:
##-- Stirling numbers of the 2nd kind
##-- (Abramowitz/Stegun: 24,1,4 (p. 824-5 ; Table 24.4, p.835)
##> S^{(m)}_n = number of ways of partitioning a set of $n$ elements into $m$
##> non-empty subsets
Stirling2 <- function(n,m)
{
## Purpose: Stirling Numbers of the 2-nd kind
## S^{(m)}_n = number of ways of partitioning a set of
## $n$ elements into $m$ non-empty subsets
## Author: Martin Maechler, Date: May 28 1992, 23:42
## ----------------------------------------------------------------
## Abramowitz/Stegun: 24,1,4 (p. 824-5 ; Table 24.4, p.835)
## Closed Form : p.824 "C."
## ----------------------------------------------------------------
if (0 > m || m > n) stop("'m' must be in 0..n !")
k <- 0:m
sig <- rep(c(1,-1)*(-1)^m, length= m+1)# 1 for m=0; -1 1 (m=1)
## The following gives rounding errors for (25,5) :
## r <- sum( sig * k^n /(gamma(k+1)*gamma(m+1-k)) )
ga <- gamma(k+1)
round(sum( sig * k^n /(ga * rev(ga))))
}
pmf<-function(n,t,k) {
if (t >= (n-k) & n >= k) {
(choose(n,k) * factorial(n-k) * Stirling2(t,n-k) )/(n^t)
} else {
0
}
}
lambda <- 1
n <- 10
reps <- 500000
set.seed(2017)
X <- matrix(ncol=n,nrow=reps,data=rpois(n*reps,lambda))
K <- apply(X, 1,function(x){sum(x == 0)})
hist(K)
# restrict only to those that sum to t
Y<-rowSums(X)
t<-8
G<- (Y == t)
sum(G)
k <- 5
#head(X[which(K==k),])
#head(Y[which(K==k)])
#head(X[G,])
#head(Y[G])
posskvalues <- (n-t):n
nk <- length(posskvalues)
empP <- numeric(nk)
thP <- numeric(nk)
for(i in 1:nk) {
k <- posskvalues[i]
# sum(K[G] == k)
empP[i] <- sum(K[G] == k)/sum(G)
thP[i] <- pmf(n,t,k)
}
plot(posskvalues,empP,main=paste("n=",n,", t=",t))
points(posskvalues,thP,pch="x")