Comment simuler une variable aléatoire par la méthode d'inversion à partir de la fonction de répartition ?
X = F_inv(rd.random()) pour obtenir une réalisation de Simuler une réalisation de de fonction de répartition connue, continue et strictement croissante.
Simuler une variable avec par inversion de sa fonction de répartition pour .
Simuler une réalisation de de fonction de répartition connue, continue et strictement croissante.
Si est continue strictement croissante et , alors la variable a pour fonction de répartition , puisque .
def F_inv(u): return ....import numpy.random as rd puis u = rd.random() (réel de ).X = F_inv(u) : d'après le théorème de la réciproque, suit bien la loi de fonction de répartition .U = rd.random(N) puis X = F_inv(U) (si F_inv accepte un tableau numpy).Simuler une variable avec par inversion de sa fonction de répartition pour .
Je pars de sur , strictement croissante et continue.
def F_inv(u): return ....Je résous , soit , donc . Comme a même loi que , je simplifie en F_inv = lambda u: -np.log(u)/2.
import numpy.random as rd puis u = rd.random() (réel de ).Je saisis import numpy as np puis import numpy.random as rd et u = rd.random().
X = F_inv(u) : d'après le théorème de la réciproque, suit bien la loi de fonction de répartition .Je tape X = -np.log(rd.random())/2 : suit .
U = rd.random(N) puis X = F_inv(U) (si F_inv accepte un tableau numpy).Pour un échantillon : U = rd.random(10**4), X = -np.log(U)/2 puis plt.hist(X, bins=50, density=True) permet de vérifier la densité .
X = -np.log(rd.random())/2 fournit une réalisation de .
Simuler une variable de densité sur (et ailleurs) par inversion.
Simuler une variable de loi de Cauchy standard, de fonction de répartition .
Soit de fonction de répartition pour . Écrire une fonction Python simule_X() qui simule par inversion de la fonction de répartition.
Soit de densité sur , nulle sinon. Écrire une fonction Python simulant par inversion de la fonction de répartition.
Crée ton compte pour accéder à la fiche et aux exercices