Inscription / Connexion Nouveau Sujet
Niveau autre
Partager :

loi normale - probabilité > 1

Posté par superomrom (invité) 08-07-07 à 18:50

Bonjour,

J'essaie actuellement de mettre un place un système de reconnaissance à l'aide d'un classificateur bayesien qui utilise une loi normale multidimentionnelle.

Mon problème est que je travaille avec des écarts types très faibles et que lorsque l'écart type d'une variable aléatoire est inférieur à 1, la loi normale donne des probabilités p(X=k) > 1 (je n'ai pas fait de statistiques depuis longtemps, pardonnez moi si je m'embrouille dans les termes).

J'avais pensé pouvoir résoudre ce problème en centrant et réduisant la variable aléatoire mais je ne suis pas certain que cela soit correct et de plus j'ignore la méthode dans le cas multidimentionnel.

Comment corriger ce problème, la solution marche t'elle aussi lorsque l'on travaille avec plusieurs variables aléatoires?

Romain

Posté par
jamo Moderateur
re : loi normale - probabilité > 1 08-07-07 à 18:57

Bonjour,

il est impossible que la loi normale te donne une probabilité supérieure à 1, c'est qu'il y a une formule que tu utilises mal !

De toute façon, si ta moyenne est différente de 0 et ton écart-type différent de 1, tu es obligé et centrer et de réduire ...

Posté par superomrom (invité)re : loi normale - probabilité > 1 08-07-07 à 19:24

La formule de la loi normale c'est

1/(sqrt(2.pi)*s) * exp(-1/2(X-m/s)^2)     m la moyenne, s l'écart-type

Oui, centrer et réduire c'était une anerie vu que c'est dans la formule...

Par contre, j'ai toujours l'impression que l'on peut obtenir des probas > 1 :
-  La partie exponentielle est comprise entre 0 et 1.
-  Donc si s < 1/sqrt(2.pi) le coefficient devant l'exponentielle devient > 1 et lorque X prends une valeur proche de m, la proba devient > 1. C'est là que je bloque...

Posté par
stokastik
re : loi normale - probabilité > 1 08-07-07 à 20:03

Ce que tu appelles "la formule de la loi normale", ça s'appelle en vrai la densité de la loi normale. Elle prend effectivement des valeurs plus grandes que 1, mais, en notant f cette densité, on n'a pas f(k)=P(X=k).

Posté par superomrom (invité)re : loi normale - probabilité > 1 08-07-07 à 20:10

Ah je pense que tu peux m'aider alors, mes souvenirs sont assez vagues et je suis carrément perdu, comment on calcule P(X=k) ?

Posté par
jamo Moderateur
re : loi normale - probabilité > 1 08-07-07 à 20:28

Oui, il ne faut pas confondre la loi normale et la densité de la loi normale, c'est celle-ci qu'on utilise.

Calculer P(X=k) pour une loi continue n'a pas de sens.

Imaginons qu'on étudie la taille des francais, on peut supposer qu'elle se répartit selon une loi normale.

Quelle est la probabilité qu'un homme mesure 1,76 m ? Cette question n'a pas de sens, car la taille est une variable continue.

Par contre, on peut determiner la probabilité que la taille soit comprise dans un intervalle, par exemple [1,74 ; 1,77] ou supérieur à une certaine valeur P(T>1,80).

Pour cela, on utilise la table de la loi normale.

Posté par
stokastik
re : loi normale - probabilité > 1 08-07-07 à 20:34

La taille n'est pas un très bon exemple car elle discrétisée par l'arrondi au centimètre.

De plus :

Citation :
Calculer P(X=k) pour une loi continue n'a pas de sens.


... si ça a un sens, et ça fait 0.

À part ça superomrom :

Citation :
J'essaie actuellement de mettre un place un système de reconnaissance à l'aide d'un classificateur bayesien qui utilise une loi normale multidimentionnelle.


