Các lượt nộp
    Danh sách bài
    Trang chủ
    Báo lỗi

    solution

    Đề bài: [Xác suất - Thống kê] Cập nhật Bayes tuần tự với nhiều bằng chứng

    Một bệnh nhân có xác suất tiên nghiệm mắc bệnh DDD là p=P(D)p = P(D)p=P(D). Bệnh nhân lần lượt thực hiện nnn xét nghiệm độc lập (có thể là các loại xét nghiệm khác nhau, với độ nhạy/độ đặc hiệu khác nhau). Xét nghiệm thứ kkk có:

    • độ nhạy (sensitivity) sensk=P(Dương tıˊnhk∣D)sens_k = P(\text{Dương tính}_k \mid D)sensk​=P(Dương tıˊnhk​∣D);
    • độ đặc hiệu (specificity) speck=P(Aˆm tıˊnhk∣¬D)spec_k = P(\text{Âm tính}_k \mid \neg D)speck​=P(Aˆm tıˊnhk​∣¬D);
    • kết quả quan sát được resultk∈{0,1}result_k \in \{0, 1\}resultk​∈{0,1} (111 = dương tính, 000 = âm tính).

    Giả sử kết quả các xét nghiệm độc lập có điều kiện với nhau khi biết tình trạng bệnh (conditional independence). Hãy áp dụng quy tắc Bayes tuần tự: sau mỗi xét nghiệm, xác suất hậu nghiệm của bước trước trở thành xác suất tiên nghiệm của bước sau, theo công thức cập nhật

    P(D∣ba˘ˋng chứng đeˆˊn bước k)=P(D∣đeˆˊn bước k−1)⋅LkP(D∣đeˆˊn bước k−1)⋅Lk+(1−P(D∣đeˆˊn bước k−1))⋅Lk′P(D \mid \text{bằng chứng đến bước } k) = \frac{P(D \mid \text{đến bước } k-1) \cdot L_k}{P(D \mid \text{đến bước } k-1) \cdot L_k + \big(1 - P(D \mid \text{đến bước } k-1)\big) \cdot L'_k}P(D∣ba˘ˋng chứng đeˆˊn bước k)=P(D∣đeˆˊn bước k−1)⋅Lk​+(1−P(D∣đeˆˊn bước k−1))⋅Lk′​P(D∣đeˆˊn bước k−1)⋅Lk​​

    trong đó nếu resultk=1result_k = 1resultk​=1 thì Lk=sensk, Lk′=1−speckL_k = sens_k,\ L'_k = 1 - spec_kLk​=sensk​, Lk′​=1−speck​; nếu resultk=0result_k = 0resultk​=0 thì Lk=1−sensk, Lk′=speckL_k = 1 - sens_k,\ L'_k = spec_kLk​=1−sensk​, Lk′​=speck​.

    Quy ước: nếu p=0p = 0p=0, đầu ra luôn là 000 (không có bằng chứng nào làm thay đổi được); nếu p=1p = 1p=1, đầu ra luôn là 111. Nếu n=0n = 0n=0 (không có xét nghiệm nào) thì kết quả chính là ppp.

    Ví dụ: p=0.5p = 0.5p=0.5, không có xét nghiệm nào (n=0n=0n=0) thì đầu ra là 0.5000000.5000000.500000.

    • Định dạng đầu vào:

      Dòng đầu tiên chứa số thực ppp và số nguyên nnn (0≤p≤10 \le p \le 10≤p≤1, 0≤n≤10000 \le n \le 10000≤n≤1000), cách nhau bởi khoảng trắng.

      nnn dòng tiếp theo, mỗi dòng chứa sensk speck resultksens_k\ spec_k\ result_ksensk​ speck​ resultk​, trong đó sensk,specksens_k, spec_ksensk​,speck​ là số thực với 0<sensk<10 < sens_k < 10<sensk​<1, 0<speck<10 < spec_k < 10<speck​<1, và resultk∈{0,1}result_k \in \{0, 1\}resultk​∈{0,1}.

    • Định dạng đầu ra:

      In ra một số thực duy nhất — xác suất hậu nghiệm cuối cùng P(D∣taˆˊt cả ba˘ˋng chứng)P(D \mid \text{tất cả bằng chứng})P(D∣taˆˊt cả ba˘ˋng chứng), làm tròn tới đúng 6 chữ số thập phân.

    Ví dụ:

    Đầu vào:

    0.5 0
    

    Đầu ra:

    0.500000
    

    Đầu vào:

    0.1 3
    0.9 0.9 1
    0.8 0.95 0
    0.95 0.8 1
    

    Đầu ra:

    0.500000
    

    Đang tải editor...