Comment utiliser la librairie numpy.random pour simuler les lois usuelles et comparer différentes méthodes ?
rd.binomial, rd.geometric, rd.poisson, rd.exponential, rd.normal ou rd.randnSimuler une ou plusieurs réalisations d'une loi usuelle sans implémenter la méthode d'inversion ou le TLC.
Simuler réalisations de , , et , puis vérifier les moyennes empiriques.
Simuler une ou plusieurs réalisations d'une loi usuelle sans implémenter la méthode d'inversion ou le TLC.
La bibliothèque numpy.random fournit des générateurs optimisés pour toutes les lois du programme : chaque appel prend en argument les paramètres de la loi et le paramètre size pour la taille de l'échantillon, et renvoie un tableau numpy.
import numpy.random as rd (ou j'utilise np.random si import numpy as np).rd.binomial(n, p, size=N), rd.geometric(p, size=N), rd.poisson(lam, size=N), rd.exponential(scale=1/lam, size=N), rd.normal(mu, sigma, size=N), rd.randn(N) pour .size=N pour obtenir un tableau numpy de réalisations en une seule ligne.rd.exponential attend le paramètre d'échelle (pas ) ; rd.normal attend l'écart-type (pas la variance ).rd.seed(42) avant les appels pour garantir la reproductibilité de l'expérience.Simuler réalisations de , , et , puis vérifier les moyennes empiriques.
import numpy.random as rd (ou j'utilise np.random si import numpy as np).import numpy as np
import numpy.random as rd
rd.binomial(n, p, size=N), rd.geometric(p, size=N), rd.poisson(lam, size=N), rd.exponential(scale=1/lam, size=N), rd.normal(mu, sigma, size=N), rd.randn(N) pour .N = 10**4
B = rd.binomial(20, 0.3, size=N) # Binomiale B(20, 0.3)
P = rd.poisson(5, size=N) # Poisson P(5)
E = rd.exponential(1/2, size=N) # Exponentielle E(2) : scale = 1/lam
X = rd.normal(1, 2, size=N) # Normale N(1, 4) : sigma = 2
size=N pour obtenir un tableau numpy de réalisations en une seule ligne.Chaque appel renvoie un tableau numpy de taille prêt à analyser.
rd.exponential attend le paramètre d'échelle (pas ) ; rd.normal attend l'écart-type (pas la variance ).Je note que pour d'espérance , l'argument est scale=1/2 ; pour de variance , l'argument est sigma = 2.
rd.seed(42) avant les appels pour garantir la reproductibilité de l'expérience.print(np.mean(B), np.mean(P), np.mean(E), np.mean(X))
# attendu: 6, 5, 0.5, 1
Les moyennes empiriques sont conformes aux espérances .
Comparer, pour et , la méthode while de Q8, la méthode floor+expo de Q9 et rd.geometric(p) : moyennes empiriques et temps d'exécution.
Comparer la méthode TLC+12 uniformes et rd.randn pour simuler : moyenne, variance, temps d'exécution sur .
Simuler réalisations de , et vérifier les espérances théoriques.
Générer réalisations de via rd.normal(loc=2, scale=3, size=N) et comparer moyenne et variance empiriques aux valeurs théoriques.
Crée ton compte pour accéder à la fiche et aux exercices