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

pb d'Analyse Discriminante



  1. #1
    claudem

    pb d'Analyse Discriminante


    ------

    Bonjour,

    Un ami en fac de dentaire me demande de l'aider à résoudre le problème suivant.

    On montre que l'on peut déduire le sexe d'une personne à partir de 15 mesures à des endroits particuliers de son crâne. On a envie de savoir si parmi ces 15 mesures, il y en a qui sont plus importantes que d'autres (i.e. discriminantes) pour déduire le sexe de la personne. En fait, on veut arriver à quelque chose comme "sur les 15 mesures, les mesures 1,2 et 8 expliquent 95% du sexe".

    Pour cela, on dispose d'un échantillon de, disons 10 000 crânes dont on connaît le sexe, et pour lesquels on a fait les 15 mesures. Chaque mesure est une donnée en millimètres.

    Comment faire ?

    D'avance, merci pour vos idées.

    -----

  2. Publicité
  3. #2
    robert et ses amis

    Re : pb d'Analyse Discriminante

    salut,

    désolé de ne pas te répondre plus précisément, mais moi ça m'évoque un problème d'extraction de connaissance ("data mining" en anglais). tu peux chercher de ce côté là, je sais qu'il existe des techniques "assez" simple qui sont souvent efficaces.

  4. #3
    invite986312212
    Invité

    Re : pb d'Analyse Discriminante

    salut,

    la méthode "canonique" s'appelle effectivement "analyse discriminante". Il est exclu de faire ça avec une calculette (il faut diagonaliser une matrice 15x15). Il te faut donc utiliser un logiciel statistique (par exemple R qui est un freeware), ou bien la programmer en Matlab par exemple.
    Si tu as effectivement 10000 crânes, c'est une chance: il faut commencer par mettre de côté un sous-échantillon qui servira à valider la méthode de classement. Le plus souvent, les données sont trop peu nombreuses et il faut recourir à une astuce (par exemple la validation croisée).

  5. #4
    claudem

    Re : pb d'Analyse Discriminante

    Peux-tu être un peu plus explicite sur la méthode ?

    (Je code en C++ pour inverser / multiplier une matrice de toute taille)

    Merci !

  6. A voir en vidéo sur Futura
  7. #5
    invite986312212
    Invité

    Re : pb d'Analyse Discriminante

    Citation Envoyé par claudem
    Peux-tu être un peu plus explicite sur la méthode ?

    (Je code en C++ pour inverser / multiplier une matrice de toute taille)

    Merci !
    je connais pas les formules par coeur, je dois pouvoir les retrouver (demain). Mais franchement tu vas galérer à programmer ça à partir de rien. Tu auras plus vite fait d'apprendre à te servir d'un logiciel de stats.

  8. #6
    rvz

    Re : pb d'Analyse Discriminante

    Bonjour,

    Je ne suis pas un spécialiste en stat, mais j'ai fait, pas plus tard que ce matin, une introduction à R, et c'est vraiment un très bon logiciel de programmation, très intuitif, facile d'accès et adapté au stat. Je te conseille d'au moins l'essayer sérieusement, en plus il est disponible gratuitement !

    __
    rvz, que vive les logiciels libres et bien conçus !

  9. Publicité
  10. #7
    robert et ses amis

    Re : pb d'Analyse Discriminante

    oui, R c'est pas mal du tout, faut juste faire un peu gaffe quand on a été bercé avec matlab comme moi ...

  11. #8
    invite986312212
    Invité

    Re : pb d'Analyse Discriminante

    Citation Envoyé par robert et ses amis
    oui, R c'est pas mal du tout, faut juste faire un peu gaffe quand on a été bercé avec matlab comme moi ...
    je suis justement en train de suivre une formation à Matlab.
    C'est assez proche de S (ou R) en fait. Pour traiter un problème d'analyse discriminante sous R, ça peut être une bonne idée de charger le package ADE4, développé à l'université de Lyon 1.
    Dernière modification par invite986312212 ; 04/07/2006 à 15h06.

  12. #9
    robert et ses amis

    Re : pb d'Analyse Discriminante

    j'était déjà hors sujet, alors je continue
    oui R est proche de matlab, mais il y a quand même des différences, je pense aux vecteurs essentiellement , tant sur les notations que dans la manière de les envisager.
    et je sais que c'est piègeant de passer de l'un à l'autre pour avoir eu un temps à utiliser les 2 dans la même journée.

    en clair, j'ai rien contre R bien au contraire, c'est gratuit et ça fait très bien ce que ça doit faire, mais il faut faire gaffe et ne pas croire que c'est pareil que matlab, sinon on risque de perdre du temps à vouloir faire des choses qui n'existent pas ou bien qui se font autrement.

  13. #10
    invite986312212
    Invité

    Re : pb d'Analyse Discriminante

    d'après ce que je comprends, en Matlab la brique de base est la matrice alors qu'en S (le langage utilisé par R) c'est le vecteur. Ca fait 15 ans que je pratique S et 2 jours pour Matlab, alors je ne peux pas les comparer objectivement.

    Matlab est très supérieur pour ce qui est gestion de projets, de bibliothèques de fonctions, etc, et aussi pour les graphiques, assez succints sous R (un peu meilleurs sous S-plus, l'autre implémentation de S).

    R est bien-sûr supérieur pour les traitements statistiques, il a été conçu pour ça.

  14. #11
    spi100

    Re : pb d'Analyse Discriminante

    Citation Envoyé par claudem
    Bonjour,

    Pour cela, on dispose d'un échantillon de, disons 10 000 crânes dont on connaît le sexe, et pour lesquels on a fait les 15 mesures. Chaque mesure est une donnée en millimètres.

    Comment faire ?

    D'avance, merci pour vos idées.
    Tu peux calculer les probabilités conditionnelles. La probabilité d'avoir H ou F (homme ou femme) connaissant les critères C1, C2, ..., Cn.

    Tu commences par ne considérer qu'un critère :
    Calculs de P(H|C1), P(H|C2), ...., P(H|Cn). Le critère le plus significatif est celui qui donne la prob conditionnelle la plus forte.
    Si Ci est ce critère, tu calcules ensuite P(H|Ci,C1), P(H|Ci,C2), ...,P(H|Ci,Cn). Le second critère le plus significatif est celui qui donne la prob conditionnelle la plus forte, et ainsi de suite.

    Pour calculer P(H|C1) tu utilises P(H|C1) = nombre d'hommes vérifiant C1 / le nombre d'individus total vérifiant C1.
    Pour le calcul de P(H|C1,C2) tu utilises p(H|C1,C2) = nombre d'hommes vérifiant C1 et C2 / le nombre d'individus total vérifiant C1 et C2.
    GCS/S s: a C++ DI++>+++ UL++A++HIS++$ P++>+++$ E+>++$ W+>++$ N+ Y+ e++++ t+++ y+++

  15. #12
    invite986312212
    Invité

    Re : pb d'Analyse Discriminante

    à mon humble avis, la méthode naïve proposée par spi100 a peu de chances de fonctionner en général, et ne marche certainement pas sur l'exemple historique des iris de Fisher.
    Une autre méthode naïve consiste à choisir un entier k et considérant un crâne à classer comme un point dans un espace affine à 15 dimensions, compter parmi les k crânes de sexe connu les plus proches, combien sont mâles et combien femelles. Choisir naturellement le sexe le plus représenté parmi les k plus proches voisins (en Anglais: méthode knn). On peut affiner en choisissant une métrique particulière d'ailleurs. En plus du diagnostic, cette méthode produit un "degré de confiance".
    Le problème avec cette méthode c'est qu'elle n'apporte aucune connaissance sur le phénomène biologique.

    A ma connaissance, les seules méthodes qui permettent d'identifier les variables importantes, sont l'analyse discriminante linéaire de Fisher et la méthodologie CART (classification and regression trees) de Breiman et al.

  16. Publicité

Discussions similaires

  1. Analyse discriminante ou optimisation ?
    Par arnoka dans le forum Mathématiques du supérieur
    Réponses: 0
    Dernier message: 25/10/2007, 10h02
  2. problème d'analyse
    Par liline12 dans le forum Mathématiques du supérieur
    Réponses: 11
    Dernier message: 30/09/2007, 17h17
  3. Analyse discriminante en politique
    Par jynx dans le forum Mathématiques du supérieur
    Réponses: 2
    Dernier message: 20/11/2006, 19h00
  4. exercices d'analyse
    Par mati86 dans le forum Mathématiques du supérieur
    Réponses: 3
    Dernier message: 16/05/2006, 14h54
  5. Exercices d'Analyse
    Par Nico G. dans le forum Mathématiques du supérieur
    Réponses: 0
    Dernier message: 04/06/2004, 17h05