In che modo i bayesiani verificano i loro metodi usando i metodi di simulazione Monte Carlo?


11

Contesto : ho un dottorato di ricerca in psicologia sociale, in cui la statistica teorica e la matematica erano a malapena trattate nei miei corsi quantitativi. Attraverso gli studi universitari e la scuola di specializzazione, mi è stato insegnato (come molti di voi anche nelle scienze sociali, probabilmente) attraverso il quadro frequentatore "classico". Ora, adoro anche R e usare i metodi di simulazione per verificare che i metodi di lavoro si facciano stradapiù senso per me delle prove matematiche (di nuovo: background in una scienza sociale quantitativa, non statistica teorica). I metodi frequentista e i metodi di simulazione insieme hanno molto senso per me. Perché i frequentatori vedono la probabilità come probabilità a lungo termine (ad esempio, se lo faccio un numero arbitrariamente grande di volte, e succede il 50% delle volte, allora c'è una probabilità del 50%). Possiamo simulare questo lungo periodo con i metodi Monte Carlo!

Complicazioni : da quando ero studente, sono stato molto consapevole dei metodi bayesiani, e ci sono sempre state persone nella mia vita che mi chiamavano dalla parte bayesiana, dicendo che i risultati erano più facili da interpretare, che otteniamo probabilità per un'ipotesi invece dei dati dato un'ipotesi, ecc. Mi sono davvero appassionato e ho seguito una lezione bayesiana, ho letto alcuni libri e documenti bayesiani e ora ho una buona conoscenza di Stan e dei suoi pacchetti R associati.

Enter Mayo : Dopo aver pensato che "Bayesian è probabilmente la strada per il futuro" per un po ', ho letto l' inferenza statistica di Deborah Mayo come test severi . Dice di non scegliere un lato all'inizio del libro, ma lo fa: è una frequentatrice e gran parte del libro difende le metodologie frequentiste. Non voglio necessariamente entrare in discussione se pensiamo o meno il modo in cui vede le prove valide, ma questo mi ha fatto pensare: Bayes è davvero tutto ciò che viene pubblicizzato? Voglio dire, la folla di Bayes è così frammentata che non conosco nemmeno il modo "giusto" di analizzare spesso i dati in un quadro bayesiano. Di solito, userei solorstanarme presentare stime puntuali e intervalli credibili ... che spesso si allineano strettamente con stime e intervalli di confidenza del frequentista. Potrei fare confronti tra modelli, ma ho sempre paura di descrivere i fattori di Bayes come confronti di probabilità posteriori, ecc.

Altre riflessioni : quello che continuavo a pensare nel libro di Mayo era: Esiste un modo in cui possiamo usare i computer per assicurarci che i nostri metodi frequentisti funzionino, perché la probabilità è ciò che vediamo a lungo termine e possiamo simularlo. I bayesiani non sono nemmeno d'accordo su quale sia la probabilità, a seconda della scuola bayesiana (impostazione predefinita, soggettiva, ecc.). Il che mi porta alla mia domanda:

Domanda : In che modo i bayesiani verificano che i loro metodi definiscano correttamente l'incertezza (ovvero, calcolano intervalli credibili validi e distribuzioni posteriori) usando i metodi di simulazione Monte Carlo, se la probabilità non è definita come tassi a lungo termine?

Esempio : creo un generatore di dati. Questo simulerà da una distribuzione di Bernoulli con una probabilità di 0,5:

set.seed(1839)
p <- .50
n <- 100
gen_dat <- function(n, p) {
  rbinom(n, 1, p)
}

Ora, diciamo che voglio assicurarmi che gli intervalli di confidenza in una regressione logistica siano effettivamente validi. Posso simulare una regressione un gran numero di volte e assicurarmi che il valore effettivo della popolazione rientri nell'intervallo di confidenza al 95% il 95% delle volte. È un modello solo per intercettazione, quindi voglio solo assicurarmi di stimare pcorrettamente:

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)

Questo richiede alcuni minuti, ma finiamo con la mean(results)chiamata che ci dà 0.9416. Si tratta di circa il 95% e sono fiducioso nel dire che il glmcomando sta descrivendo l'incertezza in modo valido. Sono sicuro che se mi fossi alzato itere avessi voluto aspettare più a lungo sul mio portatile, mi sarei avvicinato al naso al 95% .

D'altra parte, adattiamo un modello bayesiano per la stessa cosa:

