Bayesian Epidemiologic Screening Techniques

Graduate Group in Epidemiology | University of California, Davis
| Bayesian Epidemiologic Screening Techniques (BEST) Laboratory at University of California, Davis |
| Software Modules | Prevalence Estimation | Disease Freedom | Diagnostic Test Se and Sp Estimation | More |
| Methodological Papers | Applications |
| Presentations and Talks |
| Workshops |
| Statistics | Medicine and Epidemiology | Master of Preventive Veterinary Medicine |
| Glossary of Epidemiological Terms |
| Academic / Research Related | Scientific Journals | Software Sites | Web-based Hot Topics and Lists |
| Research Members Contact Information |

2 dependent tests, 1 population, no gold standard

WinBUGS 1.4 code to accompany the paper entitled "Branscum AJ, Gardner IA, Johnson WO. Estimation of diagnostic-test sensitivity and specificity through Bayesian modeling. Prev Vet Med. 2005 May 10;68(2-4):145-63".

Code prepared by Adam Branscum, November 18, 2003
branscum@ms.uky.edu
Departments of Biostatistics and Statistics
University of Kentucky

Example from section 3.3.3.1.
Two dependent tests / One population.
Estimation of the Se and Sp of two FAT tests.
Classical swine fever virus.
Data source: Bouma A, Stegeman JA, Engel B, de Kluijver EP, Elbers AR, De Jong MC. Evaluation of diagnostic tests for the detection of classical swine fever in the field without a gold standard. J Vet Diagn Invest. 2001 Sep;13(5):383-8.



model;
{
x[1:4] ~ dmulti(p[1:4], n)
p[1] <- pi*(Sefat1*Sefat2+covDp) + (1-pi)*((1-Spfat1)*(1-Spfat2)+covDn)
p[2] <- pi*(Sefat1*(1-Sefat2)-covDp) + (1-pi)*((1-Spfat1)*Spfat2-covDn)
p[3] <- pi*((1-Sefat1)*Sefat2-covDp) + (1-pi)*(Spfat1*(1-Spfat2)-covDn)
p[4] <- pi*((1-Sefat1)*(1-Sefat2)+covDp) + (1-pi)*(Spfat1*Spfat2+covDn)
ls <- (Sefat1-1)*(1-Sefat2)
us <- min(Sefat1,Sefat2) - Sefat1*Sefat2
lc <- (Spfat1-1)*(1-Spfat2)
uc <- min(Spfat1,Spfat2) - Spfat1*Spfat2
pi ~ dbeta(13.322, 6.281) ### Mode=0.70, 95% sure > 0.50
Sefat1 ~ dbeta(9.628,3.876) ### Mode=0.75, 95% sure > 0.50
Spfat1 ~ dbeta(15.034, 2.559) ### Mode=0.90, 95% sure > 0.70
Sefat2 ~ dbeta(9.628, 3.876) ### Mode=0.75, 95% sure > 0.50
Spfat2 ~ dbeta(15.034, 2.559) ### Mode=0.90, 95% sure > 0.70
covDn ~ dunif(lc, uc)
covDp ~ dunif(ls, us)
rhoD <- covDp / sqrt(Sefat1*(1-Sefat1)*Sefat2*(1-Sefat2))
rhoDc <- covDn / sqrt(Spfat1*(1-Spfat1)*Spfat2*(1-Spfat2))
}
list(n=214, x=c(121,6,16,71))
list(pi=0.7, Sefat1=0.75, Spfat1=0.90, Sefat2=0.75, Spfat2=0.90)
 

Output

node
mean
sd
MC error
2.50%
median
97.50%
start
sample
Sefat1
0.7691
0.06151
9.16E-04
0.6497
0.7693
0.887
10001
100000
Sefat2
0.8147
0.06045
9.83E-04
0.6959
0.8156
0.9281
10001
100000
Spfat1
0.8851
0.0581
5.35E-04
0.7533
0.8924
0.975
10001
100000
Spfat2
0.8485
0.07411
5.83E-04
0.6856
0.8566
0.9667
10001
100000
rhoD
0.6814
0.1484
0.001845
0.3135
0.7049
0.9071
10001
100000
rhoDc
0.3629
0.2655
0.002054
-0.09339
0.361
0.858
10001
100000

 

©2000-2007 Department of Medicine and Epidemiology, University of California, Davis