... sans vouloir t'attaquer, je vais te dire qu'on est en droit de penser que c'est mal barré pour toi de faire ça si tu es déjà paumé avec la densité de la loi normale.

Peut-être que le mieux que tu as à faire c'est d'expliquer un peu plus ce que tu veux faire exactement.

Posté par
jamo Moderateur
re : loi normale - probabilité > 1 08-07-07 à 20:39

Oui, c'est vrai que les variables continues sont assez rares lorqu'on s'interesse à des mesures, et que la probabilité est nulle pour une valeur isolée ...

Posté par superomrom (invité)re : loi normale - probabilité > 1 08-07-07 à 22:11

Y a pas de mal stokastik, j'en ai bien l'impression moi aussi^^

Tout d'abord, merci beaucoup pour vos réponses.

Ben je sais pas, pour moi le classificateur bayesien ca avait l'air simple vu qu'en gros j'ai récupéré les formules et je ne pensais qu'avoir à les programmer...

En gros c'est pour du traitement d'images. J'ai écrit un programme qui extrait certaines caractéristiques d'une forme. Je dois reconnaitre une dizaine de classes différentes pour lesquels je peux générer une forme aléatoirement à l'aide d'un autre programme que j'ai écrit. J'utilise ce programme pour la phase d'apprentissage de mon système de reconnaissance.

Ce qu'on cherche, c'est p(c|d) : c'étant une classe, d étant un vecteur des caractéristiques extraites (n variables aléatoires). Donc la probabilité qu'un vecteur appartienne à une classe. Pendant la phase d'apprentissage, on calcule le vecteur des moyennes m et la matrice de covariance A des occurences de la classes.
On calcule également :
p(c) est la probabilité d'occurence de la classe : nombre d'occurences de la classe / nombre d'observation
p(d) probabilité initiale d'obtenir chaque observation : 1 / nombre d'observations

