34
Meta-Analysen und Netzwerk-Meta-Analysen in WinBUGS Sibylle Sturtz Institut für Qualität und Wirtschaftlichkeit im Gesundheitswesen (IQWiG)

Meta-Analysen und Netzwerk-Meta-Analysen in · PDF fileSturtz: Meta-Analysen und Netzwerk- Meta-Analysen in WinBUGS 3 WinBUGS Examples Vol. I: Blocker: random effects meta-analysis

Embed Size (px)

Citation preview

Page 1: Meta-Analysen und Netzwerk-Meta-Analysen in · PDF fileSturtz: Meta-Analysen und Netzwerk- Meta-Analysen in WinBUGS 3 WinBUGS Examples Vol. I: Blocker: random effects meta-analysis

Meta-Analysen und Netzwerk-Meta-Analysen in WinBUGS

Sibylle Sturtz

Institut für Qualität und Wirtschaftlichkeit im Gesundheitswesen (IQWiG)

Page 2: Meta-Analysen und Netzwerk-Meta-Analysen in · PDF fileSturtz: Meta-Analysen und Netzwerk- Meta-Analysen in WinBUGS 3 WinBUGS Examples Vol. I: Blocker: random effects meta-analysis

Sturtz: Meta-Analysen und Netzwerk- Meta-Analysen in WinBUGS 2

WinBUGS

BUGS (Bayesian inference Using Gibbs Sampling) Flexible Software für Bayesianische Analysen komplexer statistischerModelle unter Verwendung von MCMC MethodenProjekt wurde 1989 begonnen, aktuelle Version WinBUGS 1.4.3Erhältlich unter

http://www.mrc-bsu.cam.ac.uk/bugs

Lunn et al. (2000)

Page 3: Meta-Analysen und Netzwerk-Meta-Analysen in · PDF fileSturtz: Meta-Analysen und Netzwerk- Meta-Analysen in WinBUGS 3 WinBUGS Examples Vol. I: Blocker: random effects meta-analysis

Sturtz: Meta-Analysen und Netzwerk- Meta-Analysen in WinBUGS 3

WinBUGS Examples Vol. I: Blocker: random effects meta-analysis of clinical trials

22 trials of beta-blockers to prevent mortality after myocardialinfarction

Carlin(1992)

Page 4: Meta-Analysen und Netzwerk-Meta-Analysen in · PDF fileSturtz: Meta-Analysen und Netzwerk- Meta-Analysen in WinBUGS 3 WinBUGS Examples Vol. I: Blocker: random effects meta-analysis

Sturtz: Meta-Analysen und Netzwerk- Meta-Analysen in WinBUGS 4

riC ~ Binomial(pi

C, niC)

riT ~ Binomial(pi

T, niT)

logit(piC) = mui

logit(piT) = mui + di

di ~ Normal(d, σ2)

ri outcomeni number of patientsT treatmentC control

Random effects modelfor study i with control C and treatment T

Page 5: Meta-Analysen und Netzwerk-Meta-Analysen in · PDF fileSturtz: Meta-Analysen und Netzwerk- Meta-Analysen in WinBUGS 3 WinBUGS Examples Vol. I: Blocker: random effects meta-analysis

Sturtz: Meta-Analysen und Netzwerk- Meta-Analysen in WinBUGS 5

riC ~ Binomial(pi

C, niC)

riT ~ Binomial(pi

T, niT)

logit(piC) = mui

logit(piT) = mui + di

di ~ Normal(d, σ2)

ri outcomeni number of patientsT treatmentC control

model{for(i in 1:Num)

{rc[i] ~ dbin(pc[i], nc[i])rt[i] ~ dbin(pt[i], nt[i])logit(pc[i]) <- mu[i]logit(pt[i]) <- mu[i] + delta[i]delta[i] ~ dnorm(d,tau)mu[i] ~ dnorm(0, 0.00001)

}d ~ dnorm(0, 0.000001)tau ~ 1/(sigma*sigma)sigma ~ dunif(0,10)delta.new ~ dnorm(d,tau)

}

Random effects modelfor study i with control C and treatment T

Page 6: Meta-Analysen und Netzwerk-Meta-Analysen in · PDF fileSturtz: Meta-Analysen und Netzwerk- Meta-Analysen in WinBUGS 3 WinBUGS Examples Vol. I: Blocker: random effects meta-analysis

