Upload
meadow-thorndyke
View
219
Download
0
Tags:
Embed Size (px)
Citation preview
Network meta-analysis in SASDanish Society of Biopharmaceutical Statistics, Elsinore, May 27,
2014
David A. Scott MA MScSenior Director, ICON Health Economics
Visiting Fellow, SHTAC, University of Southampton
Network Meta-Analysis: Software
• winBUGS/OpenBUGS/JAGS (DSU series)• R e.g. rmeta, netmeta, mvmeta packages• Stata mvmeta• SAS e.g. proc glimmix, proc mcmc
A brief history of NMA in SAS
• Lots of different procedures to implement NMA in SAS– proc mixed, proc mixed, proc nlmixed, proc
genmod, proc glimmix1-3
– Frequentist techniques– Difficult to fit complex hierarchical models2
• MCMC techniques– proc genmod (using Easy Bayes) -> proc mcmc– SAS 9.2 (level 2M3), SAS 9.3 (sas stat 12)
1 Glenny AM et al, Health Technology Assessment 2005; 9(26)2 Jones B et al, Pharmaceutical Statistics 2011; 10:523-313 Piepho HP et al. Biometrics 2012; 68:1269-77
Potential barriers
• DSU series winBUGS-focused• SAS not yet used in UK reimbursement
submissions• ERG limited experience of SAS• Limited published code/articles• Validation exercise
Illustrative example 1 - binary data
Syntax: load data
data smoking;input Study Trt R N narm;datalines;1 2 11 78 3 #Mothersill 19881 3 12 85 3 #Mothersill 19881 4 29 170 3 #Mothersill 19882 1 75 731 2 #Reid 1974…run;
Syntax: fixed effects
proc mcmc data=smoking nmc=20000 seed=246810;random Studyeffect ~general(0) subject=Study init=(0);random Treat ~general(0) subject=Treatment init=(0) zero="No contact" monitor=(Treat);mu= Studyeffect + Treat;P=1-(1/(1+exp(mu)));model R ~ binomial(n=N, p=P);run;
Syntax: random effects
proc mcmc data=smoking nbi=20000 nmc=200000 thin=10 seed=246810 monitor=(mysd) dic;random Studyeffect ~normal(0, var=10000) subject=Study init=(0) ;random Treat ~normal(0, var=10000) subject=Treatment init=(0) zero="No contact" monitor=(Treat);parms mysd 0.2;prior mysd ~ uniform(0,1);random RE ~ normal(0,sd=mysd/sqrt(2)) subject=_OBS_ init=(0);mu= Studyeffect + Treat +RE;P=1-(1/(1+exp(mu)));model R ~ binomial(n=N, p=P);run;
Diagnostics
• Trace• Density• Autocorrelation– thin= option
• DIC (relative model fit)– dic option
Diagnostics in SAS
Practical exercise 1
• Run the code as is• Compare results for each model• Amend the code to generate fewer MCMC samples,
how many are sufficient? How much burn-in is needed? Is thinning necessary in the RE model?
• Which model is the better fit, fixed or random effects?• Change the baseline from “no contact” to “self help”.
Are the results consistent? • Try changing the priors to other vague priors1, does this
affect results? 1 Lambert PC et al, Statistics in Medicine, 2005; 24:2401-28
Results from WinBUGS
Fixed effects mean sd
Self help 0.25 0.13
Individual counselling 0.75 0.06
Group counselling 1.02 0.21
DIC 485.0
Random effects
Self help 0.46 0.4
Individual counselling 0.78 0.23
Group counselling 1.09 0.51
reSD 0.79 0.18
DIC 298.6
Illustrative example 2 - continuous data
RQy449hbr123oxout
Syntax: load data
data scott;input study trt baseline y SE;datalines;1 2 8.5 -1.08 0.121 3 8.5 -1.13 0.121 1 8.5 0.23 0.22 2 8.4 -1 0.1…;run;
Syntax: fixed effects
proc mcmc data=scott nmc=200000 nthin=20 seed=246810;random Studyeffect ~general(0) subject=Study init=(0) ;random Treat ~general(0) subject=Treatment init=(0) zero="Placebo" monitor=(Treat);Mu= Studyeffect + Treat ;model Y ~ normal(mean=Mu, var=SE*SE);run;
Syntax: random effects
proc mcmc data=scott nmc=200000 nthin=20 seed=246810 monitor=(mysd) outpost=outp7 dic;random Studyeffect ~normal(0,var=10000) subject=Study init=(0) ;random Treat ~normal(0,var=10000) subject=Treatment init=(0) zero="Placebo" monitor=(Treat);parms mysd 0.2;prior mysd ~ uniform(0,1);random RE ~normal(0,sd=mysd/sqrt(2)) subject=_OBS_ init=(0);Mu= Studyeffect + Treat +RE;model Y ~ normal(mean=Mu, sd=SE);run;
Syntax: fixed effects meta-regression
proc mcmc data=scott nmc=200000 nthin=20 seed=246810;random Studyeffect ~general(0) subject=Study init=(0) ;random Treat ~general(0) subject=Treatment init=(0) zero="Placebo" monitor=(Treat);parms hba1c 0;prior hba1c ~normal(0,var=10000);Mu= Studyeffect + Treat + baseline*hba1c;model Y ~ normal(mean=Mu, var=SE*SE);run;
Practical exercise 2
• Run the code as is• Compare results for each model• Which model is the better fit, fixed or random effects, or meta-
regression?• Amend the code to generate fewer MCMC samples, how many
are sufficient? How much burn-in is needed? Is thinning necessary in the RE model?
• Change the baseline from “Placebo” to “Insulin Glargine”. Are the results consistent?
• Compare results to WinBUGS output • Try changing the priors to other vague priors1, does this affect
results? 1 Lambert PC et al, Statistics in Medicine, 2005; 24:2401-28
Results from WinBUGS
Fixed effects mean sdLiraglutide 1.2mg -1.04 0.07Liraglutide 1.8mg -1.21 0.06Insulin glargine -0.82 0.06Exenatide BID -0.79 0.05Exenatide QW -1.12 0.06Fixed effects adjusting for baseline hba1cLiraglutide 1.2mg -1.02 0.07Liraglutide 1.8mg -1.20 0.06Insulin glargine -0.83 0.06Exenatide BID -0.82 0.05Exenatide QW -1.13 0.06delta -0.41 0.14
Random effects from paper