Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Dernière révision Les deux révisions suivantes | ||
loi_poisson [2008/03/29 08:59] tyrtamos |
loi_poisson [2008/04/12 08:41] tyrtamos |
||
---|---|---|---|
Ligne 264: | Ligne 264: | ||
Là, j'en suis sûr (à 95%): les actions que j'ai menées ont effectivement fait baissé les accidents! | Là, j'en suis sûr (à 95%): les actions que j'ai menées ont effectivement fait baissé les accidents! | ||
+ | |||
===== Génération de valeurs tirées au hasard selon une distribution de Poisson ===== | ===== Génération de valeurs tirées au hasard selon une distribution de Poisson ===== | ||
+ | Cette fonction peut fournir une seule valeur ou une liste de valeurs (longueur de la liste donnée par le paramètre optionnel nb). | ||
+ | |||
+ | On applique le principe général de ce genre de calcul: | ||
+ | |||
+ | * on tire au hasard un nombre décimal compris entre 0 et 1 avec random(), et on le considère comme une probabilité cumulée. | ||
+ | |||
+ | * grâce au calcul de la probabilité cumulée de la loi de Poisson, on cherche à quel variable aléatoire k cela correspond | ||
+ | Pour alléger les calculs, on utilise ici le calcul de la probabilité normale et pas celle cumulée. En fait, on la recalcule dans la recherche. | ||
+ | Codage proposé: | ||
+ | <code python> | ||
+ | # | ||
+ | # -*- coding: utf-8 -*- | ||
+ | from __future__ import division | ||
+ | from math import * | ||
+ | import random | ||
+ | def hpoisson(m, | ||
+ | """ | ||
+ | def _hpoisson(m): | ||
+ | ph=random.random() | ||
+ | k=0 | ||
+ | pc=poisson(k, | ||
+ | while ph>pc: | ||
+ | k+=1 | ||
+ | pc+=poisson(k, | ||
+ | return k | ||
+ | if nb==0: | ||
+ | return _hpoisson(m) | ||
+ | else: | ||
+ | R=[] | ||
+ | for j in xrange(0, | ||
+ | R.append(_hpoisson(m)) | ||
+ | return R | ||
+ | # exemple d' | ||
+ | print hpoisson(2) | ||
+ | print hpoisson(2) | ||
+ | print hpoisson(2) | ||
+ | print hpoisson(2, | ||
+ | </ | ||
+ | Avec cette fonction, on peut faire des simulations de tirage au hasard. | ||
+ | < | ||
+ | < | ||
+ | <style type=" | ||
+ | <!-- | ||
+ | body {background-image: | ||
+ | --> | ||
+ | </ | ||
+ | </ | ||
+ | < | ||
+ | </ | ||
+ | </ |