Nein, Ihre Berechnung ist nicht korrekt, weil:
a) und sind wahrscheinlich in der posterioren Verteilung korreliert, undb 3b1b3
b) Selbst wenn dies nicht der Fall wäre, würden Sie es nicht so berechnen (denken Sie an das Gesetz der großen Zahlen).
Aber keine Angst, es gibt eine wirklich einfache Möglichkeit, dies in WinBUGS zu tun. Definieren Sie einfach eine neue Variable:
b1b3 <- b1 + b3
und überwachen Sie seine Werte.
BEARBEITEN:
Nehmen wir zur besseren Erklärung meines ersten Punktes an, dass der hintere Teil eine gemeinsame multivariate Normalverteilung aufweist (dies ist in diesem Fall nicht der Fall, dient jedoch als nützliche Illustration). Dann hat der Parameter die Verteilung , und daher ist das zu 95% glaubwürdige Intervall - beachten Sie, dass dies nur vom Mittelwert und abhängt Varianz. N ( μ i , σ 2 i ) ( μ i - 1,96 σ i , μ i + 1,96 σ i )bichN.( μich, σ2ich)( μich- 1,96 σich, μich+ 1,96 σich)
Jetzt hat die Verteilung . Beachten Sie, dass der Varianzterm (und damit das zu 95% glaubwürdige Intervall) den Korrelationsterm beinhaltet, der aus den Intervallen für oder nicht gefunden werden . N ( μ 1 + μ 3 , σ 2 1 + 2 ρ 13 σ 1 σ 3 + σ 2 3 ) ρ 13 b 1 b 3b1+ b3N.( μ1+ μ3, σ21+ 2 ρ13σ1σ3+ σ23)ρ13b1b3
(Mein Punkt zum Gesetz der großen Zahlen war nur, dass die Standardabweichungen der Summe von 2 unabhängigen Zufallsvariablen kleiner sind als die Summe der Standardabweichungen.)
Was die Implementierung in WinBUGS betrifft, dachte ich an Folgendes:
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])
}
}
Bei jedem Schritt des Samplers wird der Knoten b1b3
von b1
und aktualisiert b3
. Es braucht keinen Prior, da es nur eine deterministische Funktion von zwei anderen Knoten ist.