| \text{Xét nghiệm} |
\text{Bệnh}
|
|
|---|---|---|
| D = 0 | D = 1 | |
| X = 0 | (n_{00}, \theta_{00}) | (n_{01}, \theta_{01}) |
| X = 1 | (n_{10}, \theta_{10}) | (n_{11}, \theta_{11}) |
Độ Chính Xác Của Xét Nghiệm: Dữ Liệu Nhị Phân và Thứ Bậc
1 Giới thiệu
Phần này giới thiệu phương pháp Bayes trong ước lượng và kiểm định các giả thuyết liên quan đến những thước đo cơ bản của độ chính xác xét nghiệm, bao gồm:
- Xác suất phân loại (classification probabilities). Bao gồm:
- Dương tính giả (FPF - false positive fraction)
- Dương tính thật (TPF - true positive fraction)
- Các thước đo dự đoán (predictive measures). Bao gồm:
- Giá trị dự đoán dương (PPV - positive predictive value)
- Giá trị dự đoán âm tính (NPV - negative predictive value)
- Tỉ số khả năng chẩn đoán (Diagnostic likelihood ratios (DLR))
- Tỷ số khả năng chẩn đoán dương (PDLR - positive diagnostic likelihood ratio)
- Tỷ số khả năng chẩn đoán âm (NDLR - negative diagnostic likelihood ratio)
Trong thực hành lâm sàng, các đại lượng này đóng vai trò cực kỳ quan trọng vì chúng trả lời các câu hỏi trực tiếp như:
- Xét nghiệm này có phát hiện đúng bệnh không?
- Nếu bệnh nhân test dương tính, xác suất thật sự có bệnh là bao nhiêu?
- Test này có đáng tin để loại trừ bệnh không?
Xem xét bảng phân loại (Table 1) bên dưới:
Trong mỗi trường hợp ta có n_{ij} và \theta_{ij} (i,j = 0,1) là số bệnh nhân và xác suất. Số bệnh nhân n_{ij} chính là dữ liệu đã quan sát, còn xác suất \theta_{ij} là tham số ta cần ước lượng.
Đối với sinh viên đã quen với thống kê tần suất luận, điểm khó nhất khi bắt đầu học Bayes không nằm ở công thức, mà nằm ở việc thay đổi cách nhìn về tham số và dữ liệu. Vì vậy, trước khi đi vào mô hình, ta cần dừng lại để phân biệt thật rõ hai trường phái suy luận này.
2 Hai trường phái thống kê: Frequentist và Bayes
Trong thống kê có 2 trường phái phân tích là frequentist và Bayes, cả 2 có cách nhìn nhận vấn đề khác nhau. Phần này rất quan trọng, vì nếu không hiểu sự khác nhau này thì rất dễ dùng công thức Bayes một cách máy móc mà không hiểu bản chất.
3 Phương pháp tần suất luận (Frequentist)
- Tham số \theta_{ij} là đại lượng tất định, chưa biết (và không có yếu tố ngẫu nhiên).
- Dữ liệu n_{ij} là yếu tố ngẫu nhiên. Các giá trị n_{ij} quan sát được chính là một mẫu (sample) từ quần thể (population).
- \theta_{ij} sẽ được ước lượng dựa trên dữ liệu đã quan sát.
- Vì được ước lượng dựa trên một mẫu nhỏ so với quần thể lớn, nên giá trị ước lượng \widehat\theta_{ij} của \theta_{ij} có yếu tố ngẫu nhiên, và được ước lượng kèm theo một khoảng tin cậy.
- Về mặt thống kê, ta ước lượng \theta_{ij} bằng một hàm số của dữ liệu quan sát, mà dữ liệu quan sát lại có yếu tố ngẫu nhiên, nên \widehat\theta_{ij} cũng ngẫu nhiên.
- Khoảng tin cậy đó được hiểu là nếu ta đến quần thể lấy một mẫu dữ liệu để ước lượng tham số (nghĩa là tính khoảng tin cậy 95%), và ta lập lại điều này vô số lần thì trong số những khoảng tin cậy đó, sẽ có 95% là chứa giá trị đúng của \theta_{ij}.
Điểm cần nhấn mạnh với sinh viên y khoa là: trong frequentist statistics, ta không được nói rằng “xác suất để \theta_{ij} nằm trong khoảng tin cậy này là 95%”. Lý do là trong frequentist, \theta_{ij} được xem là cố định, không ngẫu nhiên. Thứ ngẫu nhiên là quy trình lấy mẫu và khoảng tin cậy tạo ra từ mẫu.
4 Phương pháp Bayes
- \theta_{ij}, mặc dù là tất định, có thể biểu diễn theo một hàm số xác suất để thể hiện niềm tin của ta vào các giá trị có thể của \theta_{ij}. Như vậy, ta có thể xem \theta_{ij} có yếu tố ngẫu nhiên. Lưu ý: ngẫu nhiên ở đây là thể hiện khả năng xảy ra cho từng chọn lựa, chứ không mang ý nghĩa ngẫu nhiên trong mối liên hệ mẫu-quần thể.
- Ví dụ ta biết \theta_{ij} là một trong 3 giá trị \theta_{ij}^a, \theta_{ij}^b và \theta_{ij}^c; trong đó \theta_{ij}^a có nhiều khả năng nhất rồi tới \theta_{ij}^b và cuối cùng là \theta_{ij}^c. Ta có thể gán một hàm xác suất cho 3 giá trị này để biểu thị khả năng xảy ra của từng cái như sau:
| \theta_{ij} | p_1(\theta_{ij}) | p_2(\theta_{ij}) |
|---|---|---|
| \theta_{ij}^a | 0.5 | 0.6 |
| \theta_{ij}^b | 0.3 | 0.35 |
| \theta_{ij}^c | 0.2 | 0.05 |
Ví dụ này có ý nghĩa sư phạm rất quan trọng. Nó cho thấy trong Bayes, trước khi nhìn dữ liệu, ta có thể mô tả một cách định lượng mức độ tin tưởng của mình vào các giá trị khác nhau của tham số. Đây chính là ý tưởng của prior distribution.
- Dữ liệu n_{ij} là đại lượng tất định. Vai trò của nó trong Bayes như là “bằng chứng”. Ta càng có nhiều bằng chứng thì niềm tin của ta sẽ càng lớn.
- Trong cả Frequentist và Bayes, dữ liệu được biểu diễn qua hàm số likelihood p(n_{ij};\theta_{ij}).
- Với Bayes, p(n_{ij};\theta_{ij}) cũng có thể viết theo dạng xác suất điều kiện p(n_{ij}|\theta_{ij}).
- Hàm số xác suất p(\theta_{ij}) được xác định trước khi ta quan sát dữ liệu. Nó đóng vai trò là niềm tin của ta vào các lựa chọn của \theta_{ij} trước khi ta nhìn thấy bất kỳ bằng chứng thực nghiệm nào. Vì thế nó được gọi là xác suất tiên nghiệm (prior distribution).
- Sau khi ta đã có bằng chứng p(n_{ij}|\theta_{ij}), ta sẽ “update” niềm tin của chúng ta về tham số \theta_{ij}. Cụ thể là ta dùng công thức Bayes
p(\theta^k_{ij}| n_{ij}) = \frac{p(n_{ij}|\theta^k_{ij})p(\theta^k_{ij})}{\sum_{k=1,2,3}p(n_{ij}|\theta^k_{ij})p(\theta_{ij}^k)}
- Xác suất p(\theta_{ij}| n_{ij}) được gọi xác suất hậu nghiệm (posterior distribution).
- Xác suất hậu nghiệm p(\theta_{ij}| n_{ij}) chứa toàn bộ thông tin cần thiết về \theta_{ij} thông qua 2 nguồn thông tin:
- Thông tin của ta về tham số trước khi quan sát dữ liệu,
- Thông tin về tham số từ bằng chứng chứa trong dữ liệu đã quan sát.
- Mọi suy luận về \theta_{ij} như khoảng tin cậy đều sẽ được xác định dựa trên xác suất hậu nghiệm của nó.
- Ý nghĩa của khoảng tin cậy Bayes rất trực quan: Xác suất mà giá trị đúng của \theta_{ij} nằm trong khoảng tin cậy này là 95%.
- Tóm lại, phương pháp Bayes cung cấp một phương pháp thống kê rất trực quan:
- Trước khi đi thu thập bằng chứng, ta hãy xác định niềm tin của ta vào các lựa chọn khả dĩ của tham số.
- Sau khi thu thập bằng chứng, ta tiến hành cập nhật lại niềm tin của ta dựa trên bằng chứng đó.
- Cuối cùng là đưa ra kết luận về tham số đó.
Đây chính là điểm hay của Bayes đối với nghiên cứu y học. Trong thực hành lâm sàng, bác sĩ thường không suy nghĩ theo kiểu “nếu lặp lại nghiên cứu vô số lần thì chuyện gì xảy ra”, mà thường suy nghĩ theo kiểu “với dữ liệu tôi đang có, khả năng tham số nằm trong khoảng nào là hợp lý nhất”. Bayes rất phù hợp với kiểu diễn giải đó.
Giả sử rằng ta chưa quan sát Table 1, nghĩa là ta chưa có các giá trị n_{ij}. Ta xác định xác suất tiên nghiệm của \theta_{ij}. Lưu ý \theta_{ij} là xác suất của từng trường hợp, nên ta cũng có thể biểu diễn nó thông qua con số bệnh nhân của từng trường hợp như trong Table 3, ta có các m_{ij} chính là số bệnh nhân ta dự đoán trước khi ta quan sát được bằng chứng.
| \text{Xét nghiệm} |
\text{Bệnh}
|
|
|---|---|---|
| D = 0 | D = 1 | |
| X = 0 | (m_{00}, \theta_{00}) | (m_{01}, \theta_{01}) |
| X = 1 | (m_{10}, \theta_{10}) | (m_{11}, \theta_{11}) |
Cách viết này rất hữu ích cho trực giác. Thay vì xem prior là một đối tượng toán học trừu tượng, ta có thể xem m_{ij} như số bệnh nhân “ảo” hoặc “giả định” mà prior đóng góp trước khi nhìn thấy dữ liệu thật. Chính vì vậy, prior Dirichlet thường được giải thích thông qua pseudo-counts.
5 Tính toán và phân tích
Bây giờ ta chuyển từ phần trực giác sang phần mô hình xác suất cụ thể.
- Ta giả sử n_{ij} là một phân phối đa thức n_{ij} \sim MBin(n, \boldsymbol \theta), trong đó n = \sum_{i,j = 0,1}n_{ij} và \boldsymbol\theta = (\theta_{00}, \theta_{10},\theta_{01}, \theta_{11}).
- Ta cũng giả sử \theta_{ij} là phân phối Dirichlet \theta_{ij} \sim Dirichlet(m_{00}, m_{10}, m_{01}, m_{11})
- Phân bố này có phương sai là V(\theta_{ij}) = \frac{\frac{m_{ij}}{m}\times(1-\frac{m_{ij}}{m})}{m+1}, \quad m = \sum_{i,j = 0,1}m_{ij}
- Vì m_{ij} đại diện cho niềm tin của ta trước khi quan sát bằng chứng, nên để công bằng ta sẽ chọn m_{ij} = 1 cho mọi i,j = 0,1.
- Điều này cho thấy mọi trường hợp đều có số bệnh nhân ngang nhau.
Ở đây cần giải thích thêm. Nếu tất cả m_{ij} bằng nhau thì prior đặt trung tâm tại bốn nhóm cân bằng nhau. Tuy nhiên, không chỉ vị trí trung tâm mới quan trọng, mà mức độ chắc chắn của prior cũng quan trọng. Chính tổng m = \sum m_{ij} điều khiển độ mạnh của prior. Nếu tổng này lớn, prior sẽ rất “cứng”, nghĩa là dữ liệu mới khó thay đổi niềm tin ban đầu.
Câu hỏi đặt ra là tại sao m_{ij} =1 mà không phải là 2, 3, hay thậm chí 100. Nếu tất cả m_{ij} bằng nhau thì đều thể hiện 4 nhóm đều có khả năng xảy ra ngang nhau. Ta hãy xem xét phương sai của \theta_{ij} theo m_{ij}:
Khi m_{ij} tăng thì phương sai của tham số giảm dần, và điều này chứng minh rằng khi số bệnh nhân giả định trước khi có bằng chứng càng nhiều, thì niềm tin hay tính chắc chắn của ta về các nhóm có bệnh nhân ngang nhau là rất cao. Điều này rất nguy hiểm, bởi vì trước khi quan sát dữ liệu ta không nên đặt niềm tin quá cao vào các lựa chọn của tham số. Điều này đồng nghĩa với việc ta nén độ tin cậy của các bằng chứng trong tương lai về 0. Điều này được thực hiện dễ dàng bằng cách điều chỉnh xác suất tiên nghiệm sao cho phương sai của nó vô cùng lớn, nghĩa là độ tin cậy rất bất định.
Đây là một thông điệp rất quan trọng trong Bayesian analysis: prior không chỉ nói “ta tin vào giá trị nào”, mà còn nói “ta tin mạnh tới mức nào”. Vì vậy, lựa chọn m_{ij}=1 trong bài này là một cách hợp lý để dùng prior tương đối yếu và trung lập.
Xác suất hậu nghiệm trong trường hợp này có công thức xác định. Tuy nhiên ta sẽ giả sử nó không có dạng xác định và ta sẽ tính bằng phương pháp sampling trong Stan. Việc làm như vậy có giá trị sư phạm, vì sau này khi mô hình phức tạp hơn, posterior thường không còn có dạng đóng và ta sẽ cần đến MCMC như một công cụ tổng quát.
5.1 Stan code
Nhắc lại:
- Hàm likelihood: p(\{n_{ij}\}_{i,j = 0,1}) = MBin(\boldsymbol\theta; (327, 208, 115, 818)) (từ dữ liệu quan sát được, nghĩa là bằng chứng thực tế)
- Xác suất tiên nghiệm: \boldsymbol\theta \sim Dirichlet(1,1,1,1) (niềm tin trước khi thấy bằng chứng)
Code
stan_code <- "
data {
int<lower=1> K;
array[K] int<lower=0> n;
vector<lower=0>[K] alpha;
}
parameters {
simplex[K] theta;
}
model {
theta ~ dirichlet(alpha);
n ~ multinomial(theta);
}
generated quantities {
real theta00 = theta[1];
real theta01 = theta[2];
real theta10 = theta[3];
real theta11 = theta[4];
real tpf;
real se;
real fpf;
real sp;
real tnf;
real fnf;
real ppv;
real npv;
real pdlr;
real ndlr;
tpf = theta11 / (theta11 + theta01);
se = tpf;
fpf = theta10 / (theta10 + theta00);
sp = 1 - fpf;
tnf = theta00 / (theta00 + theta10);
fnf = theta01 / (theta01 + theta11);
ppv = theta11 / (theta10 + theta11);
npv = theta00 / (theta00 + theta01);
pdlr = tpf / fpf;
ndlr = fnf / tnf;
}
"
mod <- cmdstan_model(write_stan_file(stan_code))
data_stan <- list(
n = c(327, 208, 115, 818),
K= 4,
alpha = c(1, 1, 1, 1) # flat Dirichlet prior
)
fit <- mod$sample(
data = data_stan,
chains = 4,
parallel_chains = 4,
iter_warmup = 4000,
iter_sampling = 1000,
seed = 123,
show_messages = F
)Mean và khoảng tin cậy Bayes của các tham số là:
Code
fit$summary(c("theta00", "theta10", "theta01", "theta11"), mean, hdi)|>
mutate(across(mean:upper, ~round(.,2)))%>%
gt::gt()%>%
gt::tab_spanner(label = "Highest density interval", column = c("lower", "upper"))| variable | mean |
Highest density interval
|
|
|---|---|---|---|
| lower | upper | ||
| theta00 | 0.22 | 0.20 | 0.24 |
| theta10 | 0.08 | 0.07 | 0.09 |
| theta01 | 0.14 | 0.12 | 0.16 |
| theta11 | 0.56 | 0.53 | 0.58 |
Bảng này cho ta posterior mean và khoảng tin cậy Bayes cho bốn xác suất ô của bảng 2×2. Từ đây, ta không chỉ ước lượng từng \theta_{ij} mà còn có thể suy ra các đại lượng lâm sàng có ý nghĩa hơn như TPF, FPF, PPV, NPV hay các likelihood ratios.
Lưu ý rằng sau khi chạy Stan, kếu quả đầu ra là các mẫu hậu nghiệm của các đại lượng quan trọng, ở đây là \theta_{ij}.
5.2 Phân tích
Dựa vào Table 1, TPF và FPF được tính như sau:
\mathrm{TPF}(\theta) = \frac{\theta_{11}}{\theta_{11} + \theta_{01}} = P(X = 1 \mid D = 1),
và
\mathrm{FPF}(\theta) = \frac{\theta_{10}}{\theta_{00} + \theta_{10}} = P(X = 1 \mid D = 0)
Như vậy ta cũng có thể tính toán độ tin cậy của TPF và FPF từ các mẫu hậu nghiệm của các đại lượng này như sau:
Code
fit$summary(c("tpf", "fpf"), mean, hdi)|>
mutate(across(mean:upper, ~round(.,2)))%>%
gt::gt()%>%
gt::tab_spanner(label = "Highest density interval", column = c("lower", "upper"))| variable | mean |
Highest density interval
|
|
|---|---|---|---|
| lower | upper | ||
| tpf | 0.80 | 0.77 | 0.82 |
| fpf | 0.26 | 0.22 | 0.30 |
Cần dừng lại để diễn giải thật cẩn thận cho đúng nghĩa lâm sàng của hai đại lượng này.
- TPF là xác suất xét nghiệm cho kết quả dương tính trong nhóm thật sự có bệnh. Đây chính là độ nhạy của xét nghiệm.
- FPF là xác suất xét nghiệm cho kết quả dương tính trong nhóm thật sự không có bệnh. Đây là xác suất dương tính giả.
Như vậy ta có kết luận sau
- Một người có dương tính thì trung bình khả năng người đó xét nghiệm ra dương tính là khoảng 80%. Xác suất này dao động trong khoảng 77% đến 82% với độ tin cậy lên đến 95%.
- Một người nếu là âm tính thì trung bình khả năng người đó xét nghiệm ra dương tính khoảng 26% dao động từ 22% đến 30%.
Điều quan trọng không chỉ là đọc ra con số, mà là hiểu được Bayesian analysis đã cho ta điều gì. Nó cho ta:
- một điểm ước lượng trung bình của đại lượng quan tâm
- một khoảng bất định có diễn giải xác suất trực tiếp
- một cách kết hợp minh bạch giữa niềm tin ban đầu và bằng chứng từ dữ liệu
Vì vậy, trong những bài toán chẩn đoán y khoa, phương pháp Bayes đặc biệt hấp dẫn vì nó cho phép phát biểu các kết luận theo ngôn ngữ gần với cách mà bác sĩ và nhà nghiên cứu thực sự suy nghĩ.
6 Các thước đo dự đoán khác
Ngoài các xác suất phân loại như TPF và FPF, trong thực hành lâm sàng người ta còn đặc biệt quan tâm đến một nhóm đại lượng khác, gọi là các thước đo dự đoán (predictive measures), bao gồm:
- Giá trị dự đoán dương (PPV - positive predictive value)
- Giá trị dự đoán âm tính (NPV - negative predictive value)
Nếu TPF và FPF trả lời câu hỏi từ góc nhìn của tình trạng bệnh thật sự, thì PPV và NPV trả lời câu hỏi từ góc nhìn của kết quả xét nghiệm. Đây chính là điều làm cho PPV và NPV rất gần với nhu cầu thực tế của bệnh nhân và bác sĩ.
Cụ thể:
- Khi bệnh nhân nhận kết quả dương tính, câu hỏi họ quan tâm nhất là:
“Xác suất thật sự tôi có bệnh là bao nhiêu?” - Khi bệnh nhân nhận kết quả âm tính, câu hỏi họ quan tâm nhất là:
“Xác suất thật sự tôi không có bệnh là bao nhiêu?”
Hai câu hỏi này được trả lời lần lượt bởi PPV và NPV.
Ta định nghĩa:
\mathrm{PPV}(\theta) = \frac{\theta_{11}}{\theta_{10} + \theta_{11}} = P(D = 1 \mid X = 1),
và
\mathrm{NPV}(\theta) = \frac{\theta_{00}}{\theta_{00} + \theta_{01}} = P(D = 0 \mid X = 0).
Ở đây cần nhấn mạnh một điểm rất quan trọng. TPF và FPF là những đại lượng có điều kiện theo tình trạng bệnh thật sự, còn PPV và NPV là những đại lượng có điều kiện theo kết quả xét nghiệm. Chính vì vậy, PPV và NPV phụ thuộc vào tỷ lệ lưu hành bệnh trong quần thể đang được nghiên cứu. Nói cách khác, nếu ta thay đổi quần thể đích, thì PPV và NPV cũng có thể thay đổi theo, ngay cả khi bản thân đặc tính của xét nghiệm không đổi.
Điều này có ý nghĩa thực hành rất lớn. Nếu ta muốn ước lượng PPV và NPV một cách ít sai lệch, thì các bệnh nhân trong nghiên cứu cần được chọn sao cho đủ đại diện cho quần thể mục tiêu. Nếu mẫu nghiên cứu không phản ánh đúng tỷ lệ bệnh trong quần thể đích, thì PPV và NPV ước lượng được có thể không còn phù hợp khi áp dụng ngoài thực tế.
Sau khi chạy Stan, ta đã thu được các mẫu hậu nghiệm của \theta, và từ đó Stan cũng sinh ra luôn các mẫu hậu nghiệm của \mathrm{PPV} và \mathrm{NPV}. Từ các mẫu hậu nghiệm này, ta có thể tính posterior mean và khoảng tin cậy Bayes như sau:
Code
fit$summary(c("ppv", "npv"), mean, hdi)|>
mutate(across(mean:upper, ~round(.,2)))%>%
gt::gt()%>%
gt::tab_spanner(label = "Highest density interval", columns = c("lower", "upper"))| variable | mean |
Highest density interval
|
|
|---|---|---|---|
| lower | upper | ||
| ppv | 0.88 | 0.86 | 0.90 |
| npv | 0.61 | 0.57 | 0.65 |
Bảng này cho ta hai đại lượng có ý nghĩa lâm sàng rất trực tiếp.
- PPV cho biết: trong những người có kết quả xét nghiệm dương tính, xác suất thật sự có bệnh là bao nhiêu.
- NPV cho biết: trong những người có kết quả xét nghiệm âm tính, xác suất thật sự không có bệnh là bao nhiêu.
Về mặt diễn giải, nếu PPV cao, thì khi test dương tính ta có thể khá tin tưởng rằng bệnh nhân thật sự có bệnh. Ngược lại, nếu NPV cao, thì khi test âm tính ta có thể khá yên tâm rằng bệnh nhân thật sự không có bệnh.
Ở đây cần phân biệt thật rõ:
- TPF cao nghĩa là xét nghiệm phát hiện tốt những người có bệnh
- PPV cao nghĩa là khi xét nghiệm cho kết quả dương tính, kết quả đó đáng tin
Đây không phải là cùng một ý. Một xét nghiệm có thể có độ nhạy khá tốt nhưng PPV vẫn không quá cao, đặc biệt khi bệnh hiếm gặp trong quần thể. Tương tự, một xét nghiệm có thể cho NPV cao trong một quần thể có tỷ lệ bệnh thấp, dù bản thân xét nghiệm không hoàn hảo.
Vì vậy, trong giao tiếp lâm sàng, PPV và NPV thường là những đại lượng gần với câu hỏi của bệnh nhân hơn TPF và FPF. Tuy nhiên, chính vì chúng phụ thuộc vào tỷ lệ bệnh nên ta phải rất cẩn thận khi diễn giải và ngoại suy sang quần thể khác.
7 Tỉ số khả năng chẩn đoán
Nhóm đại lượng thứ ba trong bài này là tỉ số khả năng chẩn đoán (diagnostic likelihood ratios), bao gồm:
- Tỷ số khả năng chẩn đoán dương (PDLR)
- Tỷ số khả năng chẩn đoán âm (NDLR)
Các đại lượng này rất quan trọng vì chúng lượng hóa mức độ mà một kết quả xét nghiệm làm thay đổi bằng chứng ủng hộ hay chống lại sự hiện diện của bệnh.
Ta định nghĩa:
\mathrm{PDLR}(\theta) = \frac{P(X = 1 \mid D = 1)}{P(X = 1 \mid D = 0)}
Do đó,
\mathrm{PDLR}(\theta) = \frac{\mathrm{TPF}(\theta)}{\mathrm{FPF}(\theta)}.
Tương tự, với kết quả âm tính, ta có:
\mathrm{NDLR}(\theta) = \frac{P(X = 0 \mid D = 1)}{P(X = 0 \mid D = 0)}.
Nếu ký hiệu:
- \mathrm{FNF}(\theta) = P(X = 0 \mid D = 1) là xác suất âm tính giả
- \mathrm{TNF}(\theta) = P(X = 0 \mid D = 0) là xác suất âm tính thật
thì
\mathrm{NDLR}(\theta) = \frac{\mathrm{FNF}(\theta)}{\mathrm{TNF}(\theta)}.
Đây cũng chính là cách đã được tính trong Stan code của bạn thông qua:
fnf = theta01 / (theta01 + theta11)tnf = theta00 / (theta00 + theta10)ndlr = fnf / tnf
Về trực giác:
- \mathrm{PDLR} càng lớn thì một kết quả dương tính càng nghiêng nhiều về phía người có bệnh hơn so với người không có bệnh
- \mathrm{NDLR} càng nhỏ thì một kết quả âm tính càng ít gặp ở người có bệnh so với người không có bệnh, và do đó càng có giá trị để loại trừ bệnh
Nói ngắn gọn:
- PDLR lớn là tốt
- NDLR nhỏ là tốt
Sau khi chạy Stan, ta cũng đã có các mẫu hậu nghiệm của hai đại lượng này. Từ đó, ta tính posterior mean và khoảng tin cậy Bayes như sau:
Code
fit$summary(c("pdlr", "ndlr"), mean, hdi)|>
mutate(across(mean:upper, ~round(.,2)))%>%
gt::gt()%>%
gt::tab_spanner(label = "Highest density interval", columns = c("lower", "upper"))| variable | mean |
Highest density interval
|
|
|---|---|---|---|
| lower | upper | ||
| pdlr | 3.07 | 2.61 | 3.59 |
| ndlr | 0.28 | 0.24 | 0.31 |
Các tỉ số khả năng chẩn đoán có một cách diễn giải khác với PPV và NPV. PPV và NPV nói về xác suất bệnh sau khi biết kết quả xét nghiệm. Còn PDLR và NDLR nói về mức độ mà kết quả xét nghiệm làm thay đổi bằng chứng.
Cụ thể:
- Nếu \mathrm{PDLR} lớn, thì kết quả dương tính xuất hiện ở người có bệnh nhiều hơn rõ rệt so với người không có bệnh. Khi đó, một kết quả dương tính mang tính thuyết phục hơn.
- Nếu \mathrm{NDLR} nhỏ, thì kết quả âm tính hiếm gặp ở người có bệnh hơn nhiều so với người không có bệnh. Khi đó, một kết quả âm tính có sức nặng hơn trong việc loại trừ bệnh.
Do đó, hai đại lượng này thường được xem như thước đo mức độ “informativeness” của xét nghiệm. Một xét nghiệm càng chính xác thì:
- \mathrm{PDLR} càng lớn
- \mathrm{NDLR} càng nhỏ
Cũng cần lưu ý rằng các likelihood ratios không diễn giải trực tiếp theo kiểu “xác suất bệnh là bao nhiêu”, mà chúng phù hợp hơn với tư duy cập nhật bằng chứng. Vì vậy, trong thực hành, chúng đặc biệt hữu ích khi kết hợp với xác suất trước xét nghiệm để suy ra xác suất sau xét nghiệm.
8 Tổng hợp ý nghĩa của ba nhóm thước đo
Đến đây, ta đã có ba nhóm thước đo độ chính xác xét nghiệm:
- Xác suất phân loại: TPF, FPF
- Các thước đo dự đoán: PPV, NPV
- Tỉ số khả năng chẩn đoán: PDLR, NDLR
Mỗi nhóm trả lời một kiểu câu hỏi khác nhau:
- TPF và FPF cho biết xét nghiệm hành xử như thế nào khi ta đã biết tình trạng bệnh thật sự
- PPV và NPV cho biết kết quả xét nghiệm nói gì về khả năng có bệnh hay không có bệnh của bệnh nhân
- PDLR và NDLR cho biết mức độ mà kết quả xét nghiệm làm tăng hoặc giảm bằng chứng về bệnh
Vì vậy, không nên chỉ nhìn một đại lượng đơn lẻ. Một xét nghiệm được xem là tốt khi:
- TPF cao
- FPF thấp
- PPV cao
- NPV cao
- PDLR lớn
- NDLR nhỏ
Tuy nhiên, mỗi đại lượng nhấn mạnh một khía cạnh khác nhau của chất lượng xét nghiệm. Trong nghiên cứu y học, việc trình bày đồng thời cả ba nhóm đại lượng sẽ cho cái nhìn đầy đủ và cân bằng hơn về hiệu năng chẩn đoán của xét nghiệm.