Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Génération de nombres aléatoires entre bornes

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Gravier2009

XLDnaute Nouveau
Bonjour,

J'ai une variable aléatoire avec une distribution gamma entre deux bornes (-0.03;0.27). Malheureusement, quand j'entre la commande:
=LOI.GAMMA.INVERSE(ALEA.ENTRE.BORNES(-0.03;0.27);1.77;44.44)
j'obtiens irrévocablement un 0.

J'aimerai obtenir a peu près 300 "tirages" de cette variable à gamma distribution.

Merci bcp d'avance!

Gravier
 
Re : Génération de nombres aléatoires entre bornes

Salut Gravier,

Je ne connais rien à la LOI.GAMMA.INVERSE et ça me navre tous les jours 😀😀. Par contre, ALEA.ENTRE.BORNES "renvoit un nombre entier aléatoire entre les nombres que vous spécifiez" dit l'aide d'Excel.
Entre -0.03 et 0.27, je crains qu'il n'y ait pas beaucoup de solutions en dehors d'un bon gros zéro.

...Ou alors je n'ai rien compris !?

Modeste
Mais ... je manque à tous mes devoirs: sois le bienvenu !!
 
Dernière édition:
Re : Génération de nombres aléatoires entre bornes

Bonjour Gravier2009, Modeste, le forum,

Bienvenu sur ce forum,

Aléa peut donner des valeurs négatives/

=(-0,03)+ALEA()*(0,27-(-0,03))
Par contre, comme Modeste, je n'y connais rien à cette fonction:

=LOI.GAMMA.INVERSE((-0,03)+ALEA()*(0,27-(-0,03));1,77;44,44)

mais apparamment, elle renvoie un message d'erreur quand tu as un alea négatif.

JHA
 
Re : Génération de nombres aléatoires entre bornes

Bonjour à tous
Par définition de la fonction LOI.GAMMA.INVERSE, son premier paramètre est une probabilité, autrement dit un nombre réel dans l'intervalle [ 0 ; 1 ]. Il est donc certain qu'avec le paramétrage de Gravier2009, cette fonction ne renverra jamais autre chose que zéro.
Le premier paramètre ne peut être strictement négatif ou strictement supérieur à 1 : En langage courant, un évènement de probabilité nulle est un un évènement qui ne se réalise jamais. Un évènement de probabilité égale à 1 est un évènement dont la réalisation est certaine. Un évènement de probabilité un demi a une chance de réalisation sur deux. Etc...
Mais que peut signifier une probabilité de -0,03 ?​
ROGER2327
 
Re : Génération de nombres aléatoires entre bornes

HI! Tout le monde
Je ne suis pas un spé des probabilité, mais je connais l'existance la binomiale négative. Ne m'en demandez pas plus.
BYE!
 
Re : Génération de nombres aléatoires entre bornes

Bonjour tout le monde!
Merci pour vos réponse!

Je crois que c'est peut être plus simple que je vous explique ce que j'aimerais faire. J'ai une variable qui suit une distribution gamma. La plus petite valeur de cette variable est -0.03 et la plus grande valeur est 0.27.
J'aimerais généré sur une colonne un tirage de trois cents échantillons, puis répéter l'exercice dans les colonnes suivante (on va dire 1000 fois). Mon but est de faire une simulation Monte-Carlo de différent de ces taux d'actualisation (la variable avec gamma distribution).

Mon dernier essai est:
=LOI.GAMMA.INVERSE(-0.03+((0.27-0.03)*ALEA());1.77;0.44)

Le problème est que j'obtiens certains résultats supérieurs à 0.27 (ma valeurs maximale) et certaines cellules affichent #NOMBRE!.

ça vous semble possible d'avoir un beta = 44.44? Quand je mets ça, je me retrouve carrément avec des résultat au dessus de dix.

Merci bcp pour votre aide!

Gravier
 
Re : Génération de nombres aléatoires entre bornes

Bonjour à tous,
D'abord, Merci!!
Ensuite, je viens de vous écrire un beau message bien structuré qui s'est perdu je ne sait où...

Alors reprenons. Je pense que le plus simple est peu être que je vous dise ce que je veux faire: faire une simulation de Monte Carlo pour une variable dont la valeur minimale est de -0.03 et la valeur maximale est de 0.27. Cette variable suit une distribution gamma (alpha=1.77, beta=0.44).

Mon dernier essai est:
=LOI.GAMMA.INVERSE(-0.03+((0.27-0.03)*ALEA());1.77;0.44)
Le probléme est que j'obtiens certain résultats plus grand que 0.27. De plus, j'ai un doute sur le beta qui pourrait en fait être 44.44. Dans ce cas, j'obtiens carrément des valeurs supérieur à 10.Un autre internaute m'a suggéré: =LOI.GAMMA.INVERSE(ALEA.ENTRE.BORNES(-3;27)/100;1.77;0.44). Pareil, j'obtiens des nombres en dehors de l'intervalle souhaitée. Dans tous les case, j'obtiens certaines cellules avec #NOMBRE!.
merci d'avance à tous,
Gravier
 
Re : Génération de nombres aléatoires entre bornes

Bonjour à tous,
D'abord, Merci!!
Ensuite, je viens de vous écrire un beau message bien structuré qui s'est perdu je ne sait où...

Alors reprenons. Je pense que le plus simple est peu être que je vous dise ce que je veux faire: faire une simulation de Monte Carlo pour une variable dont la valeur minimale est de -0.03 et la valeur maximale est de 0.27. Cette variable suit une distribution gamma (alpha=1.77, beta=0.44).

Mon dernier essai est:
=LOI.GAMMA.INVERSE(-0.03+((0.27-0.03)*ALEA());1.77;0.44)
Le probléme est que j'obtiens certain résultats plus grand que 0.27. De plus, j'ai un doute sur le beta qui pourrait en fait être 44.44. Dans ce cas, j'obtiens carrément des valeurs supérieur à 10.Un autre internaute m'a suggéré: =LOI.GAMMA.INVERSE(ALEA.ENTRE.BORNES(-3;27)/100;1.77;0.44). Pareil, j'obtiens des nombres en dehors de l'intervalle souhaitée. Dans tous les case, j'obtiens certaines cellules avec #NOMBRE!.
merci d'avance à tous,
Gravier
 
Re : Génération de nombres aléatoires entre bornes

bonjour a tous

A tester:

=LOI.GAMMA.INVERSE(ALEA.ENTRE.BORNES(-3;27)/100;1.77;0.44)

Ps: je ne connais pas plus que les autres LOI.GAMMA.INVERSE
Re ps: apres test : la loi.gamma.... ne reconnait pas de probabilité inverse !!! (ce que nous disait deja ROGER ! )
 
Dernière édition:
Re : Génération de nombres aléatoires entre bornes

Bonjour,
je crois que je vais laisser tomber les deux observations en dessous de zéro pour m'accorder sur les remarques de Pierre-Jean et de Roger.
Par contre, même comme ceci, je me retrouve avec des valeurs plus grandes que ma borne à 0.27.
Qu'est-ce que j'en fais dans ma simulation Monte Carlo? Je les ignore?
Tous le meilleur,
Gravier
 
Re : Génération de nombres aléatoires entre bornes

Encore une petite question:
Est-ce que vous penser que ces deux formules dont équivalentes:
=LOI.GAMMA.INVERSE(0+((0.27+0)*ALEA());1.77;0.44)
=LOI.GAMMA.INVERSE(ALEA.ENTRE.BORNES(0;27)/100;1.77;0.44)
Merci!
Gravier
 
Re : Génération de nombres aléatoires entre bornes

Re
Je ne connais pas plus la simulation Monte Carlo que la loi.gamma.inverse
(d'ou mon ignorance de ce que sont l'alapha et le beta)

mais si tu veux un aleatoire entre -0.03 et 0.27 c'est:

=ALEA.ENTRE.BORNES(-3;27)/100
 
Re : Génération de nombres aléatoires entre bornes

Re...
On trouve, dans l'aide sur la fonction LOI.GAMMA.INVERSE :
Si l'argument probabilité < 0 ou si l'argument probabilité > 1, la fonction LOI.GAMMA.INVERSE renvoie la valeur d'erreur #NOMBRE!
Or, votre argument probabilité est -0.03+((0.27-0.03)*ALEA()). Cet argument sera négatif chaque fois que ALEA() renverra un valeur plus petite que 0,125 (en gros, une fois sur huit). Dans ce cas, la fonction LOI.GAMMA.INVERSE vous renverra #NOMBRE!.
Je pense qu'il convient de revoir le cadre théorique dans lequel vous vous placez : soit votre problème se résout par l'application de la fonction LOI.GAMMA.INVERSE d'Excel, et alors les données que vous utilisez sont comprises entre 0 et 1 ; soit vos données ne sont pas comprises entre 0 et 1, et alors la fonction LOI.GAMMA.INVERSE n'est pas l'outil dont vous avez besoin.
Quant au choix de la valeur beta = 44.44, elle est théoriquement possible. Mais elle dépend de votre problème, et nous n'avons pas les éléments pour vérifier qu'elle est correcte.
Je crains que, en ignorant tout du raisonnement qui vous a conduit à choisir ces paramètres et cette fonction plutôt que d'autres, il soit difficile de vous aider.
Mais les ressources de ce forum sont étonnantes : vous trouverez peut-être l'interlocuteur compétent...
Patience...​
ROGER2327
_
_
_______________________
P.S. : bonjour à pierrejean que je n'ai pas croisé depuis un bon moment...
 
Dernière édition:
Re : Génération de nombres aléatoires entre bornes

Merci Roger pour votre réponse.

=LOI.GAMMA.INVERSE(ALEA.ENTRE.BORNES(0;27)/100;1.77;0.44)
Est-ce que cela veut bien dire: chaque possible taux d'actualisation est pesé par le poids qui lui es propre dans une distribution gamma avec alpha 1,77, beta 0.044 et un rang possible entre 0 et 27?

Voici ce que je veux faire.

1250 économistes répondu à la question "quel taux d'actualisation (discount rate) pour les 300 prochaines années?". Leurs réponses suit approximativement une distribution gamma dont la moyenne est 4% et l'écart type est de de 2% (d'ou alpha= 1.77=moyenne au carré/variance, beta=44.44=moyenne/variance). La réponse la plus petite est -3% et la plus grande 27%.

Cette distribution est prise comme base pour simuler le "discount rate factor" (le poids que l'on donne à un cout dans le futur relativement aux couts présents) des 300 prochaine années.

Parallèlement, une autre variable aléatoire avec une distribution poisson décrit la survenue d'un choc négatif sur le taux d'actualisation. (je l'ai fais avec l'outil d'analyse, générateur de nombres aléatoires).

Finalement, les deux variables sont assemblées pour obtenir le taux d'actualisation prenant en compte la variable choc.

J'aurai bien aimé vous montrer mon fichier, mais il est trop lourd pour la limite du forum!

Gravier
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…