π
<-
Chat plein-écran
[^]

Tirer un nombre aléatoire dans une loi quelquonque

:32ti73: :32ti73e: :32ti73e2: :32ti76f: :32ti80: :32ti81: :32ti82: :32ti85: :32ti86: :32ti82s: :32ti82sf: :32ti82sfn: :32ti83: :32ti83p: :32ti83pb: :32ti83pr: :32ti83pfr: :32ti83pse: :32ti84p: :32ti84pse: :32ti84ppse: :32ti84pfr: :32ti84pcse: :32ti83pfrusb: :32ti82p: :32ti82a: :32ti84pce: :32ti83pce:

Tirer un nombre aléatoire dans une loi quelquonque

Unread postby Persalteas » 25 Jul 2017, 12:16

Salut :)

Connaissez vous un algorithme relativement simple à implémenter sur 83 Premium CE qui permettrait le choix d'une valeur d'angle aléatoire (dans l'intervalle [0, 2pi]), mais selon une distribution de probabilité bien particulière ?

En l'occurrence, ma densité de probabilité est continue par morceaux (des fragments de droites).

J'allais partir sur une méthode de Monte-Carlo, mais si il existait quelque chose de plus simple et demandant moins de calculs, je vous demande au cas où.
Merci pour vos idées ! ;)

Persalteas
User avatar
PersalteasMembre UPECS
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 6.2%
 
Posts: 2337
Images: 113
Joined: 04 Feb 2010, 00:00
Location: Evry (France)
Gender: Male
Calculator(s):
MyCalcs profile
Class: PhD candidate, Bioinformatics

Re: Tirer un nombre aléatoire dans une loi quelquonque

Unread postby Adriweb » 30 Jul 2017, 13:32

Je ne crois pas qu'il y ait un moyen de faire ça optimalement (une fonction prévue pour, je veux dire) pour des distributions personnalisées...
(Et d'ailleurs même pas sûr que ce soit possible sur Nspire, même, en fait...)

Donc je suppose qu'il faudra se taper de (longs?) calculs à la main ^^
Image

MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)
User avatar
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 80.2%
 
Posts: 14615
Images: 1218
Joined: 01 Jun 2007, 00:00
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
Twitter: adriweb
GitHub: adriweb

Re: Tirer un nombre aléatoire dans une loi quelquonque

Unread postby Persalteas » 03 Aug 2017, 15:46

Du coup, je me suis débrouillé avec un échantillonnage Monte Carlo. C'est une méthode discrète, mais ça a le mérite de fonctionner.
J'imagine que toi, tu connais, mais j'explique quand meme pour la postérité de ce topic:

Cette algorithme permet de tirer au hasard un élément d'une liste de taille N, alors que tous les éléments de la liste n'ont pas la meme proba d'etre tirés.

Données de départ:
  • intervalle
    $mathjax$[a,b]$mathjax$
    dans lequel tirer les valeurs, ou une liste de taille N contenant des élements (non numériques) à tirer
  • une liste p de taille N qui donne une estimation de la probabilité de N valeurs connues dans l'intervalle [a,b], ou pour les éléments de la liste
mc.png


  • Prendre un rectangle de longueur b-a et de hauteur au moins max(p)
  • Prendre des points dans ce rectangle, dont les abscisses correspondent aux valeurs de l'intervalle dont vous connaissez la proba, et régulièrement espacés sur l'axe Y,
  • Pour chaque point, vérifier si vous etes au dessus ou en dessous de la courbe,
  • Faire une liste avec tous les points qui sont en dessous (ou pile dessus)
  • En tirer un au sort dans la liste
  • Regarder son abscisse: c'est votre valeur tirée au sort dans [a,b].

Les puristes me diront que je mélange une loi de proba discrète et une continue (la probabilité d'une valeur précise dans une loi continue est censée etre nulle). En effet mon tableau p devrait plutot se définir comme une liste de points présents sur la fonction de densité de probabilité :P
User avatar
PersalteasMembre UPECS
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 6.2%
 
Posts: 2337
Images: 113
Joined: 04 Feb 2010, 00:00
Location: Evry (France)
Gender: Male
Calculator(s):
MyCalcs profile
Class: PhD candidate, Bioinformatics

Re: Tirer un nombre aléatoire dans une loi quelquonque

Unread postby Adriweb » 03 Aug 2017, 17:11

Ok. Tu devrais publier ton programme, ou au moins la partie qui gère ça :)
Image

MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)
User avatar
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 80.2%
 
Posts: 14615
Images: 1218
Joined: 01 Jun 2007, 00:00
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
Twitter: adriweb
GitHub: adriweb


Return to Problèmes divers / Aide débutants

Who is online

Users browsing this forum: No registered users and 30 guests

-
Search
-
Social TI-Planet
-
Featured topics
Comparaisons des meilleurs prix pour acheter sa calculatrice !
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
Phi NumWorks jailbreak
123
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...
Donate
Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
1440 utilisateurs:
>1428 invités
>8 membres
>4 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)
cron