4-METHODES PARAMETRIQUES : ESTIMATION D’UN
MELANGE DE LOIS
Méthode
La loi de distribution d’ un ensemble d’observations est le plus souvent définie comme une
combinaison convexe de plusieurs lois de probabilités. Afin d’ estimer les paramètres de ce mélange
de lois, la méthode de Monte Carlo par chaîne de Markov (MCMC) est de plus en plus utilisée. La
méthode MCMC est un algorithme qui génère une chaîne de Markov (Yn, n=>0), stationnaire
sous certaines conditions.
Rappels : ( Yn, n=>0) est une chaîne de Markov si la loi de probabilité de l‘état Yn+1, ne dépend
que de l’état de Yn : P (Yn+1 / Yn, Yn-1, .., Xo) = P (Yn+1 / Yn).
Un état Yn représente la valeur des paramètres à estimer à la nième itération de l’algorithme.
Le passage de l’état Yn à l’état Yn+1 se fait grâce à une estimation Bayésienne.
Cette méthode nécessite de connaître au préalable le nombre k de lois qui constituent le mélange.
Nous allons appliquer cet algorithme à l’échantillon 2. Les observations seront constituées des
projections sur l’a xe 1 de l’analyse en composantes principales. On suppose que ces observations sont
une réalisation d’une variable aléatoire X de loi Px.
On suppose aussi que la distribution des points selon l’axe 1 est un mélange de 2 lois normales (k=2).
X ~ Px = p*Normale (mu_1, var_1) + (1-p)*Normale (mu_2, var_2).
Soit f la densité de la loi normale du groupe 1 (gr1).
Soit g la densité de la loi normale du groupe 1 (gr2).
On pose théta = [p, (1-p), mu_1, mu_2, sigma_1, sigma_2], les paramètres à estimer. (théta est la
chaîne de Markov)
Le but est d’ estimer théta au vu des observations x1, ..., xN.
Algorithme
Etape 0. : Initialisation des paramètres : thêta (0) = thêta_0 (loi initiale de la chaîne de
Markov)
La chaîne de Markov est stationnaire si la loi initiale est la loi recherchée (i.e les
valeurs de départ sont les vraies valeurs)
[p, (1-p)] = [0.5, 0.5]
Les probabilités a priori de chaque classe sont uniformes, égales à 1/ k, où k est le nombre de
classes.
[mu_1, mu_2] = [1, 2]
[var_1, var_2] = [1, 1]
1
Etape 1. : Mise à jour des paramètres. Il existe plusieurs méthodes :
1) estimation par maximum de vraisemblance.
2) estimation bayesienne.
Nous utiliserons ici une estimation bayesienne.
La première partie de l’algorithme consiste à calculer les probabilités a posteriori de chaque
classe, en tous les points, c'est-à-dire les probabilités d’être dans la classe j sachant l’observation
xi : P (gr_j / xi)
Pour estimer P (gr_j / xi), on utilise la formule de Bayes :
P (gr_j)*P (xi / gr_j)
P ( gr_j / xi) = -----------------------------------
P (gr_j)*P (xi / gr_j)
j=1,2
Calculs intermédiaires :
Probabilité a priori de la classe j : P (gr_j) avec j dans {1, 2}.
Densité de probabilité pour la classe j, au point i :
P (xi / gr_j) = f( xi )* dx. En prenant dx = 1, on a : P (xi / gr_j) = f (xi)
Les probabilités P (gr_j / xi) forment une matrice h :
h (i, j) =
i = 1..n
j= 1, 2
h (i, j) est la formule da Bayes : c’est la probabilité d’appartenir au groupe j lorsque l’on est au
point xi.
On peut donc réécrire la matrice h :
P (gr_j)*P (xi / gr_j)
-----------------------------------
P (gr_j)*P (xi / gr_j)
j=1,2
2
h =
Cette matrice h va nous permettre d’estimer tous les paramètres de la loi : [p, (1-p), mu_1,
mu_2, var_1, var_2]
Estimation des probabilités a priori de chaque groupe :
Afin d’estimer la probabilité P (gr_j), on utilise l’approximation de Monte-Carlo :
P (gr_j) = nombre de points dans le groupe / nombre de points au total (N).
Le nombre de points dans le groupe j est approximé par :
P (gr_j / x1) + P (gr_j / x2) + … + P (g r_j / xN-1) + P (gr_j / xN).
En effet, si P (gr_j / x1) est proche de 1, cela signifie que la probabilité d’être dans la groupe j
sachant quon est au point x1 est grande : le point x1 a de grandes chances d’être dans le groupe
j. Cette probabilité exprime « la présence » du point dans le groupe j. On obtient donc une
bonne approximation du nombre de points dans le groupe j.
Estimation des espérances dans chaque groupe :
Rappel : Un estimateur de l’espérance d’une variable aléatoire X, est la moyenne empirique
(1/n xi) i=1..N.
Avec 1/n, la probabilité uniforme sur chaque point.
On a donc la formule suivante pour mu_j :
P (gr_j / x1) P (gr_j / x2) P (gr_j / xN)
mu_j = x1 * -------------------- + x2* --------------------- + … + xN * - -----------------
P (gr_j / xi) P (gr_j / xi) P (gr_j / xi)
i=1…N i=1...N i=1...N
Les coefficients devant les xi, représentent le poids de chaque point dans le groupe j
(Probabilité que le point soit dans le groupe j / somme des probabilités de tous les points dans le
groupe j). Le coefficient remplace la valeur 1/n, dans le rappel ci-dessus.
On note A1, A2, .., An, ces coefficients.
P (gr_1 / x1) P(gr_2 / x1) ... P (gr_k / x1)
P (gr_1 / x2) P(gr_2 / x2) ... P (gr_k / x2)
P (gr_1 / x3) P(gr_2 / x3) ... P (gr_k / x3)
P (gr_1 / xN) P(gr_2 / xN) ... P (gr_k / xN)
3
Estimation des variances dans chaque groupe :
Rappel : un estimateur de la variance d’une variable aléatoire X est :
(1/n)* (xi – xe) ^2
i=1..n
- xe est la moyenne empirique.
La variance dans le groupe j est :
var_j = Ai (xi – mu_j) ^2
i=1..N
On obtient ainsi des nouvelles valeurs pour pj, mu_j, var_j, à chaque itération de l’algorithme,
qui ne dépendent que des valeurs précédentes. Cet algorithme converge vers les valeurs réelles.
Application de l'algorithme MCMC à l'échantillon 2
Les données, sont sous forme d'un vecteur ligne : a. Ils représentent les coordonnées des galaxies
sur l’axe 1 de l’ACPN. L’algorithme utilisé prend en paramètres un fichier contenant les
données et le nombre d’itérations.
Lignes de commandes sur Scilab:
--> A = read (‘data2.txt’, -1, 1);
--> A = A'; // les données A doivent être sous forme d'un vecteur ligne
// On exécute la fonction algo_em qui contient l’algorithme mcmc.
-->em (A, 1500)
Afin d’analyser la convergence de l’algorithme, on construit les graphes représentant la valeur
du paramètre à estimer en fonction du nombre d’itération.
4
Graphes de convergence des paramètres à estimer
Paramètre P
0 2 0 0 4 0 0 6 0 0 8 0 0 1 0 0 0 1 2 0 0 1 4 0 0 1 6 0 0
0 . 2
0 . 3
0 . 4
0 . 5
0 . 6
0 . 7
C O N V E R G E N C E D E p
i t e r a t i o n
p
Paramètre mu_1
0 200 400 600 800 1000 1200 1400 1600
- 2 . 6
- 2 . 4
- 2 . 2
- 2 . 0
- 1 . 8
- 1 . 6
- 1 . 4
- 1 . 2
C O N V E R G E N C E D E m u _ 1
i t e r a t i o n
m u _ 1
5
1 / 28 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !