Non, votre calcul n'est pas correct, car:
une) b1 et b3 sont probablement corrélés dans la distribution postérieure, et
b) même s'ils ne l'étaient pas, ce n'est pas ainsi que vous le calculeriez (pensez à la loi des grands nombres).
Mais n'ayez crainte, il existe un moyen très simple de le faire dans WinBUGS. Définissez simplement une nouvelle variable:
b1b3 <- b1 + b3
et surveiller ses valeurs.
ÉDITER:
Pour une meilleure explication de mon premier point, supposons que le postérieur ait une distribution normale multivariée commune (ce ne sera pas le cas dans ce cas, mais cela sert d'illustration utile). Ensuite, le paramètrebi a une distribution N(μi,σ2i), et donc l'intervalle crédible à 95% est (μi−1.96σi,μi+1.96σi) - notez que cela ne dépend que de la moyenne et de la variance.
Maintenant b1+b3 aura la distribution N(μ1+μ3,σ21+2ρ13σ1σ3+σ23). Notez que le terme de variance (et donc l'intervalle crédible à 95%) implique le terme de corrélationρ13 qui ne peut être trouvée à partir des intervalles de b1 ou b3.
(Mon point sur la loi des grands nombres était simplement que les écarts-types de la somme de 2 variables aléatoires indépendantes sont inférieurs à la somme des écarts-types.)
Quant à la façon de l'implémenter dans WinBUGS, quelque chose comme ceci était ce que j'avais à l'esprit:
model {
a ~ dXXXX
b1 ~ dXXXX
b2 ~ dXXXX
b3 ~ dXXXX
b1b3 <- b1 + b3
for (i in 1:N) {
logit(p[i]) <- a + b1*x[i] + b2*w[i] + b3*x[i]*w[i]
y[i] ~ dbern(p[i])
}
}
À chaque étape de l'échantillonneur, le nœud b1b3
sera mis à jour à partir de b1
et b3
. Il n'a pas besoin d'un a priori car c'est juste une fonction déterministe de deux autres nœuds.