Normal dağılım gösteren verilerin ortalama ve varyansını tahmin etmek için çoklu çalışmalardan elde edilen bilgileri birleştirmek - Bayesian'e karşı meta-analitik yaklaşımlar


21

Her biri gözlemlenen ortalamayı ve ölçüsünün SD'sini, bilinen büyüklükteki . Aynı önlemin tasarladığım yeni bir çalışmada muhtemel dağılımı ve bu tahminde ne kadar belirsizlik olduğu konusunda mümkün olan en iyi tahminde bulunmak istiyorum. ) olduğunu varsaydığım için mutluyum .XnX~N-(μ,σ2

İlk düşüncem meta-analizdi, ancak tipik olarak kullanılan modeller nokta tahminlerine ve karşılık gelen güven aralıklarına odaklanıyor. Bununla birlikte, tam dağılımı hakkında bir şeyler söylemek istiyorum, ki bu durumda da varyans hakkında bir tahminde bulunmak da dahil olmak üzere, . Xσ2

Belirli bir dağılımın bütün parametre setini önceden edindiğim bilgiler ışığında tahmin etmede muhtemel Bayeisan yaklaşımlarını okudum. Bu genellikle bana daha anlamlı geliyor, ancak Bayesian analizinde sıfır deneyime sahibim. Bu aynı zamanda dişlerimi kesmek için basit, nispeten basit bir problem gibi görünüyor.

1) Problemim göz önüne alındığında, hangi yaklaşım en mantıklı ve neden? Meta-analiz mi, yoksa Bayesçi bir yaklaşım mı?

2) Bayesian yaklaşımının en iyisi olduğunu düşünüyorsanız, beni bunu uygulamanın bir yoluna işaret edebilir misiniz (tercihen R)?

İlgili soru

DÜZENLEMELER:

Bunu 'basit' bir Bayesian tarzı olduğunu düşündüğüm şekilde çözmeye çalışıyorum.

Yukarıda da belirttiğim gibi, sadece önceden belirlenmiş bilgiler ışığında, yani , aynı zamanda varyansı ile de ilgilenmiyorum , yaniμσ2P(μ,σ2|Y)

Yine, pratikte Bayeianism hakkında hiçbir şey bilmiyorum, ama bu bilinmeyen ortalama ve varyans ile normal dağılımın arka aracılığıyla bir kapalı form çözümü olduğunu bulmak için uzun sürmedi eşleşme normal ters-gama dağılımı ile,.

Sorun .P(μ,σ2|Y)=P(μ|σ2,Y)P(σ2|Y)

P(μ|σ2,Y) normal dağılımla tahmin edilir; Ters gama dağılımına sahip .P(σ2|Y)

Kafamın etrafını dolaştırması biraz zaman aldı, ancak bu bağlantılardan ( 1 , 2 ) bunu nasıl yapabileceğimi düşünüyorum.

Her 33 çalışma / örnek için bir satırdan oluşan bir veri çerçevesi ve ortalama, varyans ve örneklem büyüklüğü için sütunlarla başladım. İlk çalışmadaki ortalama, varyans ve örneklem büyüklüğünü satır 1'de önceki bilgilerim olarak kullandım. Daha sonra bunu bir sonraki çalışmadaki bilgilerle güncelledim, ilgili parametreleri hesapladım ve ve dağılımını elde etmek için normal ters-gamadan örnek aldım . Bu, 33 çalışmanın tümü dahil edilinceye kadar tekrar edilir.μσ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)

ve her yeni örnek eklendikçe nasıl değiştiğini gösteren bir yol şeması .E(μ)E(σ2)

görüntü tanımını buraya girin

Her bir güncellemede ortalama ve varyans için tahmin edilen dağılımlardan örneklemeye dayanarak önemsizlikler.

görüntü tanımını buraya girin

görüntü tanımını buraya girin

Ben sadece bunu başkası için faydalı olması durumunda eklemek istedim ve bu yüzden bilgili insanlar bana bunun mantıklı, kusurlu, vb. Olduğunu söyleyebilirler.

Yanıtlar:


11

İki yaklaşım (meta-analiz ve Bayesian güncellemesi) gerçekten o kadar belirgin değil. Meta-analitik modeller gerçekte genellikle Bayesian modelleri olarak çerçevelenmiştir, çünkü eldeki fenomen hakkındaki önceden edinilmiş bilgilere (muhtemelen oldukça belirsiz) kanıt ekleme fikri doğal olarak bir meta-analize katkıda bulunur. Bu bağlantıyı açıklayan bir makale:

Brannick, MT (2001). Test validasyonu için ampirik Bayes meta analizinin etkileri. Uygulamalı Psikoloji Dergisi, 86 (3) , 468-480.

(yazar meta-analiz için sonuç ölçütü olarak korelasyonları kullanır, ancak ölçekten bağımsız olarak ilke aynıdır).

Meta-analiz için Bayesian yöntemleri üzerine daha genel bir makale şöyle olabilir:

Sutton, AJ ve Abrams, KR (2001). Meta-analizde Bayes yöntemleri ve kanıt sentezi. Tıbbi Araştırmalarda İstatistiksel Yöntemler, 10 (4) , 277-303.

Sonrasında göründüğünüz şey (bazı birleşik tahmine ek olarak), gelecekteki bir çalışmada gerçek sonucun / etkinin düşmesinin muhtemel olduğunu açıklayan bir tahmin / güvenilirlik aralığıdır. Böyle bir aralık "geleneksel" bir meta-analizden veya bir Bayesian meta-analitik modelinden elde edilebilir. Geleneksel yaklaşım, örneğin:

Riley, RD, Higgins, JP ve Deeks, JJ (2011). Rastgele etkilerin yorumlanması meta-analizler. British Medical Journal, 342 , d549.

θbenθbenbenθben


3
Buna ek olarak, bir meta-analizin sonucundan bir Bayesci önceliği yapıldı.
Fomite

2

ybenj~N-(μ,σ2)ben=1,...njj=1,...,Kμ

μ^=1N-Σj=1Knjy¯j,N-=Σj=1Knj.
σσ2
σ~2=1N--KΣj=1K(nj-1)sj2
N-K
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.