Sturtz: Meta-Analysen und Netzwerk- Meta-Analysen in WinBUGS 6

riC ~ Binomial(pi

C, niC)

riT ~ Binomial(pi

T, niT)

logit(piC) = mui

logit(piT) = mui + di

di ~ Normal(d, σ2)

ri outcomeni number of patientsT treatmentC control

model{for(i in 1:Num)

{rc[i] ~ dbin(pc[i], nc[i])rt[i] ~ dbin(pt[i], nt[i])logit(pc[i]) <- mu[i]logit(pt[i]) <- mu[i] + delta[i]delta[i] ~ dnorm(d,tau)mu[i] ~ dnorm(0, 0.00001)

}d ~ dnorm(0, 0.000001)tau ~ 1/(sigma*sigma)sigma ~ dunif(0,10)delta.new ~ dnorm(d,tau)

}predictive distr for effect dnew in new trial

Random effects modelfor study i with control C and treatment T

Page 7: Meta-Analysen und Netzwerk-Meta-Analysen in · PDF fileSturtz: Meta-Analysen und Netzwerk- Meta-Analysen in WinBUGS 3 WinBUGS Examples Vol. I: Blocker: random effects meta-analysis

Sturtz: Meta-Analysen und Netzwerk- Meta-Analysen in WinBUGS 7

model{for(i in 1:Num){

rc[i]~dbin(pc[i], nc[i])rt[i]~dbin(pt[i], nt[i])logit(pc[i])<-mu[i]logit(pt[i])<-mu[i]+delta[i]delta[i] ~ dnorm(d,tau)mu[i] ~ dnorm(0, 0.00001)

}d ~ dnorm(0, 0.000001)tau <- 1/(sigma*sigma)sigma ~ dunif(0,10)delta.new ~ dnorm(d,tau)

}

Random effects model

Page 8: Meta-Analysen und Netzwerk-Meta-Analysen in · PDF fileSturtz: Meta-Analysen und Netzwerk- Meta-Analysen in WinBUGS 3 WinBUGS Examples Vol. I: Blocker: random effects meta-analysis

Sturtz: Meta-Analysen und Netzwerk- Meta-Analysen in WinBUGS 8

Daten in WinBUGS

Alle Variablen werden in einer Liste list(…) angegeben mitZahlen name = zahlVektoren vector = c(…)Matrizen matrix = structure(.Data=c(…), .Dim=c(i,j))Arrays array = structure(.Data=c(…), .Dim=c(i,j,k))

Alternativ im rectangular formatrc[] nc[] rt[] nc[]3 38 3 39.....22 680 39 674END

Alle Variablen müssen spezifiziert werden, auch wenn sie im Model nicht verwendet werdenFehlende Werte: NA

Page 9: Meta-Analysen und Netzwerk-Meta-Analysen in · PDF fileSturtz: Meta-Analysen und Netzwerk- Meta-Analysen in WinBUGS 3 WinBUGS Examples Vol. I: Blocker: random effects meta-analysis

Sturtz: Meta-Analysen und Netzwerk- Meta-Analysen in WinBUGS 9

Daten in WinBUGS

list(rt = c(3,7,5,102,28,4,98,60,25,138,64,45,9,57,25,33,28,8,6,32, 27,22),

nt = c(38,114,69,1533,355,59,945,632,278,1916,873,263,291,858,154,207,251,151,174,209,391,680),

rc = c(3,14,11,127,27,6,152,48,37,188, 52,47,16,45,31,38,12,6,3,40, 43,39),

nc = c(39,116,93,1520,365,52,939,471,282,1921, 583,266,293,883,147,213,122,154,134,218, 364,674),

Num = 22)

model{for(i in 1:Num){

rc[i]~dbin(pc[i], nc[i])rt[i]~dbin(pt[i], nt[i])logit(pc[i])<-mu[i]logit(pt[i])<-mu[i]+delta[i]delta[i] ~ dnorm(d,tau)mu[i] ~ dnorm(0, 0.00001)

}d ~ dnorm(0, 0.000001)tau <- 1/(sigma*sigma)sigma ~ dunif(0,10)delta.new ~ dnorm(d,tau)

}

