Presentation is loading. Please wait.

Presentation is loading. Please wait.

Network meta-analysis in SAS Danish Society of Biopharmaceutical Statistics, Elsinore, May 27, 2014 David A. Scott MA MSc Senior Director, ICON Health.

Similar presentations


Presentation on theme: "Network meta-analysis in SAS Danish Society of Biopharmaceutical Statistics, Elsinore, May 27, 2014 David A. Scott MA MSc Senior Director, ICON Health."— Presentation transcript:

1 Network meta-analysis in SAS Danish Society of Biopharmaceutical Statistics, Elsinore, May 27, 2014 David A. Scott MA MSc Senior Director, ICON Health Economics Visiting Fellow, SHTAC, University of Southampton

2 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

3 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 glimmix 1-3 – Frequentist techniques – Difficult to fit complex hierarchical models 2 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-31 3 Piepho HP et al. Biometrics 2012; 68:1269-77

4

5

6 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

7 Illustrative example 1 - binary data

8

9

10 Syntax: load data data smoking; input StudyTrtRNnarm; datalines; 1211783#Mothersill 1988 1312853#Mothersill 1988 14291703#Mothersill 1988 21757312#Reid 1974 … run;

11 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;

12 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;

13 Diagnostics Trace Density Autocorrelation – thin= option DIC (relative model fit) – dic option

14 Diagnostics in SAS

15

16 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 priors 1, does this affect results? 1 Lambert PC et al, Statistics in Medicine, 2005; 24:2401-28

17 Results from WinBUGS Fixed effectsmeansd Self help0.250.13 Individual counselling0.750.06 Group counselling1.020.21 DIC485.0 Random effects Self help0.460.4 Individual counselling0.780.23 Group counselling1.090.51 reSD0.790.18 DIC298.6

18 Illustrative example 2 - continuous data

19 RQy449hbr123oxout

20

21 Syntax: load data data scott; input study trt baseline y SE; datalines; 128.5-1.080.12 138.5-1.130.12 118.50.230.2 228.4-10.1 … ; run;

22 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;

23 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;

24 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;

25 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 priors 1, does this affect results? 1 Lambert PC et al, Statistics in Medicine, 2005; 24:2401-28

26 Results from WinBUGS Fixed effectsmeansd Liraglutide 1.2mg-1.040.07 Liraglutide 1.8mg-1.210.06 Insulin glargine-0.820.06 Exenatide BID-0.790.05 Exenatide QW-1.120.06 Fixed effects adjusting for baseline hba1c Liraglutide 1.2mg-1.020.07 Liraglutide 1.8mg-1.200.06 Insulin glargine-0.830.06 Exenatide BID-0.820.05 Exenatide QW-1.130.06 delta-0.410.14

27 Random effects from paper


Download ppt "Network meta-analysis in SAS Danish Society of Biopharmaceutical Statistics, Elsinore, May 27, 2014 David A. Scott MA MSc Senior Director, ICON Health."

Similar presentations


Ads by Google