Hintergrund : Ich habe einen Doktortitel in Sozialpsychologie, in dem theoretische Statistik und Mathematik in meinen quantitativen Kursen kaum behandelt wurden. Während des Studiums und der Graduiertenschule wurde ich (wahrscheinlich wie viele von Ihnen auch in den Sozialwissenschaften) durch das "klassische" frequentistische Rahmenwerk unterrichtet. Jetzt liebe ich auch R und die Verwendung von Simulationsmethoden, um zu überprüfen, ob Methoden funktionieren, ist WegSinnvoller für mich als mathematische Beweise (wieder: Hintergrund in einer quantitativen Sozialwissenschaft, keine theoretische Statistik). Frequentistische Methoden und Simulationsmethoden zusammen ergeben für mich eine Menge Sinn. Weil Frequentisten Wahrscheinlichkeit als langfristige Gewinnchancen betrachten (z. B. Wenn ich dies beliebig oft mache und es 50% der Zeit passiert, gibt es eine 50% ige Wahrscheinlichkeit). Wir können dies langfristig mit Monte-Carlo-Methoden simulieren!
Komplikationen : Seit dem Studium war ich mir der Bayes'schen Methoden sehr bewusst, und es gab immer Leute in meinem Leben, die mich auf die Bayes'sche Seite riefen und sagten, dass die Ergebnisse leichter zu interpretieren seien und dass wir die Wahrscheinlichkeit für eine Hypothese anstelle der Daten erhalten Ich hatte eine Hypothese usw. Ich war wirklich begeistert davon und nahm an einem Bayes-Kurs teil, las einige Bayes-Bücher und -Papiere und bin jetzt ziemlich vertraut mit Stan und den dazugehörigen R-Paketen.
Mayo betreten : Nachdem ich eine Weile gedacht hatte, "Bayesian ist wahrscheinlich der Weg der Zukunft", las ich Deborah Mayos statistische Inferenz als schwerwiegende Prüfung . Sie sagt, dass sie am Anfang des Buches keine Seite auswählt, aber sie tut es: Sie ist eine Frequentistin, und ein Großteil des Buches verteidigt die Frequentist-Methoden. Ich möchte nicht unbedingt darüber diskutieren, ob wir glauben, dass die Art und Weise, wie sie Beweise sieht, gültig ist oder nicht, aber das brachte mich zum Nachdenken: Ist Bayes wirklich alles, was beworben wird? Ich meine, die Bayes-Menge ist selbst so zerbrochen, dass ich nicht einmal den "richtigen" Weg kenne, um Daten in einem Bayes'schen Rahmen oft zu analysieren. Normalerweise würde ich nur verwendenrstanarm
und präsentieren Punktschätzungen und glaubwürdige Intervalle ... die oft eng mit häufigen Schätzungen und Konfidenzintervallen übereinstimmen. Ich könnte Modellvergleiche durchführen, habe aber immer Angst, Bayes-Faktoren als posteriore Wahrscheinlichkeitsvergleiche usw. zu beschreiben.
Mehr Nachdenken : Was ich in Mayos Buch immer wieder nachdachte, war: Es gibt eine Möglichkeit, mithilfe von Computern sicherzustellen, dass unsere häufig verwendeten Methoden funktionieren, denn die Wahrscheinlichkeit ist das, was wir auf lange Sicht sehen, und wir können dies simulieren. Die Bayesianer können sich nicht einmal darauf einigen, wie hoch die Wahrscheinlichkeit tatsächlich ist, abhängig von der Bayesianischen Schule (Standard, subjektiv usw.). Was mich zu meiner Frage führt:
Frage : Wie überprüfen Bayesianer mithilfe von Monte-Carlo-Simulationsmethoden, ob ihre Methoden die Unsicherheit richtig definieren (dh gültige glaubwürdige Intervalle und posteriore Verteilungen berechnen), wenn die Wahrscheinlichkeit auf lange Sicht nicht als Rate definiert ist?
Beispiel : Ich erstelle einen Datengenerator. Dies wird nur aus einer Bernoulli-Verteilung mit einer Wahrscheinlichkeit von 0,5 simuliert:
set.seed(1839)
p <- .50
n <- 100
gen_dat <- function(n, p) {
rbinom(n, 1, p)
}
Angenommen, ich möchte sicherstellen, dass die Konfidenzintervalle in einer logistischen Regression tatsächlich gültig sind. Ich kann eine Regression sehr oft simulieren und sicherstellen, dass der tatsächliche Bevölkerungswert in 95% der Fälle in das 95% -Konfidenzintervall fällt. Da es sich nur um ein Intercept-Modell handelt, möchte ich nur sicherstellen, dass ich p
richtig schätze:
set.seed(1839)
iter <- 10000
results <- sapply(seq_len(iter), function(zzz) {
mod <- glm(gen_dat(n, p) ~ 1, binomial)
conf <- suppressMessages(confint(mod))
log(p / (1 - p)) < max(conf) & log(p / (1 - p)) > min(conf)
})
mean(results)
Das dauert einige Minuten, aber am Ende wird mean(results)
uns der Anruf gegeben 0.9416
. Dies sind ungefähr 95%, und ich bin zuversichtlich, dass der glm
Befehl die Unsicherheit auf gültige Weise beschreibt. Ich bin mir sicher, dass es bei 95% näher an die Nase gerückt wäre, wenn ich mich erhöht hätte iter
und länger hier an meinem Laptop warten wollte.
Auf der anderen Seite passen wir ein Bayes'sches Modell für dasselbe an:
library(rstanarm)
set.seed(1839)
dat <- data.frame(y = gen_dat(n, p))
stan_mod <- stan_glm(y ~ 1, binomial, dat)
summary(stan_mod)
Zum Teil gibt mir dies:
Estimates:
mean sd 2.5% 25% 50% 75% 97.5%
(Intercept) -0.1 0.2 -0.5 -0.2 -0.1 0.0 0.3
mean_PPD 0.5 0.1 0.3 0.4 0.5 0.5 0.6
log-posterior -73.0 0.7 -75.1 -73.1 -72.7 -72.5 -72.5
Da Bayesianer Wahrscheinlichkeit nicht als das definieren, was wir auf lange Sicht sehen, wie kann ich Simulationsmethoden verwenden, um zu überprüfen, ob stan_glm
die Unsicherheit genau erfasst wird? Wie kann ich mithilfe von Simulationsmethoden darauf vertrauen, dass diese glaubwürdigen Intervalle gültig sind? Und im Moment definiere ich nicht einmal einen Prior - wie kommt hier die Einbeziehung von Priors ins Spiel, da dies unsere Unsicherheitsmaße beeinflusst?
Als ich einmal versuchte, eine Beta-Regression mit einer Hürdenmodellkomponente in Stan von Grund auf neu zu schreiben, wurde mir jemand empfohlen: "Daten simulieren. Tun Sie dies einige Male, und die tatsächlichen Schätzungen sollten im glaubwürdigen Intervall von etwa 95 liegen % der ganzen Zeit." Aber für mich widerspricht das genau dem, woran die Bayesianer glauben! Das beruht auf häufigem Verständnis der Wahrscheinlichkeit! Wie würde mich ein Bayesianer davon überzeugen, dass das glaubwürdige Intervall, das ich vom summary()
Aufruf meines Modells erhalte, die Unsicherheit mithilfe von Simulationsmethoden genau beschreibt?
Zweck der Frage : Dies ist ein triviales Beispiel, aber oft stellen Kunden mir schwierige Probleme. Und ich probiere Dinge aus, mit denen ich nicht vertraut bin, deshalb führe ich oft eine Simulationsstudie durch, um sicherzustellen, dass das, was ich tue, gültig ist. Wenn ich ein benutzerdefiniertes Modell in Stan schreiben würde, woher würde ich wissen, dass das, was ich tue, legitim ist? Wie kann ich mithilfe von Simulationsmethoden überprüfen, ob das, was ich in Stan mache, mir tatsächlich sagt, was ich wissen möchte?
quelle
Antworten:
Ich denke, Sie sehen das logische Problem in Ihrer Frage. Im frequentistischen Paradigma ist es in Ordnung, eine Bevölkerungswahrheit anzunehmen, Daten zu generieren und zu prüfen, ob die Schätzungen eine gute Abdeckung aufweisen, da dies das ist, was sie tun sollen. Im Bayes'schen Paradigma gibt es jedoch keine Grundwahrheit, aus der Daten generiert werden können! Bayesianer fragen nach der Wahrscheinlichkeit, dass solche Wahrheiten Daten enthalten. In der Simulation benötigen wir also verschiedene Wahrheiten, die zu Daten führen und dann die Daten bedingen. In der Praxis simuliert man schließlich das Gesetz der bedingten Wahrscheinlichkeit, das glücklicherweise immer per Definition gilt. Ich greife genau dieses Thema in Rouder, 2014, Psychonomic Bulletin and Review, auf. https://dx.doi.org/10.3758/s13423-014-0595-4
quelle
Ich glaube, die Verwirrung hier betrifft den Zweck von Simulationsmethoden in der Bayes'schen Statistik. Der einzige Zweck von Markov-Ketten-Monte-Carlo-Methoden wie Gibbs-Sampling oder Hamilton-Monte-Carlo-Methoden besteht darin, den Nenner der Bayes-Regel zu berechnen.
Natürlich gibt es oft andere Methoden, die MCMC unnötig machen würden. Einige Modelle können durch Konjugation ausgedrückt werden, andere durch Anwenden eines feinen Gitters über den Parameterraum, andere können durch Akzeptieren-Zurückweisen-Testen gelöst werden. MCMC ist praktisch, wenn sich das Integral schlecht verhält.
Die Genauigkeit dieser Zahl bestimmt einige, aber nicht alle Parameterschätzungen. Wenn Sie den Maximum-a-posteriori-Schätzer verwendet haben, ist MCMC ein unnötiger Schritt. Sie sollten stattdessen einen Bergsteigeralgorithmus erstellen. Andererseits ist es notwendig, den hinteren Mittelwert oder ein Intervall zu bestimmen. Das liegt daran, dass das 95% -Intervall 95% von etwas sein muss und der Nenner bestimmt, wie groß das Ausmaß dieses Etwas ist.
Das Ziel von MCMC in Bayes'schen Methoden ist es, die Markov-Ketten dazu zu bringen, zur posterioren Dichte zu konvergieren. Das ist es. Es testet nicht die Gültigkeit von irgendetwas. Es ist nur ein Versuch, einen Festpunktwert zu bestimmen. Es ist eine Form der numerischen Integration. Da es keine Möglichkeit gibt zu wissen, ohne dass der Algorithmus bis ins Unendliche läuft, ob alle dichten Regionen abgedeckt wurden, gibt es ein menschliches Urteil. Der Algorithmus hat einen Cutoff, wenn er glaubt, dass er fertig ist, aber das bedeutet nicht, dass er tatsächlich fertig ist.
In Frequentist-Methoden wird MCMC häufig verwendet, um die Angemessenheit eines Modells zu testen oder eine Lösung numerisch zu approximieren, wenn keine analytische verfügbar ist. Es dient hier keinem ähnlichen Zweck.
Diese Frage ist weitaus schwieriger. Stan ist ein schneller Algorithmus, der Geschwindigkeit gegen ein zusätzliches Risiko für Ungenauigkeiten eintauscht. Stan wird konstruktionsbedingt häufiger richtig als falsch sein. Es gibt andere Algorithmen, mit denen der Parameterraum weitgehend nach lokalen Maxima durchsucht werden kann, die zwar genauer, aber sehr langsam sind.
Das zweite, was Sie tun können, ist, es mit einem alternativen Algorithmus zu validieren. Die Zahlen werden niemals übereinstimmen, aber wenn Sie sie für nah genug halten, ist alles in Ordnung.
Drittens enthalten die meisten vorgefertigten Pakete Warnungen, dass etwas nicht stimmt. Wenn eine Warnung angezeigt wird, verwenden Sie etwas anderes, nachdem Sie die Ursache des Problems untersucht haben, damit Sie es nicht in einem anderen Algorithmus neu erstellen.
Fünftens, und Sie sollten dies tun, bevor Sie Stan überhaupt starten, und Ihre Grenzwahrscheinlichkeiten in einer oder zwei Dimensionen grafisch darstellen. Gibt es irgendwo Überraschungen, die den Algorithmus stören könnten?
Wenn Sie keinen Prior definieren, ist Ihr Modell ungültig. Wenn Sie keine angemessene vorherige Dichte definieren, warum sollten Sie dann ein Bayes'sches Modell verwenden? Frequentistische Modelle minimieren das Risiko eines maximalen Verlusts, der durch das Sammeln einer schlechten Stichprobe entstehen kann. Sie sind sehr pessimistisch und es sind oft mehr Informationen erforderlich, um das gleiche Ergebnis zu erzielen, das eine Bayes'sche Methode erzielen würde.
Dies nützt jedoch nichts, ohne eine gute vorherige Dichte zu verwenden. Die vorherige Dichte ermöglicht es der Bayes'schen Methode, den durchschnittlichen Verlust bei der Auswahl einer schlechten Probe zu minimieren. Die Informationen im Stand der Technik dienen als Gewichtungsschema, sodass der Prior die Rolle, die die Daten spielen, schwächt, wenn eine extreme Stichprobe durch unglücklichen Zufall ausgewählt wird.
BEARBEITEN Mir wurde klar, dass ich keine bestimmte Antwort gegeben habe. Es ging um die Frage
Von Bedeutung für Sie ist es unmöglich, dass die Bayes'sche Vorhersage jemals die wahre Verteilung ist. Eine der drei Verteilungen ist die wahre Verteilung. Die Bayes'schen Methoden gewichten ihre Wahrscheinlichkeit basierend auf dem beobachteten Wert und dem Prior. Der hintere Teil kann niemals die wahre Verteilung oder die prädiktive Dichte sein.
Es wird gefragt, "wie hoch die Wahrscheinlichkeit ist, sechs Köpfe und zwei Schwänze über den Satz aller möglichen Erklärungen (Parameter, Modelle usw.) zu sehen."
Wenn Sie Simulationen verwenden würden, um eine Stichprobe festzuhalten, würden Sie feststellen, dass Stan eine bewundernswerte Leistung erbringt, da der Bayes-Satz ein mathematischer Satz ist. Es ist nachträglich optimal. Alles, was Sie finden würden, ist, dass der Algorithmus den Bayes-Satz bis zur natürlichen Fehlerstufe bei der Schätzung des Nenners korrekt implementiert hat.
Sie können drei Dinge tun. Erstens können Sie Modellbewertungsmethoden für Daten außerhalb der Stichprobe verwenden. Zweitens können Sie eine Bayes'sche Modellauswahl oder einen Modellmittelungsprozess verwenden. Drittens können Sie es als häufig auftretendes Problem behandeln und die Stichprobenverteilung von Schätzern erstellen.
Zum einen sind Bewertungsmethoden eine ganze Literatur für sich. Sie sollten sie erforschen. Die Bayes'sche Modellauswahl und die Modellmittelung behandeln Modelle als Parameter. Für die Modellauswahl wird die Wahrscheinlichkeit berechnet, dass die Modelle wahr sind. Für die Modellmittelung wird die Wahrscheinlichkeit berechnet, dass jedes Modell wahr ist, und dies dient als Gewichtung über den Modellraum. Schließlich können Sie es als ein Frequentist-Modell behandeln.
Der letzte wird in vielen Standardfällen aufgrund des Prior ein Problem sein. Bei Modellen mit drei oder mehr Dimensionen und einer Normalverteilung wird die hintere Dichte nicht zu einer Einheit integriert, wenn die vorherige Dichte keine richtige Dichte ist. Mit anderen Worten, Sie müssen in die Kugel beißen und für jedes Modell mit einer echten Komplexität einen Prior auswählen.
Das Vorhandensein eines korrekt zentrierten Eigenprior erzwingt den Fall, dass die Bayes'sche Methode aufgrund der verbesserten Information der entsprechenden Frequentist-Methode überlegen ist. Die Bayes'sche Methode wird unter jedem vernünftigen Standard gewinnen. Das liegt nicht an einem Fehler in der Frequentist-Methode, aber die Bayes'sche Methode setzt äußere Informationen voraus. Bei der Frequentist-Methode werden nur die Informationen in der Stichprobe berücksichtigt, wenn Sie einen echten Prior haben.
Wenn Sie keinen echten Prior haben, warum verwenden Sie dann eine Bayes'sche Methode?
quelle