Générateur de nombres aléatoires

Réponses à toutes vos questions après le Bac (Fac, Prépa, etc.)
janno
Messages: 2
Enregistré le: 09 Avr 2008, 21:30

Générateur de nombres aléatoires

par janno » 09 Avr 2008, 21:36

Bonjour à tous,

Voila c'est une question indépendante d'un DM sur les probas-stats :

"Comment peut-on, à partir d'un générateur de nombres aléatoires suivant une distribution uniforme sur ]0;1[, obtenir des nombres aléatoires suivant une distribution donnée ?"

J'avoue que je sèche complètement...

Merci de votre aide,



tize
Membre Complexe
Messages: 2385
Enregistré le: 16 Juin 2006, 20:52

par tize » 09 Avr 2008, 21:46

Bonjour,
si tu cherches à simuler une variable aléatoire Y de fonction de répartition Fy alors il te suffit d'utiliser la fonction image réciproque de Fy et la variable X de loi uniforme sur ]0;1[.

BQss
Membre Irrationnel
Messages: 1202
Enregistré le: 02 Nov 2006, 04:32

par BQss » 09 Avr 2008, 21:52

janno a écrit:Bonjour à tous,

Voila c'est une question indépendante d'un DM sur les probas-stats :

"Comment peut-on, à partir d'un générateur de nombres aléatoires suivant une distribution uniforme sur ]0;1[, obtenir des nombres aléatoires suivant une distribution donnée ?"

J'avoue que je sèche complètement...

Merci de votre aide,


Il y a de nombreuse méthodes et qui dépendent de la loi que l'on veut simuler.

Une methode generale valable quand tu es capable de calculer la fonction inverse generalisée noté" F^(-1)( quand la fonction de repartition est bijective c'est l'inverse de la fonction de repartition tout simplement , si non cf google ;)) , c'est de prendre l'image par F^(-1) d'une realisation uniforme.

La demo dans le cas ou F est bijective est elementaire( ca se demontre rapidement aussi dans le cas general):
P(F^(-1)(U) < t) = P(F (F^(-1)(U) ) < F (t) ) par croissance de la fonction de repartition = P(U < F (t) ) =F(t) (car U suit la loi uniforme), F^(-1)(U) a donc la meme fonction de repartion que la loi de fonction de repartition F (dont on cherchait a simuler une realisation) et suit donc la meme loi.


Voila donc quand tu sais calculer la fonction de rep de la loi que tu veux simuler tu prends F-1 d'une realisation uniforme et ce sera une realisation de ta loi.

Ensuite tu as plein d'autres methodes, tel que par exemple, la methode de box muller pour simluler les lois normales( sachant qu'on a pas de formule explicite pour la fonction de rep inverse pour une loi normale c'est pratique...).

Je vais te donner un lien si tu veux.

BQss
Membre Irrationnel
Messages: 1202
Enregistré le: 02 Nov 2006, 04:32

par BQss » 09 Avr 2008, 21:53

tize a écrit:Bonjour,
si tu cherches à simuler une variable aléatoire Y de fonction de répartition Fy alors il te suffit d'utiliser la fonction image réciproque de Fy et la variable X de loi uniforme sur ]0;1[.


Ah désolé tize j'avais pas vu

tize
Membre Complexe
Messages: 2385
Enregistré le: 16 Juin 2006, 20:52

par tize » 09 Avr 2008, 21:57

Salut BQss,
no problemo :we: , de toute manière ta réponse est beaucoup plus claire et précise que la mienne alors...

BQss
Membre Irrationnel
Messages: 1202
Enregistré le: 02 Nov 2006, 04:32

par BQss » 09 Avr 2008, 22:00

Oki Tize :), et bonsoir, content de te voir !







et voila le lien:

http://www.proba.jussieu.fr/pageperso/millet/montecarlo.pdf
chapitre 2 page 16 à 30.

CF à voir aussi en particulier les methodes de rejets page 19, qui representent un autre moyen tres utilisé, c'est notamment comme ca qu'on simule les loi gamma(et tu peux procéder a un grand nombre de methodes de rejets différentes)

cf ici une autre version de methode de rejet pour les lois gamma par exemple:
http://www.proba.jussieu.fr/%7Emenozzi/these/tp_mc_ISIFAR1.pdf
(la demo est un peu longue et se sert du theoreme du cours du lien, si tu voulais vraiment la savoir envoie moi un message ;))


a+

janno
Messages: 2
Enregistré le: 09 Avr 2008, 21:30

générateur de nombres aléatoires (II)

par janno » 10 Avr 2008, 21:06

Ok merci pour vos réponses !

En fait aujourd'hui, j'ai réussi à simuler dans un tableur une v.a suivant la loi nomale centrée réduite par la méthode de l'inversion.

J'ai utilisé les fonctions ALEA(), LOI.NORMALE.INVERSE et NB.SI
(on obtient d'ailleurs une jolie courbe en cloche de Gauss si on fait les histogrammes de fréquence des classes de résultats obtenus).

A la fin, il y a une question subsidiaire :

"On voudrait maintenant simuler une v.a ne prenant que des valeurs positives. Indiquer la démarche (propriétés que doit garder F, redéfinir X à partir de U) et l'adapter pour la simulation d'une v.a suivant la loi exponentielle de paramètre 1"

En fait je vois à peu près l'algorithme à faire, la fonction à inverser tout ça mais "redéfinir X à partir de U" :triste: et les propriétés que doit garder F (là je dirais stricte croissance et continuité mais...)

BQss
Membre Irrationnel
Messages: 1202
Enregistré le: 02 Nov 2006, 04:32

par BQss » 10 Avr 2008, 21:18

Je comprends pas bien ce que tu veux. Pour generer une loi positive a partir de n'importe quelle loi il suffit par exemple de poser 1 quand X>0 et 0 si non.

Si non si U est uniforme et que tu cherches une loi en particulier comme Tize et moi te l'avons rappeler il suffit de poser F-1(U) avec F la fonction de repartition et F-1 l'inverse generalisé de la loi que tu veux simuler.

Il n'y a normalement aucun restriction sur F, c'est tout le temps valable

 

Retourner vers ✯✎ Supérieur

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 38 invités

cron

Tu pars déja ?



Fais toi aider gratuitement sur Maths-forum !

Créé un compte en 1 minute et pose ta question dans le forum ;-)
Inscription gratuite

Identification

Pas encore inscrit ?

Ou identifiez-vous :

Inscription gratuite