library(rstanarm)
set.seed(1839)
dat <- data.frame(y = gen_dat(n, p))
stan_mod <- stan_glm(y ~ 1, binomial, dat)
summary(stan_mod)

In parte, questo mi dà:

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  

Dato che i bayesiani non definiscono la probabilità come ciò che vediamo a lungo termine, come posso usare i metodi di simulazione per verificare che stan_glmcatturare accuratamente l'incertezza? Cioè, come potrei fidarmi che questi intervalli credibili siano validi, usando i metodi di simulazione? E in questo momento, non sto nemmeno definendo un precedente: come entra in gioco l'inclusione dei priori, poiché ciò influenzerà le nostre misure di incertezza?

Quando stavo provando a scrivere una regressione beta con un componente del modello di ostacolo in Stan da zero una volta, ho avuto qualcuno che mi raccomandava: "Simula dati. Fallo un sacco di volte e le stime vere dovrebbero essere nell'intervallo credibile circa 95 % del tempo." Ma per me questo va contro la stessa cosa in cui i bayesiani credono! Ciò si basa sulla comprensione frequente della probabilità! Quindi, come potrebbe un bayesiano convincermi che l'intervallo credibile che sto ricevendo dalla summary()chiamata al mio modello sta descrivendo accuratamente l'incertezza, usando i metodi di simulazione?

Scopo della domanda : questo è un esempio banale, ma molte volte i clienti mi danno problemi difficili. E provo cose con cui non ho familiarità, quindi spesso eseguo uno studio di simulazione per assicurarmi che ciò che sto facendo sia valido. Se dovessi scrivere un modello personalizzato a Stan, come potrei sapere che quello che sto facendo è legittimo? Come potrei usare i metodi di simulazione per verificare che ciò che sto facendo a Stan mi dirà cosa voglio sapere?


3
Buona domanda. Due commenti: 1. Possiamo usare i metodi sim per "verificare" i modelli frequentisti, ma la simulazione da sola non può informarci completamente dell'affidabilità di un modello frequentista. 2: Esistono modi per sapere che un modello Bayesiano / Stan NON è affidabile per deduzione. Ad esempio, sono state osservate transizioni divergenti dopo il periodo di riscaldamento.
JTH

1
Penso che tu stia fondendo due diversi tipi di "incertezza". I metodi frequentisti affrontano l'incertezza aleatoria e sono giustificati dalle loro proprietà a lungo termine. I metodi bayesiani affrontano l'incertezza epistemica e non devono essere giustificati sulla base delle loro proprietà lunghe. In particolare, gli intervalli credibili al 95% non devono necessariamente essere intervalli di confidenza al 95%. Tuttavia, anche i bayesiani potrebbero voler essere "calibrati", cioè corrispondere alle probabilità del frequentista. Vedi: Rubin, DB. "Calcoli bayesianmente giustificabili e pertinenti della frequenza per lo statistico applicato. Annali delle statistiche 1984: 12: 1151-1172.
a.arfe,

se vivi nel mondo delle probabilità soggettive forse non hai bisogno di verificare nulla, non sbagli mai
Aksakal

Potresti voler consultare stats.stackexchange.com/questions/2272/… per capire perché non puoi fare quello che stai pensando di fare, almeno per gli intervalli.
Dave Harris,

Risposte:


5

Penso che tu veda il problema logico nella tua domanda. Nel paradigma frequentista, va bene presumere la verità di una popolazione, generare dati e vedere se le stime hanno una buona copertura, perché è quello che dovrebbero fare. Nel paradigma bayesiano, tuttavia, non esiste una verità di base da cui generare i dati! I bayesiani chiedono la probabilità di tali verità dati dati, quindi nella simulazione abbiamo bisogno di verità diverse che generano dati e quindi condizionano i dati. In pratica, si finisce per simulare la legge della probabilità condizionale, che, fortunatamente, vale sempre per definizione. Prendo questo esatto problema in Rouder, 2014, Psychonomic Bulletin and Review. https://dx.doi.org/10.3758/s13423-014-0595-4


1

In che modo i bayesiani verificano che i loro metodi definiscano correttamente l'incertezza (ovvero, calcolano intervalli credibili validi e distribuzioni posteriori) usando i metodi di simulazione Monte Carlo, se la probabilità non è definita come tassi a lungo termine?

