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ự qua nhiều vòng kiểm định

    Một sản phẩm có xác suất tiên nghiệm bị lỗi là p0p_0p0​. Sản phẩm được đưa qua kkk vòng kiểm định độc lập liên tiếp. Ở vòng thứ iii, phép kiểm định có độ nhạy (sensitivity) sei=P(dương tıˊnh∣loˆ˜i)se_i = P(\text{dương tính} \mid \text{lỗi})sei​=P(dương tıˊnh∣loˆ˜i) và độ đặc hiệu (specificity) spi=P(aˆm tıˊnh∣khoˆng loˆ˜i)sp_i = P(\text{âm tính}\mid \text{không lỗi})spi​=P(aˆm tıˊnh∣khoˆng loˆ˜i). Kết quả quan sát được ở vòng iii là ri∈{0,1}r_i \in \{0,1\}ri​∈{0,1} (111 = dương tính, 000 = âm tính).

    Sau mỗi vòng, xác suất hậu nghiệm sản phẩm bị lỗi được tính bằng công thức Bayes, sử dụng hậu nghiệm của vòng trước làm tiên nghiệm cho vòng sau:

    • Nếu ri=1r_i = 1ri​=1: pi=sei⋅pi−1sei⋅pi−1+(1−spi)(1−pi−1)p_i = \dfrac{se_i \cdot p_{i-1}}{se_i \cdot p_{i-1} + (1-sp_i)(1-p_{i-1})}pi​=sei​⋅pi−1​+(1−spi​)(1−pi−1​)sei​⋅pi−1​​
    • Nếu ri=0r_i = 0ri​=0: pi=(1−sei)⋅pi−1(1−sei)⋅pi−1+spi(1−pi−1)p_i = \dfrac{(1-se_i)\cdot p_{i-1}}{(1-se_i)\cdot p_{i-1} + sp_i (1-p_{i-1})}pi​=(1−sei​)⋅pi−1​+spi​(1−pi−1​)(1−sei​)⋅pi−1​​

    Hãy tính xác suất hậu nghiệm cuối cùng pkp_kpk​ sau khi xét hết kkk vòng. Nếu tại vòng nào đó mẫu số bằng 0 (kết quả quan sát được là bất khả thi theo mô hình), in UNDEFINED.

    Ví dụ: p0=0.01p_0=0.01p0​=0.01, k=1k=1k=1, vòng 1: se=0.99se=0.99se=0.99, sp=0.99sp=0.99sp=0.99, kết quả dương tính (r=1r=1r=1). Ta có p1=0.99×0.010.99×0.01+0.01×0.99=0.5p_1 = \dfrac{0.99\times 0.01}{0.99\times0.01+0.01\times0.99} = 0.5p1​=0.99×0.01+0.01×0.990.99×0.01​=0.5.

    • Định dạng đầu vào:
      • Dòng 1: số thực p0p_0p0​ (0≤p0≤10 \le p_0 \le 10≤p0​≤1).
      • Dòng 2: số nguyên kkk (0≤k≤10000 \le k \le 10000≤k≤1000).
      • kkk dòng tiếp theo, mỗi dòng gồm ba giá trị se sp r với se,sp∈[0,1]se, sp \in [0,1]se,sp∈[0,1] (số thực) và r∈{0,1}r \in \{0,1\}r∈{0,1} (số nguyên).
    • Định dạng đầu ra:

      In ra một dòng duy nhất: xác suất hậu nghiệm cuối cùng làm tròn 6 chữ số thập phân (%.6f), hoặc UNDEFINED.

    Ví dụ:

    Đầu vào:

    0.01
    1
    0.99 0.99 1

    Đầu ra:

    0.500000
    

    Đầu vào:

    0.5
    0

    Đầu ra:

    0.500000
    

    Đang tải editor...