Si on admet que ces variables suivent une loi normale, on peut calculer p(d|c) par la formule :
p(x|c) = 1/((2.pi)^(n/2)) * 1/(det(Ac)^1/2) * exp(-1/2[(x-mc)' Ac^-1 (x-mc)])
x : vecteur n variables
mc : vecteur moyenne de la classe c
Ac ; matrice de covariance de la classe c
et c'est là que je pige pas, vu que dans mon cas, c'est a dire si det(A) est trop petit, on obtient p(x|c) > 1...

Ensuite, ce calcul doit permettre d'obtenir p(c|d) par le théorème de bayes :
p(c|d) = p(d|c)*p(c)/p(d)

Voilà, si quelqu'un veut m'aider, je le remercie infiniement à l'avance, et je lui souhaite bon courrage (il en faut déjà pas mal pour lire ce post...)

Posté par
stokastik
re : loi normale - probabilité > 1 09-07-07 à 06:29

Mais.. on t'a dit que la densité peut être >1, c'est pas une proba!

Posté par superomrom (invité)re : loi normale - probabilité > 1 09-07-07 à 10:00

D'accord, la densité peut être supérieure à 1, mais la formule associe cette densité à p(d|c), qui par contre est une proba si je ne me trompe pas, c'est ça qui m'ennuie.

Posté par
stokastik
re : loi normale - probabilité > 1 09-07-07 à 10:14

... j'ai l'impression que  d  est la même chose que  x  dans ce que tu as écrit.

Posté par superomrom (invité)re : loi normale - probabilité > 1 09-07-07 à 15:47

oui oui d et x c'est la même chose. d est une observation et x le vecteur de chaque variable de l'observation

Posté par
stokastik
re : loi normale - probabilité > 1 09-07-07 à 15:58

bon ben alors y'a pas de proba>1...

Posté par superomrom (invité)re : loi normale - probabilité > 1 09-07-07 à 16:35

Citation :
p(x|c) = 1/((2.pi)^(n/2)) * 1/(det(Ac)^1/2) * exp(-1/2[(x-mc)' Ac^-1 (x-mc)])

p(x|c) c'est une proba non? la probabilité que la classe C "engendre" le vecteur x.
et de l'autre côté de l'égalité c'est une densité qui prends des valeurs supérieures à 1.

Si tu me dis que p(x|c) c'est pas une proba alors c'est que j'ai rien compris (enfin bon, de toute façon j'avais pas compris grand chose^^).

En fait je me demande si la formule marcherait pas tout simplement telle qu'elle est en pratique, mais ça me gène un peu quand même... je voudrais bien comprendre...

Posté par
stokastik
re : loi normale - probabilité > 1 09-07-07 à 18:01

Citation :
p(x|c) c'est une proba non? la probabilité que la classe C "engendre" le vecteur x.



Non. Si x prenait un nombre fini de valeurs, on dirait que p(x|c) est la probabilité d'observer x dans la classe c.

Ici si tu veux c'est la densité de x dans la classe c  

Posté par
stokastik
re : loi normale - probabilité > 1 09-07-07 à 18:03

... et p(c|x) est la probabilité qu'on soit dans la classe c  sachant qu'on a observé x.

Tu lis les probas (ou les densités) conditionnelles à l'envers

Posté par superomrom (invité)re : loi normale - probabilité > 1 09-07-07 à 18:38

D'accord, je pense que j'ai copris. Un grand merci pour toute ton aide stokastik   

Posté par
stokastik
re : loi normale - probabilité > 1 09-07-07 à 19:07

De rien le plaisir est pour moi

À part ça ton truc est très connu. Je ne sais plus comment ça s'appelle plus précisément. Classification quelque chose...

Bref, tu veux le réaliser comment ? Là où je veux en venir, c'est qu'il existe des logiciels qui font ça et qui le font très bien.

Posté par superomrom (invité)re : loi normale - probabilité > 1 10-07-07 à 19:50

Le nom je pense que c'est Classificateur Bayesien (je sais qu'en anglais c'est Bayesian Classifier).

Ca y est je l'ai écrit sous matlab et ca marche plutôt très bien.

En fait je fini une école d'ingé en génie informatique et je fais une année en angleterre de spécialisation en traitement du signal. De ce coté là il y a pas de problème mais pour les proba...^^ Et donc mon sujet de thèse de master c'est de développer un logiciel de reconnaissances de modèles pour les décharges partielles (des fuites de courant qui se produisent dans les générateurs et qui peuvent les endommager).

En gros j'ai un signal en 2D qui sort d'un capteur qui indique le nombre de décharges qui se sont produites à une certaine phase et avec une certaine intensité. Ca donne plein de points dont la distribution donne des indications sur l'origine des décharges mesurés plus pas mal de bruit. En plus y a certaines régions qui sont liées les unes aux autres, puis d'autres qui se superposent mais n'ont rien à voir.

Il y a donc quelques traitement à faire avant d'envoyer l'image au système de reconnaissance, puis il s'agit après d'intégrer cet algorithme à un autre logiciel donc il n'est pas vraiment possible d'utiliser un logiciel déjà réalisé. Et puis c'est mon sujet de thèse, qu'est-ce que je vais faire moi sinon^^

Je te remercie encore une fois pour ton coup de main salvateur.

Romain

Posté par
stokastik
re : loi normale - probabilité > 1 10-07-07 à 20:14

Ok poste ici si t'as un problème de probas-stats y'a des chances que je passe par là


Tu te contentes du fait que ton prog marche très bien, et puis comme tu dis t'as besoin de l'intégrer, ok.

Moi je suis un éternel sceptique, quand je prog un truc j'essaye toujours un autre prog pour voir si les résultats sont les mêmes.

Pour cela, si j'étais à ta place, j'essayerais de le faire dans un logiciel de stats.

Et aussi cela te permettrait de comparer ton prog, ce qui aurait sa place dans ta thèse. En effet et si on te demande ce que vaut ton prog par rapport à ce qui existe déjà ?



Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Inscription gratuite

Fiches en rapport

parmi 1681 fiches de maths

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !