N'oubliez pas que si Ouije sont indépendants Gamma(ai,b), pour i=1,…,k, puis
(X1,…,Xk)=(Y1∑kj=1Yj,…,Yk∑kj=1Yj)∼Dirichlet(a1,…,ak).
La preuve se trouve à la page 594 du livre de Luc Devroye .
Par conséquent, une possibilité consiste à calculer une approximation de Monte Carlo de
FX1,…,Xk(t1,…,tk)=P{X1≤t1,…,Xk≤tk},
en commençant par les gammas. Dans
R
, essayez ceci:
pdirichlet <- function(a, t) {
N <- 10000
rdirichlet <- function(a) { y <- rgamma(length(a), a, 1); y / sum(y) }
x <- replicate(N, rdirichlet(a), simplify = FALSE)
sum(sapply(x, function(x) prod(x <= t))) / N
}
Je n'ai pas vérifié le code. Utilisez-le soigneusement. Si vous trouvez des bogues, veuillez nous en informer.