Bei zwei Arrays x und y, die beide die Länge n haben, passe ich ein Modell y = a + b * x an und möchte ein 95% -Konfidenzintervall für die Steigung berechnen. Dies ist (b - delta, b + delta), wobei b in üblicher Weise und gefunden wird
delta = qt(0.975,df=n-2)*se.slope
und se.slope ist der Standardfehler in der Steigung. Ein Weg, um den Standardfehler der Steigung von R zu erhalten, ist summary(lm(y~x))$coef[2,2]
.
Nehmen wir nun an, ich schreibe die Wahrscheinlichkeit der Steigung bei x und y, multipliziere diese mit einem "flachen" Vorgänger und benutze eine MCMC-Technik, um eine Probe m aus der posterioren Verteilung zu ziehen. Definieren
lims = quantile(m,c(0.025,0.975))
Meine Frage: ist (lims[[2]]-lims[[1]])/2
etwa gleich Delta wie oben definiert?
Anhang Nachfolgend sehen Sie ein einfaches JAGS-Modell, bei dem diese beiden Modelle unterschiedlich zu sein scheinen.
model {
for (i in 1:N) {
y[i] ~ dnorm(mu[i], tau)
mu[i] <- a + b * x[i]
}
a ~ dnorm(0, .00001)
b ~ dnorm(0, .00001)
tau <- pow(sigma, -2)
sigma ~ dunif(0, 100)
}
Ich führe folgendes in R aus:
N <- 10
x <- 1:10
y <- c(30.5,40.6,20.5,59.1,52.5,
96.0,121.4,78.9,112.1,128.4)
lin <- lm(y~x)
#Calculate delta for a 95% confidence interval on the slope
delta.lm <- qt(0.975,df=N-2)*summary(lin)$coef[2,2]
library('rjags')
jags <- jags.model('example.bug', data = list('x' = x,'y' = y,'N' = N),
n.chains = 4,n.adapt = 100)
update(jags, 1000)
params <- jags.samples(jags,c('a', 'b', 'sigma'),7500)
lims <- quantile(params$b,c(0.025,0.975))
delta.bayes <- (lims[[2]]-lims[[1]])/2
cat("Classical confidence region: +/-",round(delta.lm, digits=4),"\n")
cat("Bayesian confidence region: +/-",round(delta.bayes,digits=4),"\n")
Und bekomme:
Klassischer Vertrauensbereich: +/- 4,6939
Bayesianische Vertrauensregion: +/- 5,1605
Die Bayesianische Vertrauensregion wird mehrmals wiederholt und ist durchweg breiter als die klassische. Liegt das an den Prioren, die ich ausgewählt habe?
sigma <- pow(tau, -1/2)
odersigma <- 1/sqrt(tau)
Wenn Sie aus dem hinteren Teil von b | y und berechne lims (wie du definierst) sollte es dasselbe sein wie (b - delta, b + delta). Insbesondere, wenn Sie die posteriore Verteilung von b | berechnen y unter einem flachen Vorgänger ist es dasselbe wie die klassische Stichprobenverteilung von b.
Weitere Einzelheiten finden Sie unter: Gelman et al. (2003). Bayesianische Datenanalyse. CRC-Presse. Abschnitt 3.6
Bearbeiten:
Ringold, das von Ihnen beobachtete Verhalten stimmt mit der Bayes'schen Idee überein. Das Bayesian Credible Interval (CI) ist im Allgemeinen breiter als die klassischen. Und der Grund ist, wie Sie richtig erraten haben, dass die Hyperprioren die Variabilität aufgrund der unbekannten Parameter berücksichtigt haben.
Für einfache Szenarien wie diese (NICHT ALLGEMEIN):
Bayesianisches CI> Empirisches Bayesianisches CI> Klassisches CI; > == breiter
quelle
Für lineare Gauß-Modelle ist es besser, das Bayes-Paket zu verwenden. Es implementiert die semi-konjugierte Familie der Vorfahren, und der Jeffreys-Prior ist ein Grenzfall für diese Familie. Siehe mein Beispiel unten. Dies sind klassische Simulationen, MCMC ist nicht erforderlich.
Ich erinnere mich nicht, ob die Glaubwürdigkeitsintervalle für die Regressionsparameter genau die gleichen sind wie die üblichen Konfidenzintervalle für kleinste Quadrate, aber auf jeden Fall sehr eng.
quelle
Angesichts der Tatsache, dass die einfache lineare Regression analytisch identisch ist zwischen der klassischen und der Bayes'schen Analyse mit der vorherigen von Jeffrey, die beide analytisch sind, erscheint es etwas seltsam, für die Bayes'sche Analyse auf eine numerische Methode wie MCMC zurückzugreifen. MCMC ist nur ein numerisches Integrationswerkzeug, mit dem Bayes'sche Methoden bei komplizierteren Problemen eingesetzt werden können, die analytisch nicht zu lösen sind, genauso wie Newton-Rhapson oder Fisher Scoring numerische Methoden zur Lösung klassischer Probleme, die nicht zu lösen sind.
Die posteriore Verteilung p (b | y) unter Verwendung des vorherigen p (a, b, s) von Jeffrey proportional zu 1 / s (wobei s die Standardabweichung des Fehlers ist) ist eine studentische t-Verteilung mit der Position b_ols, Skala se_b_ols ( ols "für" gewöhnliche kleinste Quadrate "(Schätzung) und n-2 Freiheitsgrade. Die Stichprobenverteilung von b_ols ist aber auch ein Student t mit Position b, Skala se_b_ols und n-2 Freiheitsgraden. Sie sind also identisch, mit der Ausnahme, dass b und b_ols vertauscht wurden. Wenn es also um die Erstellung des Intervalls geht, wird die "est + - Grenze" des Konfidenzintervalls in dem glaubwürdigen Intervall zu einer "est - + Grenze" umgekehrt.
Das Konfidenzintervall und das glaubwürdige Intervall sind also analytisch identisch, und es spielt keine Rolle, welche Methode verwendet wird (vorausgesetzt, es gibt keine zusätzlichen vorherigen Informationen). Nehmen Sie also die Methode, die rechnerisch billiger ist (z. B. die mit weniger Matrixinversionen). Was Ihr Ergebnis mit MCMC zeigt, ist, dass die mit MCMC verwendete Näherung ein glaubwürdiges Intervall ergibt, das im Vergleich zum genauen analytischen glaubwürdigen Intervall zu breit ist. Dies ist wahrscheinlich eine gute Sache (obwohl wir eine bessere Approximation wünschen würden), dass die ungefähre Bayes'sche Lösung konservativer erscheint als die exakte Bayes'sche Lösung.
quelle