Existe-t-il un moyen numériquement stable de calculer les valeurs d'une distribution bêta pour les grands nombres alpha, bêta (par exemple alpha, bêta> 1000000)?
En fait, je n'ai besoin que d'un intervalle de confiance de 99% autour du mode, si cela rend le problème plus facile.
Ajouter : Je suis désolé, ma question n'était pas aussi clairement formulée que je le pensais. Ce que je veux faire, c'est ceci: j'ai une machine qui inspecte les produits sur un tapis roulant. Une partie de ces produits est rejetée par la machine. Maintenant, si l'opérateur de la machine modifie un paramètre d'inspection, je veux lui montrer le taux de rejet estimé et quelques indices sur la fiabilité de l'estimation actuelle.
J'ai donc pensé traiter le taux de rejet réel comme une variable aléatoire X, et calculer la distribution de probabilité pour cette variable aléatoire en fonction du nombre d'objets rejetés N et d'objets acceptés M. Si je suppose une distribution préalable uniforme pour X, ceci est un distribution bêta en fonction de N et M. Je peux soit afficher cette distribution directement à l'utilisateur, soit trouver un intervalle [l, r] afin que le taux de rejet réel soit dans cet intervalle avec p> = 0,99 (en utilisant la terminologie de shabbychef) et afficher ceci intervalle. Pour les petits M, N (c'est-à-dire immédiatement après le changement de paramètre), je peux calculer la distribution directement et approximer l'intervalle [l, r]. Mais pour les grands M, N, cette approche naïve conduit à des erreurs de sous-dépassement, car x ^ N * (1-x) ^ M est trop petit pour être représenté comme un flotteur à double précision.
Je suppose que mon meilleur pari est d'utiliser ma distribution bêta naïve pour les petits M, N et de passer à une distribution normale avec la même moyenne et la même variance dès que M, N dépasse un certain seuil. Cela a-t-il du sens?
Réponses:
À la lumière des modifications apportées à la question, notez que l'on ne calcule pas les intégrales bêta en intégrant réellement l'intégrand: bien sûr, vous obtiendrez des sous-flux (bien qu'ils n'aient pas vraiment d'importance, car ils ne contribuent pas de manière appréciable à l'intégrale) . Il existe de très nombreuses façons de calculer l'intégrale ou de l'approcher, comme indiqué dans Johnson & Kotz (Distributions in Statistics). Une calculatrice en ligne se trouve à http://www.danielsoper.com/statcalc/calc37.aspx . Vous avez en fait besoin de l'inverse de cette intégrale. Certaines méthodes de calcul de l'inverse sont documentées sur le site Mathematica à http://functions.wolfram.com/GammaBetaErf/InverseBetaRegularized/α=1000000,β=1000001
inverse beta regularized (.005, 1000000, 1000001)
inverse beta regularized (.995, 1000000, 1000001)
la source
Une expérience graphique rapide suggère que la distribution bêta ressemble beaucoup à une distribution normale lorsque alpha et bêta sont tous deux très importants. En recherchant «limite de distribution bêta normale» sur Google, j'ai trouvé http://nrich.maths.org/discus/messages/117730/143065.html?1200700623 , ce qui donne une «preuve» d'ondulation.
La page wikipedia de la distribution bêta donne sa moyenne, son mode (v proche de la moyenne pour les grands alpha et bêta) et la variance, vous pouvez donc utiliser une distribution normale avec la même moyenne et variance pour obtenir une approximation. Que ce soit une approximation suffisamment bonne pour vos besoins dépend de vos objectifs.
la source
la source
Par exemple
produit généralement une sortie comme
c'est-à-dire que les valeurs de p typiques sont d'environ 0,2.
produit quelque chose comme
avec des valeurs de p typiques autour de 0,01
La
qqnorm
fonction R donne également une visualisation utile, produisant un tracé très direct pour la distribution log-odds indiquant la normalité approximative la distribution de la variable beta dsitribute produit une courbe distinctive indiquant la non normalitéla source