Notes on how to interpret the data (please correct)
- CFT negative if result is 0, any positive titer call positive. 9
‘not done & anti-complementary results excluded’ removed
- RBT already in positive/negative status (use ‘RBT’). One ‘not done’
excluded.
- How to interpret the ELISA columns? Currently ELISA >0.5
negative, 0.4-0.5 doubtful, otherwise positive… THIS IS INCORRECT
- What is the best FPA cut off? Currently using 88.5??? using results
1
Data Tables
- Negative herds: herds A & B. can argue these are genuinely
negative.
- Mixed herds: herds C, D, E
- How to use culture positive results: need to clarify if we trust
negatives? Any repeat samples from individuals? E = 4neg/2pos
- Results shown for ELISA/RBT/CFT then FPA/RBT/CFT
| A |
97 |
| B |
10 |
| C |
171 |
| D |
4 |
| E |
55 |
| F |
6 |
[1] “ELISA/RBT/CFT”
| A |
0 |
2 |
0 |
95 |
0 |
0 |
0 |
| B |
0 |
0 |
0 |
10 |
0 |
0 |
0 |
| C |
0 |
3 |
0 |
50 |
39 |
2 |
22 |
| D |
0 |
0 |
0 |
1 |
2 |
0 |
0 |
| E |
1 |
1 |
0 |
17 |
21 |
2 |
7 |
| F |
0 |
0 |
0 |
0 |
5 |
0 |
1 |
[1] “FPA/RBT/CFT”
| A |
0 |
0 |
0 |
7 |
0 |
0 |
2 |
| B |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
| C |
24 |
7 |
0 |
3 |
15 |
2 |
18 |
| D |
2 |
0 |
0 |
0 |
0 |
0 |
0 |
| E |
14 |
2 |
0 |
0 |
8 |
2 |
6 |
| F |
5 |
1 |
0 |
0 |
0 |
0 |
0 |
Questions impacting model structure and notes to review.
- Typical BLCMs estimate a Se/Sp for each test and a true prevalence
per population. We have the option to either follow this model and put a
very very strong prior on herds A & B OR assume prevalence is truely
0. I think there is a case for arguing that for wildlife, putting
together a negative reference pannel may be more possible than a
positive one. Lets discuss the strength of this? Same thing about the
positive culture results.
- Need to discuss conditional independence assumption: “diagnostic
tests under evaluation are independent and conditional on the true
disease status of an individual.” That is knowledge of whether test A
yields a positive result provides no information on the likelihood of
test B being positive as well. This is not true - but can we prioritise
which you may expect to be more related than others?
- Will need to pull out the longitudinal samples from herd C (Kruger)
or represent it. One herd or two?
- I need to think about representing herds in C-F as related with a
random effect vs. separately. https://www.woah.org/app/uploads/2021/05/401-19-cheung-firestone.pdf
(see new model structure for clustered samples (27, 28), and mixed
models with fixed and random effects influencing prevalence (29) and
even DSe (30))
- Prior specification
- Talk through STARD−BLCM (42).
Code to modify
# model {
# r[1:8] ~ dmulti(p[1:8], n)
# r2[1:8] ~ dmulti(p2[1:8], n2)
# p[1] <- pr*(se[1]*se[2]*se[3]+se[2]*a13) + (1-pr)*((1-sp[1])*(1-sp[2])*(1-sp[3])+(1-sp[2])*b13)
# p[2] <- pr*(se[1]*se[2]*(1-se[3])-se[2]*a13) + (1-pr)*((1-sp[1])*(1-sp[2])*sp[3]-(1-sp[2])*b13)
# p[3] <- pr*(se[1]*(1-se[2])*se[3]+(1-se[2])*a13) + (1-pr)*((1-sp[1])*sp[2]*(1-sp[3])+sp[2]*b13)
# p[4] <- pr*(se[1]*(1-se[2])*(1-se[3])-(1-se[2])*a13) + (1-pr)*((1-sp[1])*sp[2]*sp[3]-sp[2]*b13)
# p[5] <- pr*((1-se[1])*se[2]*se[3]-(1-se[2])*a13) + (1-pr)*(sp[1]*(1-sp[2])*(1-sp[3])-(1-sp[2])*b13)
# p[6] <- pr*((1-se[1])*se[2]*(1-se[3])+se[2]*a13) + (1-pr)*(sp[1]*(1-sp[2])*sp[3]+(1-sp[2])*b13)
# p[7] <- pr*((1-se[1])*(1-se[2])*se[3]-(1-se[2])*a13) + (1-pr)*(sp[1]*sp[2]*(1-sp[3])-sp[2]*b13)
# p[8] <- pr*((1-se[1])*(1-se[2])*(1-se[3])+(1-se[2])*a13) + (1-pr)*(sp[1]*sp[2]*sp[3]+sp[2]*b13)
#
# p2[1] <- pr2*(se[1]*se[2]*se[3]+se[2]*a13) + (1-pr2)*((1-sp[1])*(1-sp[2])*(1-sp[3])+(1-sp[2])*b13)
# p2[2] <- pr2*(se[1]*se[2]*(1-se[3])-se[2]*a13) + (1-pr2)*((1-sp[1])*(1-sp[2])*sp[3]-(1-sp[2])*b13)
# p2[3] <- pr2*(se[1]*(1-se[2])*se[3]+(1-se[2])*a13) + (1-pr2)*((1-sp[1])*sp[2]*(1-sp[3])+sp[2]*b13)
# p2[4] <- pr2*(se[1]*(1-se[2])*(1-se[3])-(1-se[2])*a13) + (1-pr2)*((1-sp[1])*sp[2]*sp[3]-sp[2]*b13)
# p2[5] <- pr2*((1-se[1])*se[2]*se[3]-(1-se[2])*a13) + (1-pr2)*(sp[1]*(1-sp[2])*(1-sp[3])-(1-sp[2])*b13)
# p2[6] <- pr2*((1-se[1])*se[2]*(1-se[3])+se[2]*a13) + (1-pr2)*(sp[1]*(1-sp[2])*sp[3]+(1-sp[2])*b13)
# p2[7] <- pr2*((1-se[1])*(1-se[2])*se[3]-(1-se[2])*a13) + (1-pr2)*(sp[1]*sp[2]*(1-sp[3])-sp[2]*b13)
# p2[8] <- pr2*((1-se[1])*(1-se[2])*(1-se[3])+(1-se[2])*a13) + (1-pr2)*(sp[1]*sp[2]*sp[3]+sp[2]*b13)
#
# #Priors
# pr ~ dbeta(2.35, 4.14)
# pr2 ~ dbeta(1.96, 2.78)
# se[1] ~ dbeta(6.2881, 1.13)
# se[2] ~dbeta(1.9348, 1.018)
# se[3] ~ dbeta(2.0791, 1.045)
# sp[1] ~ dbeta(6.30745, 1.1361)
# sp[2] ~ dbeta(8.077, 1.0142)
# sp[3] ~ dbeta(2.5335, 1.003)
# ll1 <- max(-(1-se[1])*(1-se[3]), -se[1]*se[3])
# ul1 <- min(se[1]*(1-se[3]),(1-se[1])*se[3])
# a13 ~ dunif(ll1,ul1)
# ll2 <- max(-(1-sp[1])*(1-sp[3]), -sp[1]*sp[3])
# ul2 <- min(sp[1]*(1-sp[3]),(1-sp[1])*sp[3])
# b13 ~ dunif(ll2,ul2)
#
# # correlation between ELISA and CFT
# cc_a13 <- a13/(sqrt(se[1]*(1-se[1]))*sqrt(se[3]*(1-se[3])))
# cc_b13 <- b13/(sqrt(sp[1]*(1-sp[1]))*sqrt(sp[3]*(1-sp[3])))
# }