Page 10: Meta-Analysen und Netzwerk-Meta-Analysen in · PDF fileSturtz: Meta-Analysen und Netzwerk- Meta-Analysen in WinBUGS 3 WinBUGS Examples Vol. I: Blocker: random effects meta-analysis

Sturtz: Meta-Analysen und Netzwerk- Meta-Analysen in WinBUGS 10

Startwerte für die Markovketten

Inits 1list(delta = c(0,0,0,0,0,0,0,0,0,0,

0,0,0,0,0,0,0,0,0,0, 0,0),

mu = c(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0),

d = 0,sigma = 1,delta.new = 0)

Inits 2list(delta = c(1,1,1,...,1,1),

mu = c(1,1,1,...,1,1), d = 1, sigma = 5, delta.new = -1)

model{for(i in 1:Num){

rc[i]~dbin(pc[i], nc[i])rt[i]~dbin(pt[i], nt[i])logit(pc[i])<-mu[i]logit(pt[i])<-mu[i]+delta[i]delta[i] ~ dnorm(d,tau)mu[i] ~ dnorm(0, 0.00001)

}d ~ dnorm(0, 0.000001)tau <- 1/(sigma*sigma)sigma ~ dunif(0,10)delta.new ~ dnorm(d,tau)

}

Page 11: Meta-Analysen und Netzwerk-Meta-Analysen in · PDF fileSturtz: Meta-Analysen und Netzwerk- Meta-Analysen in WinBUGS 3 WinBUGS Examples Vol. I: Blocker: random effects meta-analysis

Sturtz: Meta-Analysen und Netzwerk- Meta-Analysen in WinBUGS 11

Model Daten

Inits

Anzahl der Ketten

Kompilieren

Page 12: Meta-Analysen und Netzwerk-Meta-Analysen in · PDF fileSturtz: Meta-Analysen und Netzwerk- Meta-Analysen in WinBUGS 3 WinBUGS Examples Vol. I: Blocker: random effects meta-analysis

Sturtz: Meta-Analysen und Netzwerk- Meta-Analysen in WinBUGS 12

update for burn-in

set monitor tools

update for posterior distr.

check convergence/ summarystats

Page 13: Meta-Analysen und Netzwerk-Meta-Analysen in · PDF fileSturtz: Meta-Analysen und Netzwerk- Meta-Analysen in WinBUGS 3 WinBUGS Examples Vol. I: Blocker: random effects meta-analysis

Sturtz: Meta-Analysen und Netzwerk- Meta-Analysen in WinBUGS 13

obtain results("*" für alle Knoten gleichzeitig)

Page 14: Meta-Analysen und Netzwerk-Meta-Analysen in · PDF fileSturtz: Meta-Analysen und Netzwerk- Meta-Analysen in WinBUGS 3 WinBUGS Examples Vol. I: Blocker: random effects meta-analysis

Sturtz: Meta-Analysen und Netzwerk- Meta-Analysen in WinBUGS 14

WinBUGS 1.4.3:Ständiges Klicken notwendig

R2WinBUGS:Verwendet die Script Sprache von WinBUGS

check('C:/Programme/R/MAmodel.odc')data('C:/Programme/R/data.txt')compile(2)inits(1, 'C:/Programme/R/inits1.txt')inits(2, 'C:/Programme/R/inits2.txt')gen.inits()thin.updater(1)update(1000)set(d)set(sigma)set(delta.new)update(10000)stats(*)

Sturtz et al.(2005)

Page 15: Meta-Analysen und Netzwerk-Meta-Analysen in · PDF fileSturtz: Meta-Analysen und Netzwerk- Meta-Analysen in WinBUGS 3 WinBUGS Examples Vol. I: Blocker: random effects meta-analysis

Sturtz: Meta-Analysen und Netzwerk- Meta-Analysen in WinBUGS 15

Installation und Laden des Paketes:R> install.packages("R2WinBUGS")R> library(R2WinBUGS)

Daten in R:either a named list or a vector or list of the names of the data objects, e.g.:R> rt <- c(3,7,5,102,28,...,27,22),R> nt <- c(38,114,69,1533,...,391,680),R> rc <- c(3,14,11,127,...,43,39),R> nc <- c(39,116,93,1520,...,364,674),R> Num <- 22R> data <- list("rt", "nt", "rc", "nc", "Num")

