Statistique bayesienne avec R - Laboratoire...

91
Statistique bayesienne avec R Julien JACQUES Universit ´ e de Lyon, France 1 / 78

Transcript of Statistique bayesienne avec R - Laboratoire...

  • Statistique bayesienne avec R

    Julien JACQUES

    Université de Lyon, France

    1 / 78

  • Références et logiciels

    Ouvrages

    Packages R� package bayess, BayesFactor, BMA, BAS� package rjags (interface du logiciel JAGS)

    2 / 78

    https://web.stanford.edu/~hastie/Papers/ESLII.pdf

  • Plan

    Rappel sur les principales lois de probabilités

    Statistique bayesienneLes outils bayesiensChoix de modèle bayésienMéthodes de Monte Carlo

    Regression et sélection de variables

    Les modèles graphiques et leur implémentation sous JAGSLes graphes acycliques dirigésJAGS

    3 / 78

  • Loi normale N (µ, σ2)

    � densité :p(x |µ, σ2) = 1

    σ√

    2πexp(−(x − µ)2/2σ2)

    � espérance : µ� variance : σ2

    � sous R : dnorm

    −3 −2 −1 0 1 2 3

    x

    densité normale N(0,1)

    4 / 78

  • Loi de Bernoulli B(p)

    Modélise une variable aléatoire pouvant prendre 2 valeurs {0,1}, 1 encas de succès et 0 en cas d’échec, où p est la probabilité du succès.� probabilité : p(x = 1|p) = p� espérance : p� variance : p(1− p)� sous R : dnbinom avec size=1

    5 / 78

  • Loi binomiale B(n,p)

    Modélise le nombre de succès lorsqu’on répète n expériencesindépendante de Bernoulli.� probabilité :

    p(x = k |p) = Ckn pk (1− p)n−k pour toutk ∈ {0, . . . ,n}

    � espérance : np� variance : np(1− p)� propriétés asymptotiques :

    � B(n, p)→ P(np) si n grand et np petit� B(n, p)→ N (np, np(1− p)) si np et

    np(1− p) grands� sous R : dbinom 0 2 4 6 8 10

    x

    probabilité binomiale B(10,.3)

    6 / 78

  • loi géométrique G(p)

    Modélise le nombre d’échecs d’une suite d’expériences de Bernoulliavant l’obtention du premier succès.

    � probabilité : p(x = k |p) = p(1− p)kpour tout k ∈ N

    � espérance : (1− p)/p� variance : (1− p)/p2� sous R : dgeom

    0 2 4 6 8 10

    x

    probabilité Geométrique G(.5)

    7 / 78

  • loi binomiale négative BN (s,p)

    Modélise le nombre d’échecs d’une suite d’expériences de Bernoulliavant l’obtention de s succès.

    � probabilité :p(x = k |p) = Cks+k−1ps(1− p)k pourtout k ∈ N

    � espérance : s(1− p)/p� variance : s(1− p)/p2� sous R : dnbinom

    0 5 10 15

    x

    probabilité Binomiale Négative BN(5,.5)

    8 / 78

  • loi de Poisson P(λ)

    Modélise un nombre d’événements indépendants dans un intervalle detemps donné.

    � probabilité : p(x = k |λ) = λk e−λ/k !pour tout k ∈ N

    � espérance : λ� variance : λ� propriété asymptotique :

    � P(λ)→ N (λ) si λ grand� sous R : dpois

    0 2 4 6 8 10

    x

    probabilité Poisson P(2)

    9 / 78

  • loi exponentielle E(λ)

    Modélise un temps entre deux événements indépendants.

    � probabilité : p(x |λ) = λe−λx pour toutx ≥ 0

    � espérance : 1/λ� variance : 1/λ2

    � sous R : dexp

    0 2 4 6 8 10

    x

    densite exponentielle E(3)

    10 / 78

  • loi gamma Gamma(α, λ)

    Modélise le temps nécessaire pour l’observation de α événementsindépendants. Cette définition est étendue au cas où α n’est pasnécessairement entier (mais positif).

    � probabilité : p(x |α, λ) = λαxα−1e−λxΓ(α) pourtout x ≥ 0

    � espérance : α/λ� variance : α/λ2

    � sous R : dgamma

    0 2 4 6 8 10

    x

    densite Gamma(5,3)

    11 / 78

  • loi beta Beta(α, β)

    Loi très flexible sur ]0,1[, symétrique lorsque α = β.� probabilité :

    p(x |α, β) = Γ(α+β)Γ(α)Γ(β) xα−1(1− x)β−1� espérance : α/(α + β)� variance : αβ/[(α + β)2(α + β + 1)]� Beta(1,1) est la loi uniforme sur ]0,1[� sous R : dbeta

    12 / 78

  • loi de Cauchy centrée Cauchy(0,a)

    � probabilité : p(x |a) = 1π ax2+a2� espérance, variance, ... : non définie� sous R : dcauchy

    13 / 78

  • Plan

    Rappel sur les principales lois de probabilités

    Statistique bayesienneLes outils bayesiensChoix de modèle bayésienMéthodes de Monte Carlo

    Regression et sélection de variables

    Les modèles graphiques et leur implémentation sous JAGSLes graphes acycliques dirigésJAGS

    14 / 78

  • Contents

    Rappel sur les principales lois de probabilités

    Statistique bayesienneLes outils bayesiensChoix de modèle bayésienMéthodes de Monte Carlo

    Regression et sélection de variables

    Les modèles graphiques et leur implémentation sous JAGSLes graphes acycliques dirigésJAGS

    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).

    shift

    Freque

    ncy

    −0.8 −0.6 −0.4 −0.2 0.0 0.2 0.4 0.6

    05

    1015

    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 (·, θ)

    � où θ ∈ Θ est un paramètre fixe, inconnu� que l’on estime à partir un échantillon i.i.d. x = (x1, . . . , xn)� en maximisant la vraisemblance des données

    `(θ|x) =n∏

    i=1

    f (xi , θ)

    17 / 78

  • Exemple 1 - données normaldata

    vraisemblance des données normaldata en fonction de µ pour unmodèle N (µ, σ2)

    `(θ|x) =n∏

    i=1

    exp{−(xi − µ)2/2σ2}/√

    2πσ

    ∝ exp{−[n(µ− x̄)2 + s2]/2σ2}/σn

    −0.8 −0.6 −0.4 −0.2 0.0 0.2 0.4 0.6

    0.0e+

    005.0

    e−20

    1.0e−

    191.5

    e−19

    2.0e−

    192.5

    e−19

    vraisemblance en fonction de la moyenne m

    mvra

    isemb

    lance

    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 ) :

    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 )

    p(θ|x) = `(θ|x)p(θ)p(x)

    ∝ `(θ|x)p(θ)

    (on reconnait le théorème de Bayes)

    Rq : contrairement à la vraisemblance, la loi a posteriori p(θ|x) est unedistribution de probabilité sur Θ

    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 )

    p(θ|x) = `(θ|x)p(θ)p(x)

    ∝ `(θ|x)p(θ)

    (on reconnait le théorème de Bayes)

    Rq : contrairement à la vraisemblance, la loi a posteriori p(θ|x) est unedistribution de probabilité sur Θ

    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 aposteriori (posterior )

    p(θ|x) = `(θ|x)p(θ)p(x)

    ∝ `(θ|x)p(θ)

    (on reconnait le théorème de Bayes)

    Rq : contrairement à la vraisemblance, la loi a posteriori p(θ|x) est unedistribution de probabilité sur Θ

    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 )

    p(θ|x) = `(θ|x)p(θ)p(x)

    ∝ `(θ|x)p(θ)

    (on reconnait le théorème de Bayes)

    Rq : contrairement à la vraisemblance, la loi a posteriori p(θ|x) est unedistribution de probabilité sur Θ

    19 / 78

  • Exemple 1 - données normaldata

    � x ∼ N (µ, σ2) avec variance σ2 connue� supposons la loi a priori sur µ : N (0, σ2)� on peut calculer la loi a posteriori

    p(µ|x) ∝ p(µ)`(θ|x)∝ exp{−µ2/2σ2} exp{−n(µ− x̄)2/2σ2}∝ exp{−(n + 1)[µ− nx̄/(n + 1)]2/2σ2}

    ⇒ µ|x ∼ N ( nn + 1

    x̄ ,σ2

    n + 1)

    � Rq 1 : la moyenne de la loi a posteriori est plus proche de 0 quel’estimateur classique x de µ : cela est dû à la loi a priori centrée en0, qui suppose donc que µ est assez proche de 0.

    � Rq 2 : l’influence de la loi a priori s’estompe quand la tailled’é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 quipermet de tout faire : estimation, intervalle de confiance, testd’hypothèse, vérification de modèle, ...

    21 / 78

  • Exercice 1

    1. récupérer les données normaldata dans le package bayess. Dansces données, la seconde variable (que l’on appelera shift) mesurede différences de vitesses de deux faisceaux de lumière parcourantla même distance dans deux directions orthogonales (expérienced’Illingworth en 1927).

    2. estimer l’espérance µ de la variable shift par maximum devraisemblance. Tracer la vraisemblance.

    3. en supposant une loi a priori N (0, σ2) sur µ, avec σ2 la variance de lavariable shift, estimer µ par maximum a posteriori. Tracer la loi aposteriori.

    22 / 78

  • Différents types de loi a priori

    Le choix de la loi a priori peut être fait :� en fonction du réel a priori dont on dispose

    (mais attention, la loi a posteriori n’est pas toujours calculableanalytiquement...)

    � de sorte à permettre le calcul analytique de la loi a posteriori : onparle de loi a priori conjuguée(mais attention à l’influence des hyper-paramètres de la loi conjuguée...)

    � de sorte à atténuer l’effet de l’a priori : on parle de loi a priori noninformative(dans ce cas la loi a posteriori se rapproche de la vraisemblance...)

    23 / 78

  • Différents types de loi a priori

    Le choix de la loi a priori peut être fait :� en fonction du réel a priori dont on dispose

    (mais attention, la loi a posteriori n’est pas toujours calculableanalytiquement...)

    � de sorte à permettre le calcul analytique de la loi a posteriori : onparle de loi a priori conjuguée(mais attention à l’influence des hyper-paramètres de la loi conjuguée...)

    � de sorte à atténuer l’effet de l’a priori : on parle de loi a priori noninformative(dans ce cas la loi a posteriori se rapproche de la vraisemblance...)

    23 / 78

  • Différents types de loi a priori

    Le choix de la loi a priori peut être fait :� en fonction du réel a priori dont on dispose

    (mais attention, la loi a posteriori n’est pas toujours calculableanalytiquement...)

    � de sorte à permettre le calcul analytique de la loi a posteriori : onparle de loi a priori conjuguée(mais attention à l’influence des hyper-paramètres de la loi conjuguée...)

    � de sorte à atténuer l’effet de l’a priori : on parle de loi a priori noninformative(dans ce cas la loi a posteriori se rapproche de la vraisemblance...)

    23 / 78

  • Lois a priori conjuguées

    Quand on ne dispose pas d’a priori fiable, on opte souvent pour le choixde la simplicité, c’est-à-dire le choix d’une loi a priori conjuguée quifacilite 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 leparamè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 plusimportant aux valeurs θ où l’information de Fisher I(θ) (quantité d’info. surθ apporté par x) est grande : p(θ) = C

    √I(θ)

    � cette méthode conduit souvent à des lois impropres (∫

    Θp(θ)dθ = +∞).

    25 / 78

  • Intervalle de crédibilité bayesien

    � dans une approche bayesienne on parle d’intervalle de crédibilitéplutôt que d’intervalle de confiance :

    p(θ ∈ IC(θ, x)|x) = 1− α

    où 1− α est la probabilité qu’un θ ∼ p(θ|x) appartienne à l’intervalleIC(θ, x).

    � le calcul de cet intervalle est trivial dès lors que l’on dispose dep(θ|x), en utilisant les quantiles de cette dernière(ce qui n’est généralement pas le cas en dehors du contexte de loi a prioriconjuguée, mais dans ce cas il suffit d’avoir recours à un algorithmed’approximation ...)

    26 / 78

  • Exercice 2

    On veut connaı̂tre la probabilité θ de tomber sur face pour une piècedonné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}, soity = 7 ”face” et 3 ”pile”.

    Questions1. 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 - correction1. vraisemblance : p(x |θ) = θ7(1− θ)32. 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 - correction1. vraisemblance : p(x |θ) = θ7(1− θ)32. 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

    0.0 0.2 0.4 0.6 0.8 1.0

    prior = loi beta(1,1)

    theta

    vraisemblance

    prior

    posterior

    0.0 0.2 0.4 0.6 0.8 1.0

    prior = loi beta(2,2)

    theta

    vraisemblance

    prior

    posterior

    0.0 0.2 0.4 0.6 0.8 1.0

    prior = loi beta(4,4)

    theta

    vraisemblance

    prior

    posterior

    0.0 0.2 0.4 0.6 0.8 1.0

    prior = loi beta(8,8)

    theta

    vraisemblance

    prior

    posterior

    29 / 78

  • Exercice 2 - correction

    Estimation ponctuelle de θLa loi a posteriori étant une bêta(a+7,b+3), on peut estimer θ par� l’espérance de sa loi a posteriori : a+7a+b+10� le mode de sa loi a posteriori : a+6a+b+8

    Intervalle de crédibilité de θL’intervalle de crédibilité se calcule à partir des quantiles de la loi aposteriori

    30 / 78

  • Contents

    Rappel sur les principales lois de probabilités

    Statistique bayesienneLes outils bayesiensChoix de modèle bayésienMéthodes de Monte Carlo

    Regression et sélection de variables

    Les modèles graphiques et leur implémentation sous JAGSLes graphes acycliques dirigésJAGS

    31 / 78

  • Tester la validité d’une hypothèse

    Question : est-ce que µ = 0 pour les normaldata ?

    Approche fréquentisteOn met en place un test de Student pour décider entre� H0 : µ = 0� H1 : µ 6= 0

    Approche bayésienneOn compare les deux modèles� M1 : x ∼ N (0, σ2)� M2 : x ∼ N (µ, σ2)

    32 / 78

  • Tester la validité d’une hypothèse

    Question : est-ce que µ = 0 pour les normaldata ?

    Approche fréquentisteOn met en place un test de Student pour décider entre� H0 : µ = 0� H1 : µ 6= 0

    Approche bayésienneOn compare les deux modèles� M1 : x ∼ N (0, σ2)� M2 : x ∼ N (µ, σ2)

    32 / 78

  • Tester la validité d’une hypothèse

    Question : est-ce que µ = 0 pour les normaldata ?

    Approche fréquentisteOn met en place un test de Student pour décider entre� H0 : µ = 0� H1 : µ 6= 0

    Approche bayésienneOn compare les deux modèles� M1 : x ∼ N (0, σ2)� M2 : x ∼ N (µ, σ2)

    32 / 78

  • Facteur de bayes

    Choix entre deux modèlesOn veut comparer p(M1|x) et p(M2|x).Pour cela on introduit le Bayes factor :

    B21(x) =p(x |M2)p(x |M1)

    =p(M2|x)/p(M1|x)

    p(M2)/p(M1)

    qui correspond au odds ratio ou rapport de vraisemblance classique 1,sauf qu’ici le paramètre est intégré et non maximisé sous chaquemodèle

    1déviance D = −2 ln(p(x |M1, θ̂)/p(x |M2, θ̂))33 / 78

  • Facteur de bayes

    Echelle d’évidence de Jeffrey’sBayes factor :

    B21(x) =p(x |M2)p(x |M1)

    =p(M2|x)/p(M1|x)

    p(M2)/p(M1)

    � 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

    et idem en faveur de M1 pour les valeurs négatives.

    Rq : log10(B21(x)) > 1⇔ B21 > 10, log10(B21(x)) > 2⇔ B21 > 100,...34 / 78

  • Facteur de bayes

    Calcul du facteur de bayesBayes factor :

    B21(x) =p(M2|x)/p(M1|x)

    p(M2)/p(M1)=

    ∫Θ2`2(θ2|x)p2(θ2)dθ2∫

    Θ1`1(θ1|x)p1(θ1)dθ1

    qui peut parfois se calculer analytiquement.Quand ce n’est pas le cas, on utilise des approximations numériques(Méthodes de Monte Carlo)

    35 / 78

  • Tests d’hypothèse sous R

    � Pour comparer deux populations, on utilisera :� fréquentiste : t.test ou wilcox.test� bayésien : ttestBF

    � Pour comparer plus de deux populations, on utilisera :� fréquentiste : aov ou kruskal.test� bayésien : anovaBF

    36 / 78

  • Exemple 2 - données sleep

    Les données sleep contiennent l’effet de 2 somnifères (group) sur ladurée de sommeil, pour 10 patients.

    1 2

    −1

    01

    23

    45

    group

    extr

    a

    � tester la différence entre les groupes avec un approche classique

    37 / 78

  • Exemple 2 - données sleep

    � nous allons maintenant évaluer la différence entre les groupes avecune approche bayésienne :� δ = µ1−µ2

    σ� on compare les modèles

    � M1 : (µ1 − µ2)/σ ∼ N (0, 1)� M2 : (µ1 − µ2)/σ ∼ N (δ, 1) avec δ ∼ Cauchy(rscale)

    � La certitude que M1 est fausse est donc forte !

    38 / 78

  • Exemple 2 - données sleep� nous pouvons également simuler la distribution a posteriori de

    (µ1 − µ2)/σ

    0 200 400 600 800 1000

    −3−2

    −10

    Iterations

    Trace of var1

    −3 −2 −1 0 1

    0.0

    0.2

    0.4

    0.6

    0.8

    Density of var1

    N = 1000 Bandwidth = 0.1139

    39 / 78

  • Exercice 3ToothGrowth contient la longueur des dents de 60 cochons d’Inde enfonction de deux sources de vitamine C (jus d’orange et acide ascorbique).

    0.5 1.0 1.5 2.0

    510

    1520

    2530

    35

    0.5 1.0 1.5 2.0

    ToothGrowth data: length vs dose, given type of supplement

    len

    OJ

    VC

    Given : supp

    Tester les effets sources et doses avec :� une approche classique� une approche bayésienne

    40 / 78

  • Contents

    Rappel sur les principales lois de probabilités

    Statistique bayesienneLes outils bayesiensChoix de modèle bayésienMéthodes de Monte Carlo

    Regression et sélection de variables

    Les modèles graphiques et leur implémentation sous JAGSLes graphes acycliques dirigésJAGS

    41 / 78

  • Méthodes de Monte CarloLe calcul de la loi a posteriori et des facteurs de Bayes font intervenir lecalcul de : ∫

    Θ

    `(θ|x)p(θ)dθ

    qui est souvent non calculable analytiquement.

    Méthode de Monte-CarloPour estimer l’intégrale

    I =∫

    h(x)g(x)dx

    � simuler x1, . . . , xn ∼ g(x)� approcher I par

    În =1n

    n∑i=1

    h(xi )

    42 / 78

  • Méthodes de Monte CarloLe calcul de la loi a posteriori et des facteurs de Bayes font intervenir lecalcul de : ∫

    Θ

    `(θ|x)p(θ)dθ

    qui est souvent non calculable analytiquement.

    Méthode de Monte-CarloPour estimer l’intégrale

    I =∫

    h(x)g(x)dx

    � simuler x1, . . . , xn ∼ g(x)� approcher I par

    În =1n

    n∑i=1

    h(xi )

    42 / 78

  • Méthodes de Monte Carlo

    Lorsqu’il est difficile de simuler suivant g(·), on peut utiliser l’importancesampling

    Importance SamplingPour estimer l’intégrale

    I =∫

    h(x)g(x)dx =∫

    h(x)g(x)γ(x)

    γ(x)dx

    � simuler x1, . . . , xn ∼ γ(x)� calculer wi = g(xi )/γ(xi )� approcher I par

    În =∑n

    i=1 w1h(x1)∑ni=1 wi

    43 / 78

  • Exercice 4On cherche dans cet exercice à approcher l’intégrale I =

    ∫ 20 e− x22 dx .

    Pour cela nous utilisons une méthode de Monte-Carlo. Soit X1, . . . ,Xnun échantillon de variables aléatoires uniformes sur [0,2], et soit

    Yi = e−X2i2 pour tout i = 1,n.

    � Que vous dis la loi des grands nombres sur la convergence deȲn = 1n

    ∑ni=1 Yi lorsque n→∞ ?

    � Utiliser ce résultat pour approcher l’intégrale I, en simulant nvariables aléatoires Yi (n = 100,104,106).

    � Répéter 100 fois ces approximations, et représenter les résultatssous la forme d’une boı̂te à moustache pour chacune des 3 valeursde 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 deces résultats d’approximation ? Que vous dit le théorème centralelimite ?

    44 / 78

  • Plan

    Rappel sur les principales lois de probabilités

    Statistique bayesienneLes outils bayesiensChoix de modèle bayésienMéthodes de Monte Carlo

    Regression et sélection de variables

    Les modèles graphiques et leur implémentation sous JAGSLes graphes acycliques dirigésJAGS

    45 / 78

  • Régression linéaire ordinaire

    Le modèle linéaire ordinaire

    y|α,β, σ2 ∼ N (α1n + xβ, σ2In)avec donc

    E [yi |α,β, σ2] = α + β1xi1 + . . .+ βpxipV (yi |α,β, σ2) = σ2

    L’estimation par maximum de vraisemblance (débiaisé pour σ̂2) donne

    α̂ = ȳβ̂ = (x′x)−1x′(y− ȳ)

    σ̂2 =(y− α1n + xβ)′(y− α1n + xβ)

    n − p − 1 =s2

    n − p − 1

    46 / 78

  • Régression bayésienne

    avec a priori non informatif de Jeffreys

    y|α,β, σ2 ∼ N (α1n + xβ, σ2In)(α,β, σ2) ∝ σ−2

    Les estimateurs bayésiens (espérance Eπ de la loi a posteriori) sontalors :

    Eπ[α|y] = α̂Eπ[β|y] = β̂

    Eπ[σ2|y] = s2/(n − p − 3)

    Notons que les estimations de α et β sont les mêmes que dans le casordinaires, et que l’estimation de σ2 est un peu plus grande (pluspessimiste).

    47 / 78

  • Régression bayésienne

    avec a priori informatif de Zellner� idée de Zellner : proposer un a priori conjugué mais en réduisant le

    nombre d’hyper-paramètres⇒ a priori gaussien sur β dont on doit fixer l’espérance β̃ et le facteur

    d’importance g(g = n⇔ a priori a autant d’importance qu’une observation,g = 1⇔ et il a autant d’importance que toutes les données ensemble)

    ⇒ a priori non informatif de Jeffreys (impropre) sur (α, σ2)

    y|α,β, σ2 ∼ N (α1n + xβ, σ2In)β|α, σ2 ∼ N (β̃,gσ2(x′x)−1)(α, σ2) ∝ σ−2

    L’estimateur bayésien pour β est alors Eπ[β|y] = gg+1 (β̂ + β̃/g)48 / 78

  • Régression bayésienne

    Quelques a priori particuliers bien connus� ridge regression : β ∼ N (0, λI):

    β̂ridge = argminβ{

    n∑i=1

    (yi − α−p∑

    j=1

    βjxij )2 + λp∑

    j=1

    β2j }

    � LASSO regression : β ∼ Laplace(λ):

    β̂LASSO = argminβ{

    n∑i=1

    (yi − α−p∑

    j=1

    βjxij )2 + λp∑

    j=1

    |βj |}

    49 / 78

  • Régression bayésienne sous R : BayesRegLa fonction BayesReg (package bayess) implémente une régressionbayésienne avec a priori de Zellner

    50 / 78

  • Régression bayésienne sous R : BayesReg

    La fonction BayesReg (package bayess) implémente une régressionbayésienne avec a priori de Zellner

    50 / 78

  • Exercice 5 : données longley

    � charger les données longley, les étudier puis réaliser unerégression ordinaire

    � comparer à une régression bayésienne en jouant sur leshyper-paramètres de l’a priori de Zellner

    51 / 78

  • Choix de modèle en régression bayésienne

    � avec p variables, le nombre de modèles possibles est 2p

    � il est impossible de comparer tous les modèles dans une approchefréquentiste classique

    � en régression bayésienne, le choix du modèle (i.e. des variables àinclure dans le modèle) est considéré comme un paramètre, avec una priori généralement uniforme (ou plus généralement beta-binomial).

    � la fonction ModChoBayesReg implémente ce modèle de régressionbayésienne intégrant le choix de modèle.� si p < 15 les probabilités a posteriori de tous les modèles sont calculées� si p > 15, une approximation MCMC est utilisée

    52 / 78

  • Régression bayésienne sous R : BayesReg

    La fonction ModChoBayesReg implémente un modèle de régressionbayésienne avec a priori de Zellner intégrant le choix de modèle.

    53 / 78

  • Exercice 5 (suite) : données longley

    � choisissez le meilleur modèle de régression bayésienne, en jouantsur le paramètre g de Zellner

    54 / 78

  • Bayesian Model Averaging

    � choisir un unique modèleMm parmi 2p modèles possible peut-êtrerestrictif, sachant que les différence entre leur probabilité a posteriorisont parfois faible

    � le Bayesian Model Averaging préconise de moyenner les modèles enfonction de leur probabilité a posteriori. Ainsi :

    Eπ[β|y] =M∑

    m=1

    Eπ[β|y|Mm] p(Mm|y)

    où M < 2p est le nombre de modèle conservés (on ne conserve que lesmodèles dont la probabilité a posteriori est supérieure à 1/OR le maximumdes probabilités a posteriori).

    � cette technique est utilisable dès lors que l’on fait de la prédiction (enclassification également donc), et quelque soit le type de modèle quel’on utilise (réseaux de neurones, arbres de régression ...)

    55 / 78

  • Bayesian Model Averaging

    � la fonction bicreg du package BMA implémente cette technique,mais sans grand contrôle sur le choix des a priori.

    � la fonction bas.lm du package BAS permet de plus contrôler les loi apriori.

    56 / 78

  • Exercice 5 (suite) : données longley

    � Tester le Bayesian Model Averaging avec les fonctions bicreg.

    57 / 78

  • Pour aller plus loin...

    Sélection bayésienne de variables en régression linéaire

    Gilles Celeux∗, Jean-Michel Marin†et Christian Robert‡

    18 mai 2006

    Résumé

    Nous nous intéressons à la sélection bayésienne de variables en régression linéaire.Nous en abordons tous les aspects afin de fournir au lecteur un guide précis. Nousétudions successivement les cas où les loi a priori sur les paramètres des modèles sontinformatives et non informatives. Dans le cas informatif, nous proposons d’utiliser laloi a priori de Zellner pour le modèle contenant toutes les variables et une loi a prioride Zellner compatible avec la précédente pour chaque sous-modèle. Dans le cas noninformatif, nous montrons d’abord que l’inférence bayésienne utilisant des loi a priorifaiblement informatives construites à partir de la loi de Zellner est très sensible à lavaleur prise par un hyperparamètre, ce qui nous amène à déconseiller son utilisation.Nous proposons alors une nouvelle loi a priori hiérarchique basée sur la loi de Zellner.Nous montrons que l’utilisation de cette loi a priori assure d’excellentes performances desélection, d’un point de vue explicatif, par rapport aux critères fréquentiels classiques.Enfin, lorsque le nombre de variables est important, nous considérons les aspects algo-rithmiques et, en particulier, nous montrons que l’échantillonneur de Gibbs fonctionneparfaitement bien pour sélectionner les variables pertinentes, contrairement à ce quiest parfois affirmé.

    Mots clés : modèle de régression linéaire, sélection bayésienne de variables,loi a priori de Zellner, lois a priori compatibles, modèles hiérarchiques,échantillonneur de Gibbs

    Abstract

    Bayesian variable selection in linear regression is considered. All its aspects arestudied in order to provide a precise and efficient userguide. The informative and non-informative cases are analysed. In the informative case, it is suggested to choose theZellner G-prior on the full model and to derive compatible prior distributions for eachsub-model. In the non-informative case, it is shown that, if a Zellner weakly informative

    ∗INRIA FUTURS, Équipe SELECT, [email protected]†Auteur correspondant : INRIA FUTURS, Équipe SELECT et CEREMADE, Université Paris Dauphine,

    Université Paris-Sud, Laboratoire de Mathématiques, 91425 Orsay, [email protected]‡CEREMADE, Université Paris Dauphine et CREST, INSEE, [email protected]

    1

    Bayesian Model Selection in Social Research STOR

    Adrian E. Raftery

    Sociological Methodology, Vol. 25 (1995), 111-163.

    Stable URL: http://links.jstor.org/sici ?sici=0081-1750%281995%2925%3C 111 %3ABMSISR %3E2.0.C0%3B2-0

    Your use of the JSTOR archive indicates your acceptance of JSTOR' s Terms and Conditions of Use, available at http://www.jstor.org/about/terms.html. JSTOR's Terms and Conditions of Use provides, in part, that unless you

    have obtained prior permission, you may not download an entire issue of a journal or multiple copies of articles, and you may use content in the JSTOR archive only for your personal, non-commercial use.

    Each copy of any part of a JSTOR transmission must contain the same copyright notice that appears on the screen or printed page of such transmission.

    Sociological Methodology is published by American Sociological Association. Please contact the publisher for further permissions regarding the use of this work. Publisher contact information may be obtained at http://www.jstor.org/joumals/asa.html.

    Sociological Methodology ©1995 American Sociological Association

    JSTOR and the JSTOR logo are trademarks of JSTOR, and are Registered in the U.S. Patent and Trademark Office. For more information on JSTOR [email protected].

    ©2003 JSTOR

    http://www .j stor.org/ Tue Oct 14 20:31:39 2003

    58 / 78

  • Exercice 6

    � Réaliser une régression bayésienne sur les données de votre choix(les vôtres idéalement)...

    59 / 78

  • Plan

    Rappel sur les principales lois de probabilités

    Statistique bayesienneLes outils bayesiensChoix de modèle bayésienMéthodes de Monte Carlo

    Regression et sélection de variables

    Les modèles graphiques et leur implémentation sous JAGSLes graphes acycliques dirigésJAGS

    60 / 78

  • Contents

    Rappel sur les principales lois de probabilités

    Statistique bayesienneLes outils bayesiensChoix de modèle bayésienMéthodes de Monte Carlo

    Regression et sélection de variables

    Les modèles graphiques et leur implémentation sous JAGSLes graphes acycliques dirigésJAGS

    61 / 78

  • Les graphes acycliques dirigés

    Les graphes acycliques dirigés (DAG)� un outil de modélisation général.� graphique qui montre les relations (stochastiques et déterministes)

    entre les paramètres et les données.� idée : retranscrire toutes les étapes qui, à partir des paramètres,

    permettent de générer les données.

    Propriétés des DAG� acyclique : pas de cycle� dirigés : les liens ont un sens (direction)

    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ésex: µi = α + β × agei

    � lien stochastiques : flèche en trait pleinex: yi ∼ N (µi , σ2)

    � Tous les noeuds du graphe à un même niveau sont contenus dans uncadre

    63 / 78

  • Exemple 3 : poids des enfants à la naissance

    µf

    µg

    µi

    sexei

    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)

    Information a priori� µf et µg sont uniformes entre 2.5kg et 5kg� σ est uniforme entre 0.2kg et 0.8kg

    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

    Rappel sur les principales lois de probabilités

    Statistique bayesienneLes outils bayesiensChoix de modèle bayésienMéthodes de Monte Carlo

    Regression et sélection de variables

    Les modèles graphiques et leur implémentation sous JAGSLes graphes acycliques dirigésJAGS

    66 / 78

  • Projet BUGS: Bayesian inference Using GibbsSampling

    Développement et mise à disposition de logiciels flexibles permettant demettre en oeuvre l’inférence bayésienne sur des modèles complexes, enutilisant les MCMC.Quelques outils disponibles :� Winbugs� Openbugs� JAGS (Just Another Gibbs sampler - Martyn Plummer)� Stan (nouveaux algorithmes - Andrew Gelman)� RevBayes (pour la phylogénie)� ...

    67 / 78

  • Installation de JAGS et rjags

    � installer JAGShttp://sourceforge.net/projects/mcmc-jags/

    � installer le package R rjags� guide complet de JAGS :http://sourceforge.net/projects/mcmc-jags/files/Manuals/

    68 / 78

    http://sourceforge.net/projects/mcmc-jags/http://sourceforge.net/projects/mcmc-jags/ files/Manuals/

  • Langage de type BUGS

    � c’est un langage déclaratif qui ressemble à R� déclaration des liens logiques :noeud

  • Code de l’exemple 3 : poids des enfants à lanaissance

    A écrire dans un fichier texte comme ci-dessous.

    70 / 78

  • Langage de type BUGS� fonctions de baseexp(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 vectoriellesmean(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

  • Utiliser rjags

    � il faut commencer par définir les données (attention à la cohérence desnoms dans le modèle et dans les données)data

  • Utiliser rjags

    � il faut commencer par définir les données (attention à la cohérence desnoms dans le modèle et dans les données)data

  • Utiliser rjags

    � il faut commencer par définir les données (attention à la cohérence desnoms dans le modèle et dans les données)data

  • Utiliser rjags

    � on itére l’algorithme MCMC sur une période de chauffeupdate(m1, 3000)

    � puis de nouvelles itérations permettant de générer les paramètresselon leur loi a posteriorimcmc1

  • Utiliser rjags

    � on peut aussi représenter les simulations des paramètres selon leurlois a posteriori par l’algo. MCMCplot(mcmc1)

    4000 4500 5000 5500 6000

    3400

    3600

    3800

    4000

    Iterations

    Trace of moyennes[1]

    3400 3600 3800 4000

    0.00

    00.

    002

    0.00

    4

    Density of moyennes[1]

    N = 2000 Bandwidth = 17.54

    4000 4500 5000 5500 6000

    3000

    3400

    3800

    Iterations

    Trace of moyennes[2]

    2800 3000 3200 3400 3600 3800

    0.00

    000.

    0010

    0.00

    200.

    0030

    Density of moyennes[2]

    N = 2000 Bandwidth = 22.69

    4000 4500 5000 5500 6000

    400

    500

    600

    700

    800

    Iterations

    Trace of sigma

    400 500 600 700 800

    0.00

    00.

    002

    0.00

    40.

    006

    Density of sigma

    N = 2000 Bandwidth = 10.51

    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 :√variance totale

    variance intra-chaı̂nes

    gelman.diag(mcmc1)gelman.plot(mcmc1)

    4000 4500 5000 5500 6000

    1.00

    1.05

    1.10

    1.15

    1.20

    last iteration in chainsh

    rink

    fact

    or

    median97.5%

    moyennes[1]

    4000 4500 5000 5500 6000

    1.00

    01.

    005

    1.01

    01.

    015

    1.02

    0

    last iteration in chain

    shrin

    k fa

    ctor

    median97.5%

    moyennes[2]

    4000 4500 5000 5500 6000

    1.00

    1.05

    1.10

    1.15

    last iteration in chain

    shrin

    k fa

    ctor

    median97.5%

    sigma

    Ici l’indice est de 1, ce qui signifie que les 3 chaı̂nes échantillonnentsuivant la même distribution (a posteriori)

    75 / 78

  • Utiliser rjags

    � Une chaı̂ne MCMC ne doit pas être auto-corrélée (sinon il faut plusd’itérations). On peut vérifier cela à l’aide de la commande suivante :

    autocorr.plot(mcmc1[[1]])0 5 10 15 20 25

    −1.

    0−

    0.5

    0.0

    0.5

    1.0

    Lag

    Aut

    ocor

    rela

    tion

    moyennes[1]

    0 5 10 15 20 25

    −1.

    0−

    0.5

    0.0

    0.5

    1.0

    Lag

    Aut

    ocor

    rela

    tion

    moyennes[2]

    0 5 10 15 20 25

    −1.

    0−

    0.5

    0.0

    0.5

    1.0

    Lag

    Aut

    ocor

    rela

    tion

    sigma

    Ici pas de soucis particulier.

    76 / 78

  • Utiliser rjags

    � Enfin, on peut exploiter les chaı̂nes MCMC pour obtenir lesestimations bayésienne des paramètres :

    77 / 78

  • Exercice 7

    � Toujours sur les poids des enfants à la naissance, introduire d’autresvariables (présente dans le fichier).

    78 / 78

    Rappel sur les principales lois de probabilitésStatistique bayesienneRegression et sélection de variablesLes modèles graphiques et leur implémentation sous JAGS