Académique Documents
Professionnel Documents
Culture Documents
Julien JACQUES
1 / 78
Références et logiciels
Ouvrages
Packages R
package bayess, BayesFactor, BMA, BAS
package rjags (interface du logiciel JAGS)
2 / 78
Plan
Statistique bayesienne
Les outils bayesiens
Choix de modèle bayésien
Méthodes de Monte Carlo
3 / 78
Loi normale N (µ, σ 2 )
densité :
p(x|µ, σ 2 ) = √1 exp(−(x − µ)2 /2σ 2 )
σ 2π
espérance : µ
variance : σ 2
sous R : dnorm
−3 −2 −1 0 1 2 3
4 / 78
Loi de Bernoulli B(p)
espérance : p
variance : p(1 − p)
sous R : dnbinom avec size=1
5 / 78
Loi binomiale B(n, p)
x
6 8 10
6 / 78
loi géométrique G(p)
0 2 4 6 8 10
7 / 78
loi binomiale négative BN (s, p)
probabilité :
k s k
p(x = k |p) = Cs+k −1 p (1 − p) pour
tout k ∈ N
espérance : s(1 − p)/p
variance : s(1 − p)/p2
sous R : dnbinom
0 5 10 15
8 / 78
loi de Poisson P(λ)
9 / 78
loi exponentielle E(λ)
0 2 4 6 8 10
10 / 78
loi gamma Gamma(α, λ)
λα x α−1 e−λx
probabilité : p(x|α, λ) = Γ(α) pour
tout x ≥ 0
espérance : α/λ
variance : α/λ2
sous R : dgamma
0 2 4 6 8 10
11 / 78
loi beta Beta(α, β)
12 / 78
loi de Cauchy centrée Cauchy (0, a)
1 a
probabilité : p(x|a) = π x 2 +a2
espérance, variance, ... : non définie
sous R : dcauchy
13 / 78
Plan
Statistique bayesienne
Les outils bayesiens
Choix de modèle bayésien
Méthodes de Monte Carlo
14 / 78
Contents
Statistique bayesienne
Les outils bayesiens
Choix de modèle bayésien
Méthodes de Monte Carlo
15 / 78
Les données normaldata
normaldata
package bayess
mesures de différences de vitesses de deux faisceaux de lumière
parcourant la même distance dans deux directions orthogonales
(expérience d’Illingworth en 1927).
15
10
Frequency
5
0
shift
16 / 78
Approche fréquentiste vs bayesienne
Approche fréquentiste
la variable d’intérêt x est supposée suivre une loi paramétrique :
x ∼ f (·, θ)
17 / 78
Exemple 1 - données normaldata
2.5e−19
n
2.0e−19
Y √
`(θ|x) = exp{−(xi − µ)2 /2σ 2 }/ 2πσ
vraisemblance
1.5e−19
i=1
1.0e−19
∝
5.0e−20
0.0e+00
−0.8 −0.6 −0.4 −0.2 0.0 0.2 0.4 0.6
18 / 78
Approche fréquentiste vs bayesienne
Approche bayesienne
permet d’introduire l’information a priori dont on dispose sur θ
(i.e. l’information disponible sur θ avant d’observer x ) :
19 / 78
Approche fréquentiste vs bayesienne
Approche bayesienne
permet d’introduire l’information a priori dont on dispose sur θ
(i.e. l’information disponible sur θ avant d’observer x ) :
pour Illingworth, il ne doit pas y avoir de différence de vitesse
19 / 78
Approche fréquentiste vs bayesienne
Approche bayesienne
permet d’introduire l’information a priori dont on dispose sur θ
(i.e. l’information disponible sur θ avant d’observer x ) :
pour Illingworth, il ne doit pas y avoir de différence de vitesse
on note p(θ) la loi a priori (prior ) de θ
19 / 78
Approche fréquentiste vs bayesienne
Approche bayesienne
permet d’introduire l’information a priori dont on dispose sur θ
(i.e. l’information disponible sur θ avant d’observer x ) :
pour Illingworth, il ne doit pas y avoir de différence de vitesse
on note p(θ) la loi a priori (prior ) de θ
on ne s’intéresse plus alors à la vraisemblance `(θ|x) mais à la loi a
posteriori (posterior )
`(θ|x)p(θ)
p(θ|x) = ∝ `(θ|x)p(θ)
p(x)
p(µ|x) ∝ p(µ)`(θ|x)
∝ exp{−µ2 /2σ 2 } exp{−n(µ − x̄)2 /2σ 2 }
∝ exp{−(n + 1)[µ − nx̄/(n + 1)]2 /2σ 2 }
n σ2
⇒ µ|x ∼ N( x̄, )
n+1 n+1
Rq 1 : la moyenne de la loi a posteriori est plus proche de 0 que
l’estimateur classique x de µ : cela est dû à la loi a priori centrée en
0, qui suppose donc que µ est assez proche de 0.
Rq 2 : l’influence de la loi a priori s’estompe quand la taille
d’échantillon grandit
20 / 78
Estimation bayesienne
Inférence
estimation ponctuelle θ̂ de θ ?
on peut choisir l’espérance de p(θ|x)
on peut aussi choisir la maximum a posteriori (MAP) : la valeur θ̂ qui
maximise p(θ|x) en θ
(mais pas toujours simple à trouver...)
l’approche bayesienne est une approche inférentielle complète qui
permet de tout faire : estimation, intervalle de confiance, test
d’hypothèse, vérification de modèle, ...
21 / 78
Exercice 1
22 / 78
Différents types de loi a priori
23 / 78
Différents types de loi a priori
23 / 78
Différents types de loi a priori
23 / 78
Lois a priori conjuguées
Quand on ne dispose pas d’a priori fiable, on opte souvent pour le choix
de la simplicité, c’est-à-dire le choix d’une loi a priori conjuguée qui
facilite le calcul de la loi a posteriori :
24 / 78
Lois a priori non informative
Une loi non informative est une loi qui porte une information sur le
paramètre à estimer dont le poids dans l’inférence est réduit.
par exemple, si θ peut prendre q valeurs, alors on choisit p(θ) = 1/q
pour tout θ ∈ Θ
loi de Jeffreys :
c’est une méthode pour construire des loi donnant un poids plus
important aux valeurs θ où l’informationpde Fisher I(θ) (quantité d’info. sur
θ apporté par x) est grande : p(θ) = C I(θ) R
cette méthode conduit souvent à des lois impropres ( Θ p(θ)dθ = +∞).
25 / 78
Intervalle de crédibilité bayesien
26 / 78
Exercice 2
On veut connaı̂tre la probabilité θ de tomber sur face pour une pièce
donnée.
Nous considérons plusieurs a priori :
1. loi bêta(1,1) : toutes les valeurs de θ sont équiprobables (a priori non
informatif) : p(θ) ∝ 1, ∀θ
2. loi bêta(2,2), bêta(4,4), bêta(8,8)
Nous observons l’échantillon suivant : x = {1, 1, 1, 0, 1, 1, 0, 0, 1, 1}, soit
y = 7 ”face” et 3 ”pile”.
Questions
1. Quelle est la vraisemblance de x ?
2. Pour chaque loi a priori :
2.1 calculer et représenter la loi a posteriori de θ,
2.2 estimer θ ponctuellement,
2.3 donner un intervalle de crédibilité de θ.
27 / 78
Exercice 2 - correction
1. vraisemblance : p(x|θ) = θ7 (1 − θ)3
2. la loi bêta(a,b) étant conjuguée pour la loi binomiale, on peut calculer
la loi a posteriori :
loi a priori : p(θ) = bêta(a, b) ∝ θa−1 (1 − θ)b−1
loi a posteriori : p(θ|x) = bêta(a + 7, b + 3) ∝ θa+7−1 (1 − θ)b+3−1
28 / 78
Exercice 2 - correction
1. vraisemblance : p(x|θ) = θ7 (1 − θ)3
2. la loi bêta(a,b) étant conjuguée pour la loi binomiale, on peut calculer
la loi a posteriori :
loi a priori : p(θ) = bêta(a, b) ∝ θa−1 (1 − θ)b−1
loi a posteriori : p(θ|x) = bêta(a + 7, b + 3) ∝ θa+7−1 (1 − θ)b+3−1
28 / 78
Exercice 2 - correction
prior = loi beta(1,1) prior = loi beta(2,2)
vraisemblance vraisemblance
prior prior
posterior posterior
0.0 0.2 0.4 0.6 0.8 1.0 0.0 0.2 0.4 0.6 0.8 1.0
theta theta
vraisemblance vraisemblance
prior prior
posterior posterior
0.0 0.2 0.4 0.6 0.8 1.0 0.0 0.2 0.4 0.6 0.8 1.0
theta theta
29 / 78
Exercice 2 - correction
Estimation ponctuelle de θ
La loi a posteriori étant une bêta(a+7,b+3), on peut estimer θ par
a+7
l’espérance de sa loi a posteriori : a+b+10
a+6
le mode de sa loi a posteriori : a+b+8
Intervalle de crédibilité de θ
L’intervalle de crédibilité se calcule à partir des quantiles de la loi a
posteriori
30 / 78
Contents
Statistique bayesienne
Les outils bayesiens
Choix de modèle bayésien
Méthodes de Monte Carlo
31 / 78
Tester la validité d’une hypothèse
32 / 78
Tester la validité d’une hypothèse
32 / 78
Tester la validité d’une hypothèse
Approche bayésienne
On compare les deux modèles
M1 : x ∼ N (0, σ 2 )
M2 : x ∼ N (µ, σ 2 )
32 / 78
Facteur de bayes
si log10 (B21 (x)) ∈ [0, 0.5], la certitude que M1 est fausse est faible
si log10 (B21 (x)) ∈ [0.5, 1], la certitude que M1 est fausse est
substantielle
si log10 (B21 (x)) ∈ [1, 2], la certitude que M1 est fausse est forte
si log10 (B21 (x)) > 2, la certitude que M1 est fausse est décisive
Rq : log10 (B21 (x)) > 1 ⇔ B21 > 10, log10 (B21 (x)) > 2 ⇔ B21 > 100,...
34 / 78
Facteur de bayes
35 / 78
Tests d’hypothèse sous R
36 / 78
Exemple 2 - données sleep
Les données sleep contiennent l’effet de 2 somnifères (group) sur la
durée de sommeil, pour 10 patients.
5
4
3
extra
2
1
0
−1
1 2
group
0.8
0
0.6
−1
0.4
−2
0.2
−3
0.0
39 / 78
Exercice 3
ToothGrowth contient la longueur des dents de 60 cochons d’Inde en
fonction de deux sources de vitamine C (jus d’orange et acide ascorbique).
Given : supp
VC
OJ
15
10
5
Statistique bayesienne
Les outils bayesiens
Choix de modèle bayésien
Méthodes de Monte Carlo
41 / 78
Méthodes de Monte Carlo
Le calcul de la loi a posteriori et des facteurs de Bayes font intervenir le
calcul de : Z
`(θ|x)p(θ)dθ
Θ
qui est souvent non calculable analytiquement.
42 / 78
Méthodes de Monte Carlo
Le calcul de la loi a posteriori et des facteurs de Bayes font intervenir le
calcul de : Z
`(θ|x)p(θ)dθ
Θ
qui est souvent non calculable analytiquement.
Méthode de Monte-Carlo
Pour estimer l’intégrale
Z
I= h(x)g(x)dx
simuler x1 , . . . , xn ∼ g(x)
approcher I par
n
1X
În = h(xi )
n
i=1
42 / 78
Méthodes de Monte Carlo
Lorsqu’il est difficile de simuler suivant g(·), on peut utiliser l’importance
sampling
Importance Sampling
Pour estimer l’intégrale
Z Z
g(x)
I = h(x)g(x)dx = h(x) γ(x)dx
γ(x)
simuler x1 , . . . , xn ∼ γ(x)
calculer wi = g(xi )/γ(xi )
approcher I par Pn
w1 h(x1 )
În = i=1
Pn
i=1 wi
43 / 78
Exercice 4
R2 x2
On cherche dans cet exercice à approcher l’intégrale I = 0 e− 2 dx.
Pour cela nous utilisons une méthode de Monte-Carlo. Soit X1 , . . . , Xn
un échantillon de variables aléatoires uniformes sur [0, 2], et soit
X2
i
Yi = e− 2 pour tout i = 1, n.
Que vousPndis la loi des grands nombres sur la convergence de
Ȳn = n1 i=1 Yi lorsque n → ∞ ?
Utiliser ce résultat pour approcher l’intégrale I, en simulant n
variables aléatoires Yi (n = 100, 104 , 106 ).
Répéter 100 fois ces approximations, et représenter les résultats
sous la forme d’une boı̂te à moustache pour chacune des 3 valeurs
de n utilisées. Que constatez-vous ?
Représenter cette fois ces résultats sous la forme d’un histogramme
(pour chaque valeur de n). Avez-vous une idée de la distribution de
ces résultats d’approximation ? Que vous dit le théorème centrale
limite ?
44 / 78
Plan
Statistique bayesienne
Les outils bayesiens
Choix de modèle bayésien
Méthodes de Monte Carlo
45 / 78
Régression linéaire ordinaire
Le modèle linéaire ordinaire
y|α, β, σ 2 ∼ N (α1n + xβ, σ 2 In )
avec donc
α̂ = ȳ
β̂ = (x0 x)−1 x0 (y − ȳ )
(y − α1n + xβ)0 (y − α1n + xβ) s2
σˆ2 = =
n−p−1 n−p−1
46 / 78
Régression bayésienne
E π [α|y] = α̂
E π [β|y] = β̂
2
π
E [σ |y] = s2 /(n − p − 3)
Notons que les estimations de α et β sont les mêmes que dans le cas
ordinaires, et que l’estimation de σ 2 est un peu plus grande (plus
pessimiste).
47 / 78
Régression bayésienne
49 / 78
Régression bayésienne sous R : BayesReg
La fonction BayesReg (package bayess) implémente une régression
bayésienne avec a priori de Zellner
50 / 78
Régression bayésienne sous R : BayesReg
50 / 78
Exercice 5 : données longley
51 / 78
Choix de modèle en régression bayésienne
52 / 78
Régression bayésienne sous R : BayesReg
53 / 78
Exercice 5 (suite) : données longley
54 / 78
Bayesian Model Averaging
choisir un unique modèle Mm parmi 2p modèles possible peut-être
restrictif, sachant que les différence entre leur probabilité a posteriori
sont parfois faible
le Bayesian Model Averaging préconise de moyenner les modèles en
fonction de leur probabilité a posteriori. Ainsi :
M
X
E π [β|y] = E π [β|y|Mm ] p(Mm |y)
m=1
où M < 2p est le nombre de modèle conservés (on ne conserve que les
modèles dont la probabilité a posteriori est supérieure à 1/OR le maximum
des probabilités a posteriori).
cette technique est utilisable dès lors que l’on fait de la prédiction (en
classification également donc), et quelque soit le type de modèle que
l’on utilise (réseaux de neurones, arbres de régression ...)
55 / 78
Bayesian Model Averaging
56 / 78
Exercice 5 (suite) : données longley
57 / 78
Pour aller plus loin...
http://www .j stor.org/
Tue Oct 14 20:31:39 2003
58 / 78
Exercice 6
59 / 78
Plan
Statistique bayesienne
Les outils bayesiens
Choix de modèle bayésien
Méthodes de Monte Carlo
60 / 78
Contents
Statistique bayesienne
Les outils bayesiens
Choix de modèle bayésien
Méthodes de Monte Carlo
61 / 78
Les graphes acycliques dirigés
62 / 78
Formalisme des DAG
Noeuds du graphe
covariables : donnée fixe, supposée sans erreur : rectangle
ex: âge
variable aléatoire (donnée observée à modéliser, paramètres) : ellipse
ex: poids à la naissance, intercept, pente
Liens du graphe
lien déterministe : flèche en pointillés
ex: µi = α + β × agei
lien stochastiques : flèche en trait plein
ex: yi ∼ N (µi , σ 2 )
Tous les noeuds du graphe à un même niveau sont contenus dans un
cadre
63 / 78
Exemple 3 : poids des enfants à la naissance
µg sexei
µf µi yi
i:1..n
64 / 78
Exemple 3 : poids des enfants à la naissance
Partie déterministe
µi = µf si l’enfant est une fille (sexei = f )
µi = µg si l’enfant est un graçon (sexei = g)
Partie stochastique
yi ∼ N (µi , σ 2 )
65 / 78
Exemple 3 : poids des enfants à la naissance
Partie déterministe
µi = µf si l’enfant est une fille (sexei = f )
µi = µg si l’enfant est un graçon (sexei = g)
Partie stochastique
yi ∼ N (µi , σ 2 )
Information a priori
µf et µg sont uniformes entre 2.5kg et 5kg
σ est uniforme entre 0.2kg et 0.8kg
65 / 78
Contents
Statistique bayesienne
Les outils bayesiens
Choix de modèle bayésien
Méthodes de Monte Carlo
66 / 78
Projet BUGS: Bayesian inference Using Gibbs
Sampling
67 / 78
Installation de JAGS et rjags
installer JAGS
http://sourceforge.net/projects/mcmc-jags/
installer le package R rjags
guide complet de JAGS :
http://sourceforge.net/projects/mcmc-jags/files/Manuals/
68 / 78
Langage de type BUGS
69 / 78
Code de l’exemple 3 : poids des enfants à la
naissance
70 / 78
Langage de type BUGS
fonctions de base
exp(x) log(x) sqrt(x) min(x1,x2)
step(x) (1 si x ≥ 0, 0 sinon)
ifelse(x,a,b) (si x alors a sinon b)
fonctions vectorielles
mean(v[]) sd(v[]) inverse(M[])
ranked(v[],k) (k -ème élément de v dans l’ordre croissant)
fonction de lien pouvant être utilisé à gauche de <-
logit(y) probit(y) log(y)
exemples de distribution
x∼dbern(p)
x∼dbin(p,n)
x∼dnorm(mu,tau) (attention tau est l’inverse de la variance)
x∼dbeta(alpha,beta)
x∼dmulti(p[],n) (multinomiale)
x∼dmnorm(mu[],T[,]) (T inverse de la matrice de variance)
71 / 78
Utiliser rjags
72 / 78
Utiliser rjags
72 / 78
Utiliser rjags
72 / 78
Utiliser rjags
73 / 78
Utiliser rjags
0.004
4000
3800
0.002
3600
3400
0.000
4000 4500 5000 5500 6000 3400 3600 3800 4000
0.0030
3800
0.0020
3400
0.0010
3000
0.0000
4000 4500 5000 5500 6000 2800 3000 3200 3400 3600 3800
0.006
700
0.004
600
0.002
500
400
0.000
4000 4500 5000 5500 6000 400 500 600 700 800
74 / 78
Utiliser rjags
Pour savoir si on a atteint l’état stationnaire de la chaine MCMC, on
peut calculer l’indice de réduction de la variance de Gelman :
r
variance totale
variance intra-chaı̂nes
moyennes[1] moyennes[2]
1.20
median median
1.020
97.5% 97.5%
1.15
1.015
shrink factor
shrink factor
1.10
1.010
1.005
1.05
1.000
1.00
gelman.diag(mcmc1) 4000 4500 5000
gelman.plot(mcmc1) sigma
median
97.5%
1.15
shrink factor
1.10
1.05
1.00
Une chaı̂ne MCMC ne doit pas être auto-corrélée (sinon il faut plus
d’itérations). On peut vérifier cela à l’aide de la commande suivante :
moyennes[1] moyennes[2]
1.0
1.0
0.5
0.5
Autocorrelation
Autocorrelation
0.0
0.0
−0.5
−0.5
−1.0
−1.0
0 5 10 15 20 25 0 5 10 15 20 25
Lag Lag
autocorr.plot(mcmc1[[1]]) sigma
1.0
0.5
Autocorrelation
0.0
−0.5
−1.0
0 5 10 15 20 25
Lag
76 / 78
Utiliser rjags
77 / 78
Exercice 7
78 / 78