Page 16: Meta-Analysen und Netzwerk-Meta-Analysen in · PDF fileSturtz: Meta-Analysen und Netzwerk- Meta-Analysen in WinBUGS 3 WinBUGS Examples Vol. I: Blocker: random effects meta-analysis

Sturtz: Meta-Analysen und Netzwerk- Meta-Analysen in WinBUGS 16

Initial Values:a list with 'n.chains' elements; each element of the list is itself a list of starting values, or a function creating initial values, e.g.:

R> inits1 <- list(delta = rep(0, Num), mu = rep(0, Num),+ d = 0, sigma = 1, delta.new = 0) R> inits2 <- list(...)R> inits <- list(inits1, inits2)

R> initfoo <- function() {+ list(+ delta = rnorm(Num, mean = 0, sd = 1),+ mu = rnorm(Num, mean = 0, sd = 1),+ d = rnorm(1, mean=0, sd = 1), + sigma = dunif(1, min = 0, max = 10),+ delta.new = rnorm(1, mean = 0, sd = 5))+ }

Page 17: Meta-Analysen und Netzwerk-Meta-Analysen in · PDF fileSturtz: Meta-Analysen und Netzwerk- Meta-Analysen in WinBUGS 3 WinBUGS Examples Vol. I: Blocker: random effects meta-analysis

Sturtz: Meta-Analysen und Netzwerk- Meta-Analysen in WinBUGS 17

Parameters to be monitored:character vector of the names

R> parameters <- c("d", "delta.new", "sigma")

