Aux fanas du calcul probabiliste.
Python 3.
Une fonction "combinaisons" fondée sur une des nombreuses propriétés du triangle de Pascal, elle ne récurre que sur p.
def cnp(n,p):
if p>0:
return int(cnp(n,p-1)/p*(n-p+1))
return 1
Et donc la fonction "Loi hypergéométrique"
Np=Nombre population
Sp=Succès population
Ne=Nombre échantillon
Se=Succès échantillon
def lhg(Se,Ne,Sp,Np):
return cnp(Np-Sp,Ne-Se)/cnp(Np,Ne)*cnp(Sp,Se)
Le contrôle de cohérence sera fait avant appel
Partager