Bonjour à tous !
Voilà mon problème : J'ai besoin d'écrire un script (C++) qui me permette de générer une loi Beta(a,b). Après quelque recherche j'ai trouvé un méthode simple qui fonctionne bien :
il suffit de générer 2 loi X1=gamma(a,1) et X2=gamma(b,1) et ainsi en faisant X1/(X1+X2) j'obtiens un nombre tirée dans la loi Beta(a,b)
Et pour générer les loi gamma(x,1) il suffit de faire le log de x fois le produit d'une loi uniforme. C'est donc impect tant que a et b sont supérieur à 1 !
En gros tout mon soucie est là a et b doivent être supérieur à 1 : moi je voudrais générer une loi beta(0.5,0.5), par exemple. Dans ce cas l'algorithme ci dessus ne fonctionne plus du tout !
J'ai beau eu chercher j'ai rien trouvé! Quelqu'un se serait-il déjà penché sur le problème et/ou à une solution ?
Merci beaucoup! :we:
ThT12
Edit : La méthode de rejet peut-elle être utiliser dans ce cas ?