Répondre à la discussion
Affichage des résultats 1 à 12 sur 12

Générer des données suivant une distribution "maison"



  1. #1
    Tris2

    Générer des données suivant une distribution "maison"


    ------

    Bonjour,

    J'ai besoin de générer des nombres entiers selon une distribution que j'ai déterminée.
    Par exemple:
    - 0 a 1% de chance de tomber
    - 1 a 59% de chance de tomber
    - 2 a 40% de chance de tomber

    Comment générer des données qui suivent cette distribution, pré-déterminée, sous Excel ou Open Office?
    Sinon, sous un autre outil?

    Merci beaucoup pour votre aide,
    Tristan

    -----

  2. Publicité
  3. #2
    toniodelaluna

    Re : Générer des données suivant une distribution "maison"

    Tu génère un nombre aléatoire entre 1 et 100.
    Si c'est 1, tu renvoies 0.
    Si c'est compris entre 2 et 59, tu renvoies 1, sinon 2.

  4. #3
    Philou67

    Re : Générer des données suivant une distribution "maison"

    Dans toutes les cellules de la première colonne, tu mets la formule :
    Code:
    =ALEA.ENTRE.BORNES(1;100)
    Dans toutes les cellules de la deuxième colonne, tu mets la formule :
    Code:
    =SI(A1<=1;0;SI(A1<=40;2;1))
    La deuxième colonne contient les valeurs sorties aléatoirement selon ta distribution (si j'ai bien compris).

    Edit : grillé
    :'( Plus j'apprends, et plus je mesure mon ignorance

  5. #4
    Tris2

    Re : Générer des données suivant une distribution "maison"

    Ok, j'imaginais qu'il existait une fonction réalisant ça étant donné le côté générique du problème.

    Merci beaucoup pour vos réponses!
    Tristan

  6. #5
    TiClic

    Re : Générer des données suivant une distribution "maison"

    Si c'est compris entre 2 et 59, tu renvoies 1, sinon 2
    Sauf erreur de ma part, je dirais si c'est compris entre 2 et 60... mais la logique est la même.

    Dans une distribution perso, il n'y a rien de générique. Sauf dans une pharmacie.

  7. A voir en vidéo sur Futura
  8. #6
    Tris2

    Re : Générer des données suivant une distribution "maison"

    Dans une distribution perso, il n'y a rien de générique.
    Si, la méthode de génération de données.

  9. Publicité
  10. #7
    TiClic

    Re : Générer des données suivant une distribution "maison"

    N'oublie pas en VB ou en C de te caler sur l'oscillateur, sinon tu auras toujours la même séquence de tirages.
    En VB ça donne ça :

    Code:
    Private Sub CommandButton1_Click()
      Dim Tirage As Integer
      Dim Réponse As Integer
      
      ' On se cale sur l'oscillateur de l'UC, sinon les séquences de tirages seront toujours les mêmes
      Randomize Time
      
      Do
        Tirage = Int(Rnd(1) * 100) + 1
        Select Case Tirage
          
          Case Is = 1: Réponse = MsgBox("0", vbRetryCancel, "Tirage suivant")
          If Réponse = vbCancel Then End
          Case Is > 60: Réponse = MsgBox("2", vbRetryCancel, "Tirage suivant")
          If Réponse = vbCancel Then End
          Case Else: Réponse = MsgBox("1", vbRetryCancel, "Tirage suivant")
          If Réponse = vbCancel Then End
        End Select
      Loop
    End Sub

  11. #8
    Tris2

    Thumbs up Re : Générer des données suivant une distribution "maison"

    Ok, merci pour la suggestion.

    Le problème de la méthode proposée est que la formule contient autant de tests que de valeurs possibles.

    J'ai donc adopté une légère variante, sous Open Office:
    - 1 colonne contient la distribution de probabilités
    - 1 colonne contient les probabilités cumulées
    - 1 colonne contient les valeurs correspondantes à chaque proba
    - Génération d'1 donnée aléatoire, appelons la alea, par la fonction RAND
    - Lookup parmi les probabilités cumulées laquelle est directement inférieure à alea, et retour de la valeur correspondante, par la fonction VLOOKUP
    --> La donnée finale aléatoire est la valeur retournée

    Merci encore pour votre aide,
    Tristan

  12. #9
    Philou67

    Re : Générer des données suivant une distribution "maison"

    Il faut une extension particulière pour avoir accès à la fonction VLOOKUP ?
    :'( Plus j'apprends, et plus je mesure mon ignorance

  13. #10
    Tris2

    Re : Générer des données suivant une distribution "maison"

    Non, VLOOKUP fait partie d'OO Calc de base (au moins depuis la version 2.0): http://documentation.openoffice.org/...fFunctions.pdf.
    Dernière modification par Tris2 ; 26/03/2009 à 12h21.

  14. #11
    Philou67

    Re : Générer des données suivant une distribution "maison"

    Exact, je me suis fait abuser par la langue de la fonction ... dans ma version française, c'est RECHERCHEV.

    Quelle aberration ce nommage lié à la langue de l'outil... (OpenOffice en Français n'accepte pas VLOOKUP...).
    :'( Plus j'apprends, et plus je mesure mon ignorance

  15. #12
    Tris2

    Re : Générer des données suivant une distribution "maison"

    En effet, de quoi devenir

  16. Publicité

Discussions similaires

  1. Construire une maison de type "Minergie" en France !?
    Par Sane dans le forum Habitat bioclimatique, isolation et chauffage
    Réponses: 441
    Dernier message: 11/05/2011, 12h50
  2. Réponses: 9
    Dernier message: 30/10/2008, 07h19
  3. MSG="prevention de l'execution des données"
    Par amgab2003 dans le forum Logiciel - Software - Open Source
    Réponses: 0
    Dernier message: 06/08/2008, 23h07
  4. Générer une trame en "logique"
    Par totoc1001 dans le forum Électronique
    Réponses: 3
    Dernier message: 06/03/2007, 08h44
Découvrez nos comparatifs produits sur l'informatique et les technologies.