Combinazione di informazioni provenienti da più studi per stimare la media e la varianza dei dati normalmente distribuiti: approcci bayesiani vs meta-analitici


21

Ho esaminato una serie di documenti, ciascuno dei quali riportava la media osservata e la DS di una misurazione di nel rispettivo campione di dimensioni note, . Voglio fare la migliore ipotesi possibile sulla probabile distribuzione della stessa misura in un nuovo studio che sto progettando e su quanta incertezza ci sia. Sono felice di assumere ).n X N ( μ , σ 2XnXN(μ,σ2

Il mio primo pensiero era la meta-analisi, ma i modelli in genere impiegavano concentrarsi su stime puntuali e intervalli di confidenza corrispondenti. Tuttavia, voglio dire qualcosa sulla distribuzione completa di , che in questo caso includerebbe anche un'ipotesi sulla varianza, . σ 2Xσ2

Ho letto dei possibili approcci di Bayeisan per stimare l'insieme completo di parametri di una data distribuzione alla luce delle conoscenze precedenti. Questo in genere ha più senso per me, ma non ho esperienza con l'analisi bayesiana. Anche questo sembra un problema semplice e relativamente semplice da tagliare.

1) Dato il mio problema, quale approccio ha più senso e perché? Meta-analisi o approccio bayesiano?

2) Se pensi che l'approccio bayesiano sia il migliore, puoi indicarmi un modo per implementarlo (preferibilmente in R)?

Domanda correlata

Modifiche:

Ho cercato di risolverlo in quello che penso sia un modo "semplice" bayesiano.

Come ho detto sopra, non sono solo interessato alla media stimata, , ma anche alla varianza, , alla luce delle informazioni precedenti, ovveroσ 2 P ( μ , σ 2 | Y )μσ2P(μ,σ2|Y)

Ancora una volta, non so nulla del bayeismo nella pratica, ma non ci volle molto per scoprire che il posteriore di una distribuzione normale con media e varianza sconosciute ha una soluzione in forma chiusa tramite coniugazione , con la distribuzione gamma normale inversa.

Il problema viene riformulato come .P(μ,σ2|Y)=P(μ|σ2,Y)P(σ2|Y)

P(μ|σ2,Y) è stimato con una distribuzione normale; con una distribuzione gamma inversa.P(σ2|Y)

Mi ci è voluto un po 'per capovolgerlo, ma da questi collegamenti ( 1 , 2 ) sono stato in grado, credo, di ordinare come farlo in R.

Ho iniziato con un frame di dati composto da una riga per ciascuno dei 33 studi / campioni e colonne per la media, la varianza e la dimensione del campione. Ho usato la media, la varianza e la dimensione del campione dal primo studio, nella riga 1, come mia precedente informazione. Ho quindi aggiornato questo con le informazioni del prossimo studio, calcolato i parametri pertinenti e campionato dalla gamma normale-inversa per ottenere la distribuzione di e . Questo si ripete fino a quando non sono stati inclusi tutti e 33 gli studi.σ 2μσ2

# Loop start values values

  i <- 2
  k <- 1

# Results go here

  muL      <- list()  # mean of the estimated mean distribution
  varL     <- list()  # variance of the estimated mean distribution
  nL       <- list()  # sample size
  eVarL    <- list()  # mean of the estimated variance distribution
  distL    <- list()  # sampling 10k times from the mean and variance distributions

# Priors, taken from the study in row 1 of the data frame

  muPrior  <- bayesDf[1, 14]    # Starting mean
  nPrior   <- bayesDf[1, 10]    # Starting sample size
  varPrior <- bayesDf[1, 16]^2  # Starting variance

  for (i in 2:nrow(bayesDf)){

# "New" Data, Sufficient Statistics needed for parameter estimation

    muSamp    <- bayesDf[i, 14]          # mean
    nSamp     <- bayesDf[i, 10]          # sample size
    sumSqSamp <- bayesDf[i, 16]^2*(nSamp-1)  # sum of squares (variance * (n-1))

# Posteriors

    nPost   <- nPrior + nSamp
    muPost  <- (nPrior * muPrior + nSamp * muSamp) / (nPost)  
    sPost   <- (nPrior * varPrior) + 
                sumSqSamp + 
               ((nPrior * nSamp) / (nPost)) * ((muSamp - muPrior)^2)
    varPost <- sPost/nPost
    bPost   <- (nPrior * varPrior) + 
                sumSqSamp + 
               (nPrior * nSamp /  (nPost)) * ((muPrior - muSamp)^2)
# Update 

    muPrior   <- muPost
    nPrior    <- nPost
    varPrior  <- varPost

# Store

    muL[[i]]   <-  muPost
    varL[[i]]  <-  varPost
    nL[[i]]    <-  nPost
    eVarL[[i]] <- (bPost/2) / ((nPost/2) - 1)

# Sample

    muDistL  <- list()  
    varDistL <- list()

    for (j in 1:10000){
      varDistL[[j]] <- 1/rgamma(1, nPost/2, bPost/2)
      v             <- 1/rgamma(1, nPost/2, bPost/2)
      muDistL[[j]]  <- rnorm(1, muPost, v/nPost)
    }

# Store 

    varDist    <- do.call(rbind, varDistL)
    muDist     <- do.call(rbind, muDistL)
    dist       <- as.data.frame(cbind(varDist, muDist))
    distL[[k]] <- dist

# Advance

    k <- k+1 
    i <- i+1

  }

  var     <- do.call(rbind, varL)
  mu      <- do.call(rbind, muL)
  n       <- do.call(rbind, nL)
  eVar    <- do.call(rbind, eVarL)
  normsDf <- as.data.frame(cbind(mu, var, eVar, n)) 
  colnames(seDf) <- c("mu", "var", "evar", "n")
  normsDf$order <- c(1:33)

Ecco un diagramma del percorso che mostra come ed cambiano quando viene aggiunto ogni nuovo campione.E(μ)E(σ2)

inserisci qui la descrizione dell'immagine

Ecco le differenze basate sul campionamento dalle distribuzioni stimate per la media e la varianza ad ogni aggiornamento.

inserisci qui la descrizione dell'immagine

inserisci qui la descrizione dell'immagine

Volevo solo aggiungere questo nel caso in cui fosse utile per qualcun altro, e in modo che le persone inesperte possano dirmi se questo era ragionevole, imperfetto, ecc.

Risposte:


11

I due approcci (meta-analisi e aggiornamento bayesiano) non sono poi così distinti. I modelli meta-analitici sono infatti spesso definiti come modelli bayesiani, poiché l'idea di aggiungere prove a conoscenze precedenti (forse abbastanza vaghe) sul fenomeno in questione si presta naturalmente a una meta-analisi. Un articolo che descrive questa connessione è:

Brannick, MT (2001). Implicazioni della meta-analisi empirica di Bayes per la validazione del test. Journal of Applied Psychology, 86 (3) , 468-480.

(l'autore utilizza correlazioni come misura di risultato per la meta-analisi, ma il principio è lo stesso indipendentemente dalla misura).

Un articolo più generale sui metodi bayesiani per la meta-analisi sarebbe:

Sutton, AJ e Abrams, KR (2001). Metodi bayesiani in meta-analisi e sintesi di prove. Metodi statistici nella ricerca medica, 10 (4) , 277-303.

Ciò che sembra essere dopo (oltre a una stima combinata) è un intervallo di previsione / credibilità che descrive dove in uno studio futuro il risultato / effetto reale probabilmente diminuirà. Si può ottenere un tale intervallo da una meta-analisi "tradizionale" o da un modello meta-analitico bayesiano. L'approccio tradizionale è descritto, ad esempio, in:

Riley, RD, Higgins, JP, & Deeks, JJ (2011). Interpretazione di meta-analisi di effetti casuali. British Medical Journal, 342 , d549.

Nel contesto di un modello bayesiano (prendiamo, ad esempio, il modello a effetti casuali descritto dall'equazione 6 nel documento di Sutton & Abrams, 2001), si può facilmente ottenere la distribuzione posteriore di , dove è la vera esito / effetto nello studio (poiché questi modelli sono generalmente stimati usando MCMC, è sufficiente monitorare la catena per dopo un adeguato periodo di burn-in). Da quella distribuzione posteriore, si può quindi ottenere l'intervallo di credibilità.θioθioioθio


3
In aggiunta a ciò, molti risultati di un bayesiano sono stati fatti dal risultato di una meta-analisi.
Fomite

2

Se capisco correttamente la tua domanda, allora questo differisce dalla solita configurazione della meta-analisi in quanto vuoi stimare non solo una media comune, ma anche una varianza comune. Quindi il modello di campionamento per i dati grezzi è per l'osservazione dallo studio . Se è giusto, allora penso che l'MLE di sia semplicemente la media campionaria raggruppata, cioè Il MLE per è un po 'più complicato perché comporta una varianza sia all'interno che tra studio (pensate all'ANOVA a senso unico). Ma anche il raggruppamento delle varianze di esempio funziona (vale a dire, è uno stimatore imparziale diyioj~N(μ,σ2)io=1,...njj=1,...,Kμσ σ 2 ˜ σ 2 = 1

μ^=1NΣj=1Knjy¯j,N=Σj=1Knj.
σσ2): Se è grande, non è troppo grande, e tu sei usando i priori deboli, le stime bayesiane dovrebbero essere abbastanza simili a queste. NK
σ~2=1N-KΣj=1K(nj-1)Sj2
NK
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.