Calling WinBUGS (default):R> bugs(data, inits, parameters.to.save,

model.file = "model.bug", n.chains = 3, n.iter = 2000, # includes burn-in!n.burnin = floor(n.iter/2), n.thin = max(1, floor(n.chains*(n.iter-n.burnin)/1000)), bin = (n.iter - n.burnin) / n.thin, # saving in betweendebug = FALSE, # close WinBUGS automatically?DIC = TRUE, digits = 5, codaPkg = FALSE, # read output automatically?bugs.directory = "c:/Program Files/WinBUGS14/",program=c("WinBUGS", "OpenBUGS", "winbugs", "openbugs"),working.directory = NULL, clearWD = FALSE) # deleting files when WinBUGS

# has finished

Page 18: Meta-Analysen und Netzwerk-Meta-Analysen in · PDF fileSturtz: Meta-Analysen und Netzwerk- Meta-Analysen in WinBUGS 3 WinBUGS Examples Vol. I: Blocker: random effects meta-analysis

Sturtz: Meta-Analysen und Netzwerk- Meta-Analysen in WinBUGS 18

Output Analysis (1):

read in automatically (codaPkg = FALSE)

• produces estimates for each sample (mean, sd, quantiles)

• plots a quick summary of inference and convergence & shows inferences for each set of parameters

• iterations are available

Page 19: Meta-Analysen und Netzwerk-Meta-Analysen in · PDF fileSturtz: Meta-Analysen und Netzwerk- Meta-Analysen in WinBUGS 3 WinBUGS Examples Vol. I: Blocker: random effects meta-analysis

Sturtz: Meta-Analysen und Netzwerk- Meta-Analysen in WinBUGS 19

Output Analysis (2):

use the coda package (codaPkg = TRUE)

• much more flexible

• trace plots, prob. density functions, summary statistics,…

• see Plummer et al. (2006)

Page 20: Meta-Analysen und Netzwerk-Meta-Analysen in · PDF fileSturtz: Meta-Analysen und Netzwerk- Meta-Analysen in WinBUGS 3 WinBUGS Examples Vol. I: Blocker: random effects meta-analysis

Sturtz: Meta-Analysen und Netzwerk- Meta-Analysen in WinBUGS 20

WinBUGS 1.4.3: Ständiges Klicken notwendig

R2WinBUGSVerwendet die Scriptsprache von WinBUGS

Basiert auf dem Austausch von TextdateienEin automatisierter interaktiver Prozess ist nicht möglich

BRugs Thomas et al.(2006)

Page 21: Meta-Analysen und Netzwerk-Meta-Analysen in · PDF fileSturtz: Meta-Analysen und Netzwerk- Meta-Analysen in WinBUGS 3 WinBUGS Examples Vol. I: Blocker: random effects meta-analysis

Sturtz: Meta-Analysen und Netzwerk- Meta-Analysen in WinBUGS 21

BRugs enthält:• OpenBUGS• Funktionen die die Funktionalität von OpenBUGS innerhalb von R reproduzieren

• Funktionen zur Datenaufbereitung und schreiben von Dateien aus R2WinBUGS

• Model, Daten & Inits müssen als Dateien verfügbar sein, BRugs stellt aber Funktionen dafür bereit: writeModel(), bugsData(), bugsInits()

Installation und Laden des Paketes:R> install.packages("BRugs")R> library(BRugs)

Page 22: Meta-Analysen und Netzwerk-Meta-Analysen in · PDF fileSturtz: Meta-Analysen und Netzwerk- Meta-Analysen in WinBUGS 3 WinBUGS Examples Vol. I: Blocker: random effects meta-analysis

Sturtz: Meta-Analysen und Netzwerk- Meta-Analysen in WinBUGS 22

Vorgehen analog zu WinBUGScheck the model file

R> modelCheck("model_MA.txt") # Datei liegt im getwd()

load data:R> modelData("data_MA.txt")ORR> modelData(bugsData(data)) # bugsData writes a file

# "data.txt"

compile the modelR> modelCompile(numChains=2)

Page 23: Meta-Analysen und Netzwerk-Meta-Analysen in · PDF fileSturtz: Meta-Analysen und Netzwerk- Meta-Analysen in WinBUGS 3 WinBUGS Examples Vol. I: Blocker: random effects meta-analysis

Sturtz: Meta-Analysen und Netzwerk- Meta-Analysen in WinBUGS 23

load initsby file

R> modelInits("inits1.txt") # seperat für jede Kette

by a function

R> initfoo <- function() {+ list(+ delta = rnorm(Num, mean = 0, sd = 1),+ mu = rnorm(Num, mean = 0, sd = 1),+ d = rnorm(1, mean=0, sd = 1), + sigma = dunif(1, min = 0, max = 10),+ delta.new = rnorm(1, mean = 0, sd = 5))+ }R> modelInits(bugsInits(initfoo))

Page 24: Meta-Analysen und Netzwerk-Meta-Analysen in · PDF fileSturtz: Meta-Analysen und Netzwerk- Meta-Analysen in WinBUGS 3 WinBUGS Examples Vol. I: Blocker: random effects meta-analysis

Sturtz: Meta-Analysen und Netzwerk- Meta-Analysen in WinBUGS 24

update the modelR> modelUpdate(1000, thin=1)

set sample monitor toolR> samplesSet(c("d", "delta.new", "sigma"))

some more updatesR> modelUpdate(10000)

output analysisR> samplesStats("*")

mean sd MC_error val2.5pc median val97.5pc start sampled -0.2398 0.06886 0.003059 -0.37500 -0.2376 -0.1092 1001 20000delta.new -0.2391 0.18180 0.003220 -0.62180 -0.2330 0.1351 1001 20000sigma 0.1485 0.07917 0.004118 0.01709 0.1406 0.3201 1001 20000

Page 25: Meta-Analysen und Netzwerk-Meta-Analysen in · PDF fileSturtz: Meta-Analysen und Netzwerk- Meta-Analysen in WinBUGS 3 WinBUGS Examples Vol. I: Blocker: random effects meta-analysis

Sturtz: Meta-Analysen und Netzwerk- Meta-Analysen in WinBUGS 25

einige weitere Funktionen:• dicSet()/ dicStats() # DIC

• samplesHistory() # plots trace of a variable

• samplesDensity() # plots density/histogram

• samplesBgr() # BGR convergence diagnostic

• samplesAutoC() # plots autocorrelation fnct.

• samplesSample() # stored samples

Page 26: Meta-Analysen und Netzwerk-Meta-Analysen in · PDF fileSturtz: Meta-Analysen und Netzwerk- Meta-Analysen in WinBUGS 3 WinBUGS Examples Vol. I: Blocker: random effects meta-analysis

Sturtz: Meta-Analysen und Netzwerk- Meta-Analysen in WinBUGS 26

Netzwerk Meta-AnalysenIndirect comparison: IC Effect of intervention C relative to B: dBC = dAC − dAB

Mixed treatment comparison (MTC) meta-analysis(also: multiple treatment meta-analysis, network meta-analysis)

Caldwell et al. 2005, Lu & Ades 2006

A

CB

A

CB

IC MTC

Page 27: Meta-Analysen und Netzwerk-Meta-Analysen in · PDF fileSturtz: Meta-Analysen und Netzwerk- Meta-Analysen in WinBUGS 3 WinBUGS Examples Vol. I: Blocker: random effects meta-analysis

Sturtz: Meta-Analysen und Netzwerk- Meta-Analysen in WinBUGS 27

Models for MTC: Basic & Functional Parameters

Take A as reference treatmentTreatment effects of B,C,D relative to A:

basic parameters mit priors

remaining contrasts: functional parameters

A

CB

DAkd ~ N(0,10000) k = B,C,D

BC AC AB

BD AD AB

CD AD AC

d = d - dd = d - dd = d - d

Lu & Ades 2006

Page 28: Meta-Analysen und Netzwerk-Meta-Analysen in · PDF fileSturtz: Meta-Analysen und Netzwerk- Meta-Analysen in WinBUGS 3 WinBUGS Examples Vol. I: Blocker: random effects meta-analysis

Sturtz: Meta-Analysen und Netzwerk- Meta-Analysen in WinBUGS 28

MTC: Random Effects Model

jk jk jkr ~ Bin(p ,n )

Ak

jb

d ~ N(0,10000) k = B,C,Dμ ~ N(0,10000) A

CB

D

functional p.basic p.

jbjk

jb jbk

μ b = A,B,C für k = b logit(p ) =

μ +δ für k 'nach' b ⎧⎪⎨⎪⎩

2 2jbk bk Ak Abδ ~ N(d ,σ ) ~ N(d - d , σ )

For intervention k in study j:

μjb: study specific effects of b

Lu & Ades 2006

Page 29: Meta-Analysen und Netzwerk-Meta-Analysen in · PDF fileSturtz: Meta-Analysen und Netzwerk- Meta-Analysen in WinBUGS 3 WinBUGS Examples Vol. I: Blocker: random effects meta-analysis

Sturtz: Meta-Analysen und Netzwerk- Meta-Analysen in WinBUGS 29

Daten für MTC-Analyse

r[,1] n[,1] r[,2] n[,2] r[,3] n[,3] t[,1] t[,2] t[,3] na[]Studie1 74 132 69 136 NA 1 trt1 trt2 NA 2Studie2 86 156 56 159 NA 1 trt1 trt2 NA 2Studie3 62 123 48 136 NA 1 trt1 trt2 trt3 3Studie4 75 121 33 115 70 120 trt1 trt2 trt3 3...Studie j 33 68 24 66 36 67 trt1 trt2 trt4 3Studie j+1 44 86 27 88 30 87 trt1 trt3 trt4 3

r[j,k] outcomen[j,k] number of patientst[j,k] treatmentna[j] number of arms

Page 30: Meta-Analysen und Netzwerk-Meta-Analysen in · PDF fileSturtz: Meta-Analysen und Netzwerk- Meta-Analysen in WinBUGS 3 WinBUGS Examples Vol. I: Blocker: random effects meta-analysis

Sturtz: Meta-Analysen und Netzwerk- Meta-Analysen in WinBUGS 30

model{for(i in 1:NS){w[i,1] <- 0delta[i,t[i,1]] <- 0mu[i] ~ dnorm(0,.001) for (k in 1:na[i]){r[i,k] ~ dbin(p[i,t[i,k]],n[i,k]) logit(p[i,t[i,k]])<-mu[i] + delta[i,t[i,k]]}

for (k in 2:na[i]){delta[i,t[i,k]] ~ dnorm(md[i,t[i,k]],taud[i,t[i,k]]) md[i,t[i,k]] <- d[t[i,k]] - d[t[i,1]] + sw[i,k] taud[i,t[i,k]] <- tau *2*(k-1)/k w[i,k] <- (delta[i,t[i,k]] - d[t[i,k]] + d[t[i,1]]) # adjustment, multi-arm RCTssw[i,k] <- sum(w[i,1:k-1])/(k-1) }

}d[1] <- 0for (k in 2:NT) {d[k] ~ dnorm(0,.001) }

sigma ~ dunif(0.00001,2) tau <- 1/(sigma*sigma)

}}

model{for(i in 1:Num){rc[i]~dbin(pc[i], nc[i])rt[i]~dbin(pt[i], nt[i])logit(pc[i])<-mu[i]logit(pt[i])<-mu[i]+delta[i]delta[i] ~ dnorm(d,tau)mu[i] ~ dnorm(0, 0.00001)

}d ~ dnorm(0, 0.000001)tau <- 1/(sigma*sigma)sigma ~ dunif(0,10)

}

Page 31: Meta-Analysen und Netzwerk-Meta-Analysen in · PDF fileSturtz: Meta-Analysen und Netzwerk- Meta-Analysen in WinBUGS 3 WinBUGS Examples Vol. I: Blocker: random effects meta-analysis

Sturtz: Meta-Analysen und Netzwerk- Meta-Analysen in WinBUGS 31

Vorgehen analog zur Meta-Analyse

library(BRugs)modelCheck("model_MTC.txt") # check model filemodelData("data_MTC.txt") # read data filemodelCompile(numChains = 2) # compile model with 2 chainsmodelInits("inits1.txt") # read init data filemodelInits("inits2.txt")modelGenInits()modelUpdate(100000) # burn insamplesSet(c("d", "tau", "sigma")) # variables to be monitoreddicSet()modelUpdate(50000) # more iterations ....dicStats()

Page 32: Meta-Analysen und Netzwerk-Meta-Analysen in · PDF fileSturtz: Meta-Analysen und Netzwerk- Meta-Analysen in WinBUGS 3 WinBUGS Examples Vol. I: Blocker: random effects meta-analysis

Sturtz: Meta-Analysen und Netzwerk- Meta-Analysen in WinBUGS 32

Zusammenfassung

WinBUGS flexible Software zur Modellierung komplexer Modelle unter Verwendung von MCMC MethodenErstes Aufstellen des Modelles in WinBUGS sinnvoll, automatisiertes Arbeiten wird durch die Einbindung in R erleichtertArbeit mit MCMC Methoden erfordert Kenntnis der Methoden und Überprüfung der Modelannahmen bgzl priors, Startwerten, Länge der Markovketten

Page 33: Meta-Analysen und Netzwerk-Meta-Analysen in · PDF fileSturtz: Meta-Analysen und Netzwerk- Meta-Analysen in WinBUGS 3 WinBUGS Examples Vol. I: Blocker: random effects meta-analysis

Sturtz: Meta-Analysen und Netzwerk- Meta-Analysen in WinBUGS 33

LiteraturCarlin JB (1992): Meta-analysis for 2 x 2 tables: a Bayesian approach. Stat Med. 1992 141-158.Lu G, Ades AE (2006): Assessing evidence inconsistency in mixed treatmentcomparisons. Journal of the American Statistical Association 101, 447-459.Lunn DJ, Thomas A, Best N, Spiegelhalter D. (2000) WinBUGS - a Bayesian modellingframework: concepts, structure, and extensibility. Statistics and Computing, 325-337.Plummer M, Best N, Cowles K, Vines K (2006): Convergence diagnostics and output analysis for MCMC, R-News 1/6, 7-11. Sturtz S, Ligges U, Gelman A (2005): R2WinBUGS: A package for running WinBUGSfrom R. Journal of Statistical Software 12/3,1-16.Thomas A, O’Hara B, Ligges U, Sturtz S (2006): Making BUGS Open, R-News 6/1, 12-17.

Page 34: Meta-Analysen und Netzwerk-Meta-Analysen in · PDF fileSturtz: Meta-Analysen und Netzwerk- Meta-Analysen in WinBUGS 3 WinBUGS Examples Vol. I: Blocker: random effects meta-analysis

Sturtz: Meta-Analysen und Netzwerk- Meta-Analysen in WinBUGS 34

Institut für Qualität und Wirtschaftlichkeit im Gesundheitswesen (IQWiG)

Dillenburger Straße 27D-51105 Köln

Telefon +49-221/3 56 85-0Telefax +49-221/3 56 85-1

[email protected]