Credo che la confusione qui riguardi lo scopo dei metodi di simulazione nelle statistiche bayesiane. L'unico scopo dei metodi di Markov Chain Monte Carlo come Gibbs Sampling o Hamiltonian Monte Carlo è calcolare il denominatore della regola di Bayes.

Naturalmente, ci sono spesso altri metodi disponibili che renderebbero inutile MCMC. Alcuni modelli possono essere espressi usando la coniugazione, altri attraverso l'applicazione di una griglia fine sullo spazio dei parametri, ma altri possono essere risolti con test di accettazione-rifiuto. Il punto in cui MCMC è utile è quando l'integrale non funziona correttamente.

π(θ|x)=f(X|θ)π(θ)θΘf(X|θ)π(θ)dθ,
f(X|θ)π(θ)f(X|θ)π(θ|X)somma a uno. L'obiettivo di MCMC è determinare il numero inferiore. Si noti che il numero inferiore è una costante. È la probabilità attesa.

L'accuratezza di quel numero determina alcune, ma non tutte le stime dei parametri. Se stavi utilizzando lo stimatore massimo a posteriori, MCMC è un passaggio non necessario. Dovresti invece creare un algoritmo di arrampicata su collina. D'altra parte, è necessario determinare la media posteriore o un intervallo. Questo perché l'intervallo del 95% deve essere il 95% di qualcosa e il denominatore determina quale sia la scala di quel qualcosa.

L'obiettivo dell'MCMC nelle metodologie bayesiane è far convergere le catene di Markov nella densità posteriore. Questo è tutto. Non verifica la validità di nulla. È solo un tentativo di determinare un valore in punti fissi. È una forma di integrazione numerica. Poiché non c'è modo di sapere senza lasciare che l'algoritmo funzioni all'infinito se tutte le regioni dense sono state coperte, c'è un certo giudizio umano. L'algoritmo avrà un limite quando crede che sia fatto, ma ciò non significa che sia effettivamente fatto.

Nelle metodologie frequentiste, MCMC viene spesso utilizzato per testare la ragionevolezza di un modello o per approssimare numericamente una soluzione quando non è disponibile una analitica. Non ha scopi simili qui.

Se dovessi scrivere un modello personalizzato a Stan, come potrei sapere che quello che sto facendo è legittimo? Come potrei usare i metodi di simulazione per verificare che ciò che sto facendo a Stan mi dirà cosa voglio sapere?

Questa domanda è molto più difficile. Stan è un algoritmo veloce, il che significa che scambia velocità con un ulteriore rischio di inesattezza. Stan, per costruzione, sarà più spesso corretto che errato. Esistono altri algoritmi progettati per cercare ampiamente nello spazio dei parametri i massimi locali che possono essere più precisi, ma che saranno molto lenti.

θΘf(X|θ)π(θ)dθ.

La seconda cosa che puoi fare è convalidarla con un algoritmo alternativo. I numeri non corrisponderanno mai, ma se li ritieni abbastanza vicini, allora stai bene.

In terzo luogo, la maggior parte dei pacchetti predefiniti fornisce avvisi che qualcosa potrebbe non andare. Se viene visualizzato un avviso, utilizzare qualcos'altro dopo aver esaminato l'origine del problema, quindi non ricrearlo in un altro algoritmo.

Pr(μ)=N(7,22)σ2N(25,.12)

In quinto luogo, e dovresti farlo prima di iniziare Stan in primo luogo, tracciare un grafico delle probabilità marginali in una o due dimensioni. Ci sono sorprese da qualche parte che possono interferire con l'algoritmo?

Dal momento che i bayesiani non definiscono la probabilità come ciò che vediamo a lungo termine, come posso usare i metodi di simulazione per verificare che stan_glm stia catturando accuratamente l'incertezza? Cioè, come potrei fidarmi che questi intervalli credibili siano validi, usando i metodi di simulazione? E in questo momento, non sto nemmeno definendo un precedente: come entra in gioco l'inclusione dei priori, poiché ciò influenzerà le nostre misure di incertezza?

Se non si definisce un precedente, il modello non è valido. Se non stai definendo una ragionevole densità precedente, allora perché dovresti usare un modello bayesiano? I modelli frequentist minimizzano il rischio della massima perdita che potrebbe verificarsi dalla raccolta di un campione difettoso. Sono molto pessimisti e spesso servono più informazioni per produrre lo stesso risultato che un metodo bayesiano avrebbe.

