Bonjour,
Je cherche un simuler un processus aléatoire en réalisant des tirages aléatoires dans une loi binomiale un très grand nombre de fois.
En gros j'ai une population composé de deux éléménts à une fréquence différentes, et je cherche à rééchantillonner ma population un très grand nombre de fois (1000000) pour la faire évoluer.
J'ai utilisé le code suivant :
Cela fonctionne très bien, mais je réalise cette opération tellement souvent, que mon programme est très long.
Code : Sélectionner tout - Visualiser dans une fenêtre à part pos["freq"] = sum(np.random.binomial(1,pos["freq"], 2*param["popSize"])) / (2*param["popSize"])
J'ai profilé le code avec cProfiler, et c'est bien cette ligne qui prend le plus de temps : la somme prend beaucoup de temps ainsi que le tirage dans la binomiale.
Je cherche donc si il y a moyen de faire plus efficace, sans succès pour le moment .
Quelqu'un aurait une idée ?
Partager