IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    décembre 2013
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : décembre 2013
    Messages : 72
    Points : 57
    Points
    57
    Par défaut Variable aléatoire discrète avec distribution de probabilité non uniforme
    Bonjour,
    J'analyse des données sur la confrontation entre équipes
    Pour cela, j'ai défini une centaines de critères qualitatif/quantitatif pour prédire le résultat final
    Chacun de ces critères possèdent plusieurs valeurs.

    Une fois la confrontation passée, je capitalise le résultat final(nommé label ci dessous) 1, 0, -1 sur le couple (critère,valeur )
    Exemple:

    critères valeur label: 1 label: 0 label: -1 Nb d’événements total
    c1 4 20 0 0 20
    c2 -20 60 40 40 140

    A ce jour, je me permettais de fournir une fiabilité sur la confrontation à venir.
    Car en effet cette confrontation possèdent bien ces 2 couples (critères/valeurs) tel que c1 & c2
    Fiabilité fournie:
    - Prevision label 1 = 50% (80/160)
    - Prevision label 0 = 25%
    - Prevision label -1 = 25%

    MON PROBLEME:
    360 jours plus tard, ces mêmes critères/valeurs ont capitalisé des résultats plus ou moins vite, exemple:

    critères valeur label: 1 label: 0 label: -1 Nb d’événements total
    c1 4 49 0 1 50
    c2 -20 200 200 200 600

    Fiabilité fournie à ce jour serait la suivante:
    - Prévision label 1 = 38% (249/650)
    - Prévision label 0 = 31%
    - Prévision label -1 = 31%

    Hors je trouve ce résultat faux

    Mon besoin:
    Je souhaiterais fournir une fiabilité "pondéré" sur le nombre d'événements total du critère & sur sa probabilité

    je m'explique par 3 exemples concrets

    exemple:

    critères valeur label: 1 label: 0 label: -1 Nb d’événements total
    c1 4 99 0 1 100
    c2 -20 1000 1000 1000 3000
    c3 10 80 10 1 91

    Je cherche un calcul qui me remonte la fiabilité que le résultat (label:1) soit bien plus élevé que 36% (1099/3000).
    Avec mon expérience j'aurais estimé une fiabilité à:
    - Prévision label 1 = 70%
    - Prévision label 0 = 15%
    - Prévision label -1 = 15%
    En effet, j'ai 2 critères(c1&c3) qui ont un nombre d'événements assez grand & une probabilité élevée sur une des 3 labels
    Alors que le critères c2 n'a pas une probabilité élevée sur une des 3 labels malgré un nombre d’événements capitalisé très grand.

    exemple:

    critères valeur label: 1 label: 0 label: -1 Nb d’événements total
    c1 4 9 1 0 10
    c2 -20 1000 1000 1000 3000
    c3 10 5 0 0 5

    Je cherche un calcul qui me remonte la fiabilité que le résultat (label:1) soit égal/légèrement plus élevé que 34% (1014/3015).
    Avec mon expérience j'aurais estimé une fiabilité à:
    - Prévision label 1 = 36%
    - Prévision label 0 = 32%
    - Prévision label -1 = 32%
    En effet, j'ai 2 critères(c1&c3) qui ont un nombre d’événement beaucoup trop faible malgré une probabilité élevée sur une des 3 labels
    Alors que le critères c2 n'a pas une probabilité élevée sur une des 3 labels malgré un nombre d’événements capitalisé très grand.

    exemple:

    critères valeur label: 1 label: 0 label: -1 Nb d’événements total
    c1 4 109 1.. 0 110
    c2 -20 1000 1000 1000 3000
    c3 10 5 0 400 405

    Je cherche un calcul qui me remonte la fiabilité que le résultat (label:1) soit bien plus élevé que 32% (1114/3515) et que le résultat (label:0) se rapproche de 0%
    Avec mon expérience j'aurais estimé une fiabilité à:
    - Prévision label 1 = 40%
    - Prévision label 0 = 4%
    - Prévision label -1 = 56%
    En effet, j'ai 2 critères(c1&c3) qui ont un nombre d’événements assez grand & une probabilité élevée sur un des 3 labels.
    Alors que le critères c2 n'a pas une probabilité élevée sur une des 3 labels malgré un nombre d’événements capitalisé très grand.

    Je travaille sur python, je cherche cette fameuse formule qui me sorte l'équivalant des fiabilité annoncées
    En effet je cherche sur les forums avec les mots clés suivants "Variable Aléatoire Discrète avec Distribution de probabilité non uniforme".
    Mais je dois faire fausse route.

    Quelqu'un aurait-il une idée pour les mots clés ou la formule utiliser?

    Merci d'avance
    Jerome

  2. #2
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    décembre 2013
    Messages
    3 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Conseil

    Informations forums :
    Inscription : décembre 2013
    Messages : 3 147
    Points : 7 214
    Points
    7 214
    Par défaut
    Je pense avoir compris ton besoin
    En fait, dans les exemples que tu donnes, en utilisant la formule ""naturelle"", tu nous dis le résultat que tu obtiens dans tes exemples est trop influencé par les lignes où on a énormément d'événements (3000 dans tes exemples). On va donc mettre en place une espèce de plafond :

    exemple:

    critères valeur label: 1 label: 0 label: -1 Nb d’événements total
    c1 4 109 1.. 0 110
    c2 -20 1000 1000 1000 3000
    c3 10 5 0 400 405

    Je mets un plafond à 200, et je dis que toutes les lignes qui dépassent ce plafond, je vais diminuer l'impact de ces lignes, avec la formule y = 200 + (x-200)/5 ; on n'applique cette transformation que si x est plus grand que 200.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    c1 : 110 < 200, inchangé
    c2 :  3000 > 200 , on va remplacer la valeur 3000 par y= 200+(3000-200)/5 =760   --> On applique un coefficient 760/3000 pour tous les nombres de cette ligne
    c3 : 405 > 200 , on va remplacer la valeur 405 par y= 200+(405-200)/5 =241  --> On applique un coefficient 241/405 pour tous les nombres de cette ligne
    Du coup, on va travailler avec ce jeu de données au lieu du jeu initial :

    exemple:

    critères valeur label: 1 label: 0 label: -1 Nb d’événements total
    c1 4 109 1.. 0 110
    c2 -20 253 253 253 760
    c3 10 3 0 238 241

    Ici, ça va nous donner :
    label 1 : 31% label2 : 22% label3 : 47%
    Visiblement, le plafonnement que j'ai proposé n'est pas suffisamment fort, à toi de jouer avec les coefficients pour trouver des résultats qui te conviennent mieux.

    Deuxième piste.
    Le plafonnement en question, tu peux le mettre en place sur les données des labels, et pas sur le total ( la formule y=200+(x-200)/5, on l'applique au nombre 1000, et non au nombre 3000)

    Troisième piste.
    On va multiplier ligne1*igne2*lign3, au lieu de les additionner.
    Mais comme on a des nombres 0 dans le tableau, et que le résultat d'une colonne va donner 0 dès qu'il y a ne serait-ce qu'une fois le nombre 0 dans une colonne, on va s'adapter.
    Etape 1 : on additionne un nombre arbitraire à tous les nombres. Disons qu'on additionne 10 (en jouant sur ce paramètre, tu obtiendras des résultats qui te conviendront peut-être mieux)
    L'exemple devient :

    exemple:

    critères valeur label: 1 label: 0 label: -1 Nb d’événements total
    c1 4 119 11.. 10 xxx (inutile)
    c2 -20 1010 1010 1010 xxx
    c3 10 15 10 410 xxx

    Puis on multiplie, et on ramène tout en pourcentage :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    exemple:
    label1 : 119*1010*15=1802850
    label2 : 11*1010*10=111100
    label3 : 10*1010*410=4141000
    Total = 1802850+111100+4141000=6054950
    Les pourcentages obtenus sont 30%, 2% et 68%.

    Tout ça, c'est mes bricolages. On doit pouvoir faire plus sérieux.

    Pour ça la méthode serait de mettre en face de chaque exemple les pourcentages voulus (40, 4 et 56 dans le dernier exemple). Puis organiser les données de manière plus pratique ( en gros, un exemple doit occuper une seule ligne dans un fichier Excel).
    Comme ça , Excel ( ou tout autre outil) pourra trouver une formule qui s'approche au mieux ces pourcentages voulus, à partir des autres données.
    Parmi les techniques du 20ème siècle on va parler de régression . Mais en l'occurrence, il faudra utiliser des régressions non linéaires (expression utile pour des recherches)
    Parmi les outils du 21ème siècle, on va parler de Machine Learning. Je ne suis pas spécialiste du tout, mais je pense que sur ce cas, c'est comme utiliser un lance-flammes pour tuer une mouche.
    N'oubliez pas le bouton Résolu si vous avez obtenu une réponse à votre question.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    décembre 2013
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : décembre 2013
    Messages : 72
    Points : 57
    Points
    57
    Par défaut
    Merci bcp tbc92 pour tes solutions
    Il faut que je teste te 3 solutions des un nombre de cas plus exhaustif!
    La dernière solution parait intéressante

    Pour l'étude par regression linéaire je commence à m'y mettre dedans mais c'est loin tous ca

    Pour l'étude du machine learning, mon data set n'est pas encore assez exhaustif pour l'utiliser

    Encore merci pour tes solutions
    Jerome

Discussions similaires

  1. [Débutant] Distribution de probabilité d'une variable discrète
    Par Lg_61 dans le forum MATLAB
    Réponses: 4
    Dernier message: 18/04/2016, 13h32
  2. lecture d'un fichier avec variable aléatoire.
    Par lamissgirl dans le forum PHP & Base de données
    Réponses: 12
    Dernier message: 21/03/2011, 15h02
  3. [Oracle] Requête avec une variable contenant une chaine de caractères accentué non trouvé
    Par chris0938 dans le forum PHP & Base de données
    Réponses: 19
    Dernier message: 07/01/2011, 21h23
  4. variable aléatoire & probabilité
    Par kenza28684 dans le forum Débuter avec Java
    Réponses: 7
    Dernier message: 14/05/2009, 11h59
  5. Réponses: 4
    Dernier message: 04/08/2007, 15h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo