Combinando informações de vários estudos para estimar a média e a variação de dados normalmente distribuídos - abordagens Bayesianas vs meta-analíticas


21

Revi um conjunto de artigos, cada um relatando a média e o DP observados de uma medida de em sua respectiva amostra de tamanho conhecido, . Quero fazer o melhor palpite possível sobre a provável distribuição da mesma medida em um novo estudo que estou projetando e quanta incerteza existe nesse palpite. Fico feliz em assumir ).n X N ( μ , σ 2XnXN(μ,σ2

Meu primeiro pensamento foi a metanálise, mas os modelos normalmente empregam o foco em estimativas pontuais e intervalos de confiança correspondentes. No entanto, quero dizer algo sobre a distribuição completa de , que nesse caso também incluiria um palpite sobre a variação, . σ 2Xσ2

Eu tenho lido sobre possíveis abordagens Bayeisan para estimar o conjunto completo de parâmetros de uma determinada distribuição à luz do conhecimento prévio. Isso geralmente faz mais sentido para mim, mas não tenho experiência com análise bayesiana. Isso também parece ser um problema simples e relativamente simples de cortar os dentes.

1) Dado o meu problema, qual abordagem faz mais sentido e por quê? Meta-análise ou uma abordagem bayesiana?

2) Se você acha que a abordagem bayesiana é melhor, pode me indicar uma maneira de implementar isso (de preferência em R)?

Pergunta relacionada

EDITAS:

Eu tenho tentado resolver isso da maneira que penso ser uma maneira bayesiana "simples".

Como afirmei acima, não estou interessado apenas na média estimada, , mas também na variância σ 2 , à luz de informações anteriores, ou seja, P ( μ , σ 2 | Y )μσ2P(μ,σ2|Y)

Novamente, não sei nada sobre o bayeianismo na prática, mas não demorou muito para descobrir que o posterior de uma distribuição normal com média e variância desconhecidas tem uma solução de forma fechada por conjugação , com a distribuição gama inversa normal.

O problema é reformulado como .P(μ,σ2|Y)=P(μ|σ2,Y)P(σ2|Y)

é estimado com uma distribuição normal; P ( σ 2 | Y ) com uma distribuição gama inversa.P(μ|σ2,Y)P(σ2|Y)

Demorei um pouco para entender, mas a partir desses links ( 1 , 2 ) eu acho que consegui entender como fazer isso em R.

Comecei com um quadro de dados composto de uma linha para cada um dos 33 estudos / amostras e colunas para a média, variação e tamanho da amostra. Usei a média, variância e tamanho da amostra do primeiro estudo, na linha 1, como minhas informações anteriores. Atualizei isso com as informações do próximo estudo, calculei os parâmetros relevantes e coletei amostras da gama inversa normal para obter a distribuição de e σ 2 . Isso é repetido até que todos os 33 estudos tenham sido incluídos.μσ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)

E(μ)E(σ2)

insira a descrição da imagem aqui

Aqui estão as desnidades baseadas na amostragem das distribuições estimadas para a média e a variação em cada atualização.

insira a descrição da imagem aqui

insira a descrição da imagem aqui

Eu só queria adicionar isso, caso isso seja útil para outra pessoa, e para que as pessoas que sabem o assunto possam me dizer se isso foi sensato, defeituoso etc.

Respostas:


11

As duas abordagens (meta-análise e atualização bayesiana) não são realmente tão distintas. Os modelos meta-analíticos são, de fato, frequentemente enquadrados como modelos bayesianos, uma vez que a idéia de adicionar evidências ao conhecimento prévio (possivelmente bastante vago) sobre o fenômeno em questão se presta naturalmente a uma meta-análise. Um artigo que descreve essa conexão é:

Brannick, MT (2001). Implicações da meta-análise empírica de Bayes para validação de teste. Jornal de Psicologia Aplicada, 86 (3) , 468-480.

(o autor usa correlações como medida de resultado para a metanálise, mas o princípio é o mesmo, independentemente da medida).

Um artigo mais geral sobre métodos bayesianos para metanálise seria:

Sutton, AJ & Abrams, KR (2001). Métodos bayesianos na metanálise e síntese de evidências. Métodos Estatísticos em Pesquisa Médica, 10 (4) , 277-303.

O que você parece buscar (além de algumas estimativas combinadas) é um intervalo de previsão / credibilidade que descreve onde, em um estudo futuro, o verdadeiro resultado / efeito provavelmente cairá. Pode-se obter esse intervalo a partir de uma meta-análise "tradicional" ou de um modelo meta-analítico bayesiano. A abordagem tradicional é descrita, por exemplo, em:

Riley, RD, Higgins, JP, & Deeks, JJ (2011). Interpretação de meta-análises de efeitos aleatórios. British Medical Journal, 342 , p.

θEuθEuEuθEu


3
Além disso, muitos pré-bayesianos foram obtidos a partir do resultado de uma meta-análise.
Fomite

2

yEujN(μ,σ2)Eu=1,...njj=1,...,K . Se isso está certo, então eu acho que o MLE deμ é simplesmente a média da amostra combinada, ou seja,

μ^=1Nj=1Knjy¯j,N=j=1Knj.
O MLE para σé um pouco mais complicado porque envolve variação dentro e entre os estudos (pense em ANOVA unidirecional). Mas apenas o agrupamento das variações da amostra também funciona (ou seja, é um estimador imparcial deσ2):
σ~2=1N-Kj=1K(nj-1)sj2
E se N é grande, K não é muito grande e você está usando priors fracos, as estimativas bayesianas devem ser bastante semelhantes a essas.
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.