Outils pour utilisateurs

Outils du site


loi_hypergeometrique

Ceci est une ancienne révision du document !


Loi Hypergéométrique

en construction

Loi hypergeométrique

Pour la définition: voir http://fr.wikipedia.org/wiki/Loi_hyperg%C3%A9om%C3%A9trique

On utilise la loi hypergéométrique au lieu de la loi binomiale lorsque la taille de l'échantillon n'est plus négligeable devant la taille de la population (>10%).

<m>Prob(k)=c_g_k_c_t-g^{n-k}}}/{{C_t}^n}</m>

Avec <m>{{C_n}^k}</m> = calcul du nombre de combinaisons de n objets pris k à k:

<m>{{C_n}^k}~=~{n!}/{k!(n-k)!}~=~{n(n-1)(n-2)…(n-k+1)}/{k!}</m>

Voici le code proposé. Il applique strictement la définition, et utilise la fonction combin() définie dans la page de l'analyse combinatoire de ce site.

#!/usr/bin/python
# -*- coding: utf-8 -*-
from __future__ import division
 
def hypgeo(k,n,g,t):
    """hypgeo(k,n,g,t): prob d'avoir k réussites dans un échantillon de taille n, sachant qu'il y en a g dans la population de taille t"""
    return combin(g,k)*combin(t-g,n-k)/combin(t,n)
 
# Exemple d'utilisation:
print hypgeo(3,5,13,52) # affiche:

Loi hypergeométrique cumulée

Il s'agit de la somme des probabilités précédentes pour 0,1,2,…,k.

#!/usr/bin/python
# -*- coding: utf-8 -*-
from __future__ import division
 
def hypgeocum(k,n,g,t):
    """hypgeocum(k,n,p,t): prob d'avoir 0,1,..,k réussites dans un échantillon de taille n, sachant qu'il y en a g dans la population de taille t"""
    x=0
    for i in range(0,k+1):
        x+=hypgeo(i,n,g,t)
    return x
 
# Exemple d'utilisation:
print hypgeocum(3,5,13,52)  =>  

loi_hypergeometrique.1209109389.txt.gz · Dernière modification: 2008/04/25 09:43 (modification externe)

Outils de la page