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 independent tests, 2 populations, 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.2.2.
Two independent tests / Two populations
Estimate Se and Sp of microscopic examination and PCR.
Hui-Walter Model for N. salmonis in trout.
Data source: Enoe C, Georgiadis MP, Johnson WO. Estimation of sensitivity and specificity of diagnostic tests and disease prevalence when the true disease state is unknown. Prev Vet Med. 2000 May 30;45(1-2):61-81.



model;
{
y[1:Q, 1:Q] ~ dmulti(p1[1:Q, 1:Q], n1)
z[1:Q, 1:Q] ~ dmulti(p2[1:Q, 1:Q], n2)
p1[1,1] <- pi1*Seme*Sepcr + (1-pi1)*(1-Spme)*(1-Sppcr)
p1[1,2] <- pi1*Seme*(1-Sepcr) + (1-pi1)*(1-Spme)*Sppcr
p1[2,1] <- pi1*(1-Seme)*Sepcr + (1-pi1)*Spme*(1-Sppcr)
p1[2,2] <- pi1*(1-Seme)*(1-Sepcr) + (1-pi1)*Spme*Sppcr
p2[1,1] <- pi2*Seme*Sepcr + (1-pi2)*(1-Spme)*(1-Sppcr)
p2[1,2] <- pi2*Seme*(1-Sepcr) + (1-pi2)*(1-Spme)*Sppcr
p2[2,1] <- pi2*(1-Seme)*Sepcr + (1-pi2)*Spme*(1-Sppcr)
p2[2,2] <- pi2*(1-Seme)*(1-Sepcr) + (1-pi2)*Spme*Sppcr
Seme ~ dbeta(2.82, 2.49) ## Mode=0.55, 95% sure Seme < 0.85
Spme ~ dbeta(15.7, 1.30) ## Mode=0.98, 95% sure Spme > 0.80
pi2 ~ dbeta(1.73, 2.71) ## Mode=0.30, 95% sure pi2 > 0.08
Sepcr ~ dbeta(8.29, 1.81) ## Mode=0.90, 95% sure Sepcr > 0.60
Sppcr ~ dbeta(10.69, 2.71) ## Mode=0.85, 95% sure Sppcr > 0.60
Z ~ dbern(tau1)
pi1star ~ dbeta(1.27, 9.65) ## Mode=0.03, 95% sure pi2 < 0.30
pi1 <- Z*pi1star
}
list(n2=30, n1=132, z=structure(.Data=c(3,0,24,3),.Dim=c(2,2)),
y=structure(.Data=c(0,0,3,129),.Dim=c(2,2)), Q=2, tau1=0.95)
list(Z=1, pi1star=0.03, pi2=0.30, Seme=0.55, Spme=0.98, Sepcr=0.90, Sppcr=0.85)
 

Output

node
mean
sd
MC error
2.50%
median
97.50%
start
sample
Seme
0.1745
0.0652
2.32E-04
0.06738
0.1678
0.3195
10001
100000
Sepcr
0.9301
0.04626
1.86E-04
0.8173
0.9391
0.9919
10001
100000
Spme
0.9914
0.007498
3.93E-05
0.9717
0.9935
0.9996
10001
100000
Sppcr
0.963
0.01671
6.88E-05
0.9247
0.9651
0.9893
10001
100000
pi1
0.009058
0.01219
5.79E-05
0
0.003916
0.04176
10001
100000
pi2
0.8524
0.06658
2.56E-04
0.7027
0.8596
0.9596
10001
100000

 

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