Tuttavia, ciò è inutile senza usare una buona densità precedente. La densità precedente consente al metodo bayesiano di ridurre al minimo la perdita media dalla scelta di un campione errato. Le informazioni contenute nel precedente agiscono come uno schema di ponderazione in modo tale che se un campione estremo viene scelto per sfortuna, il priore indebolisce il ruolo dei dati.

EDIT Mi sono reso conto di non aver fornito una risposta specifica. Era alla domanda

Come potrei usare i metodi di simulazione per verificare che ciò che sto facendo a Stan mi dirà cosa voglio sapere?

Ciò che rende difficile questa domanda è che nel paradigma bayesiano i punti fissi sono, , il campione. Nei metodi Frequentist, i parametri sono fissi e vengono creati migliaia di campioni invisibili. Sul lato bayesiano della moneta, è il campione che viene fissato. Devi simulare migliaia di universi paralleli.X

Per vedere come potrebbe essere, immagina tutte le funzioni di densità di un lancio di una moneta con una probabilità sconosciuta di essere teste e di essere code. Osserva sei teste e due code. Immagina un piccolo spazio di parametri in cui . La tua simulazione considererebbe tutti i casi in cui si potevano ottenere sei teste rispetto alle tre distribuzioni binomiali oggettive. La parte posteriore sarebbe la media ponderata di ciascun parametro essendo il valore reale. La tua distribuzione predittiva sarebbe la somma delle distribuzioni binomiali ponderate.p1pp{1/3,1/2,2/3}

Per te è importante, è impossibile che la previsione bayesiana sia la vera distribuzione. Una delle tre distribuzioni è la vera distribuzione. I metodi bayesiani valutano la loro probabilità in base al valore osservato e al precedente. Il posteriore non può mai essere la vera distribuzione, né la densità predittiva.

Si chiede "qual è la probabilità di vedere sei teste e due code sull'insieme di tutte le possibili spiegazioni (parametri, modelli, ecc.)".

Il frequentista affermerebbe che una delle tre scelte era il vero valore rendendolo nullo. Sei teste e due code falsificherebbero ma non le altre. Se, per caso, hai scelto la giusta delle tre distribuzioni, allora hai perfettamente ragione. Altrimenti, sbaglierai.H0:p=1/3,

Se utilizzassi le simulazioni per tenere fisso un campione, scopriresti che Stan si comporterebbe egregiamente poiché il teorema di Bayes è un teorema matematico. È ottimale ex post. Tutto ciò che scopriresti è che l'algoritmo ha implementato correttamente il teorema di Bayes fino al livello di errore naturale nella stima del denominatore.

Ci sono tre cose che puoi fare. Innanzitutto, è possibile utilizzare i metodi di calcolo del punteggio del modello per dati fuori campione. In secondo luogo, è possibile utilizzare una selezione del modello bayesiano o un processo di media dei modelli. In terzo luogo, è possibile trattarlo come un problema frequentista e costruire la distribuzione campionaria degli stimatori.

Per la prima, i metodi di punteggio sono un'intera letteratura a sé stante. Dovresti ricercarli. La selezione del modello bayesiano e la media dei modelli trattano i modelli come parametri. Per la selezione del modello, viene calcolata la probabilità che i modelli siano veri. Per la media del modello viene calcolata la probabilità che ogni modello sia vero e che serve da ponderazione sullo spazio del modello. Infine, puoi trattarlo come un modello frequentista.

L'ultimo sarà un problema in molti casi standard a causa del precedente. Per i modelli con tre o più dimensioni e una distribuzione normale, la densità posteriore non si integrerà all'unità se la densità precedente non è una densità corretta. In altre parole, devi mordere il proiettile e scegliere un precedente per qualsiasi modello con qualsiasi reale complessità.

La presenza di un precedente proprio correttamente centrato forza il caso in cui il metodo bayesiano sarà superiore al corrispondente metodo frequentista a causa del miglioramento delle informazioni. Il metodo bayesiano vincerà secondo qualsiasi standard ragionevole. Ciò non è dovuto a un difetto del metodo frequentista, ma il metodo bayesiano presuppone informazioni esterne. Il metodo Frequentist, considerando solo le informazioni nel campione, avrà meno informazioni se hai un vero precedente.

Ancora una volta, se non hai un vero precedente, allora perché stai usando un metodo bayesiano?


@Aksakal Sono d'accordo con te, confonde decisioni e analisi. L'ho rimosso.
Dave Harris,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.