Bayesova veta: vyhodnocovanie medicínskych testov

Metódy riešenia úloh z pravdepodobnosti a štatistiky

Choroby a testy

  • U pacienta máme podozrenie na tri choroby (A, B, C), na začiatku dávame každej rovnakú pravdepodobnosť.

  • Máme možnosť robiť testy. Pre každý z nich je známa pravdepodobnosť, s akou bude pozitívny v prípade, že pacient má danú chorobu.

          test 1 test 2 test 3 test 4 test 5 test 6 test 7 test 8
choroba A    0.3    0.2    0.5    0.7    0.4    0.8    0.1    0.6
choroba B    0.7    0.3    0.9    0.8    0.2    0.4    0.9    0.5
choroba C    0.6    0.8    0.4    0.2    0.6    0.7    0.5    0.1

Naprogramované funkcie:

NovyPacient()
Test(5) # spravit zadany test, vysledok 0 = negativny, 1 = pozitivny
Tabulka()
Graf()
SkutocnaChoroba()

Ako vznikli nasledovné pravdepodobnosti?

set.seed(123)
NovyPacient()
Test(2)
[1] 1
Tabulka()
 test vysledok pravdepodobnost A pravdepodobnost B pravdepodobnost C
                       0.3333333         0.3333333         0.3333333
    2        1         0.1538462         0.2307692         0.6153846

Na pripomenutie:

          test 1 test 2 test 3 test 4 test 5 test 6 test 7 test 8
choroba A    0.3    0.2    0.5    0.7    0.4    0.8    0.1    0.6
choroba B    0.7    0.3    0.9    0.8    0.2    0.4    0.9    0.5
choroba C    0.6    0.8    0.4    0.2    0.6    0.7    0.5    0.1

Ako čo najefektívnejšie pokračovať?

set.seed(4)
NovyPacient()
for(i in 1:8) Test(i)
[1] 1
[1] 1
[1] 0
[1] 1
[1] 1
[1] 0
[1] 1
[1] 1
Tabulka()
 test vysledok pravdepodobnost A pravdepodobnost B pravdepodobnost C
                      0.33333333        0.33333333         0.3333333
    1        1        0.18750000        0.43750000         0.3750000
    2        1        0.08000000        0.28000000         0.6400000
    3        0        0.08849558        0.06194690         0.8495575
    4        1        0.22012579        0.17610063         0.6037736
    5        1        0.18134715        0.07253886         0.7461140
    6        0        0.11945392        0.14334471         0.7372014
    7        1        0.02344273        0.25318151         0.7233758
    8        1        0.06603774        0.59433962         0.3396226

Ako voliť testy postupne od začiatku, v závislosti od výsledkov predchádzajúcich?

set.seed(4)
NovyPacient()