C, PHP, VB, .NET

Дневникът на Филип Петров


* Изчисляване на прецизност на диагностични тестове за заболяване

Публикувано на 05 май 2020 в раздел Вероятности.

Напоследък е популярна темата за бързите тестове за коронавирус. Някои хора казват, че трябва да се тества масово, а други казват, че няма смисъл. Без да взимам конкретно отношение по това дали трябва или не трябва, тук ще представя един математически модел, с който може да се изчисли т.нар. „прецизност на диагностични тестове“.

Прецизността най-просто казано е „доколко можем да им вярваме“. Тя зависи от няколко параметъра. Ще представя всичко освен с формули и с нагледен пример. Приемаме, че:

  1. Популацията [mathi]p = 7 000 000[/mathi]
  2. Реален брой заразени е 2%, т.е. [mathi]i = 140 000[/mathi]
  3. Реален брой здрави ще е 98%, т.е. [mathi]h = 6 860 000[/mathi]
  4. Нека тестът има чувствителност [mathi]c = 80\%[/mathi]
  5. Нека тестът има специфичност [mathi]s = 99\%[/mathi]

Мисля, че първите три са ясни. По т.1 е общия брой хора, т.2 са реално заразените (обикновено това е нещо, което не знаем, а само предполагаме), т.3 са реално здравите хора (общия брой хора минус броя на реално заразените). Защо акцентирам на думата „реално“? Защото тестовете не са точни – с тях се допуска известно количество грешки. Тези грешки се измерват чрез стойностите по т.4 и т.5. Те изискват допълнително обяснение. Нека първо дефинираме следните понятия:

  • Вярно позитивен (tp) ще е човек, който е реално болен, а теста е показал, че е болен.
  • Фалшиво позитивен (fp) ще е човек, който е реално здрав, а теста е показал, че е болен.
  • Вярно негативен (tn) ще е човек, който е реално здрав, а теста е показал, че здрав.
  • Фалшиво негативен (fn) ще е човек, който е реално болен, а теста е показал, че е здрав.

В крайна сметка чувствителността на теста ще се изчислява по формулата:

[math]c = 100 \frac{tp}{tp+fn}[/math]

А специфичността на теста ще се изчислява по формулата:

[math]s = 100 \frac{tn}{fp + tn}[/math]

Умножено е по 100, за да се получат проценти. Всеки тест, който излезне на пазара, има горе долу точно изчислени такива параметри – изчислявани са по време на лабораторните тестове преди производството на тестовете чрез проверки върху тестови популации. Щe забележите, че чувствителността е процента на вярно позитивните спрямо общия брой реално болни хора, а специфичността е процента на вярно негативните спрямо общия брой реално здрави хора. Това идва от факта, че:

[math]i = tp + fn[/math]

[math]h = fp + tn[/math]

От дадените резултати в т.1-5 и показаните формули, може сравнително лесно по обратен ред да се пресметнат всички споменати по-горе числа. От примера те са:

[math]tp = 112 000[/math]

[math]fp = 68 600[/math]

[math]tn = 6 791 400[/math]

[math]fn = 28 000[/math]

И сега колуминацията. Интересуваме се най-вече от т.нар. позитивна прогнозна стойност (PPV) или познато още като прецизност на теста за позитивните резултати. Има разбира се също и негативна прогнозна стойност (NPV). Формулите, по които се смятат, са:

[math]PPV = 100 \frac{tp}{tp + fp}[/math]

[math]NPV = 100 \frac{tn}{tn + fn}[/math]

Пак умножаваме по 100, за да ги видим като проценти. Тези проценти ни казват в общи линии какво да очакваме от проведения тест. Ако получим позитивен резултат, каква е вероятността той да е верен (PPV)? Или ако получим негативен резултат, каква е вероятността той да е верен (NPV)? Тези вероятности, както се видя, зависят от процента на хората, които са реално заразени. Поради тази причина те са условна вероятност (в зависимост от това колко хора реално са се заразили, прецизността на тестовете се променя).

Е, време е за резултати от нашия пример. При дадените в т.1-5 стойности, те са:

[math]PPV = 62,0\%[/math]

[math]NPV = 99,6\%[/math]

Тоест ако приемем, че 2% от населението са болни и ги тестваме с въпросните бързи тестове, които имат посочените стойности на чувствителност и специфичност, то ако ни тестват и се получи позитивно, вероятността да е вярно е… само 62%. Колкото по-малко са реално заразените, толкова по-лошо става – при под 1,23% заразено население наистина ще е по-добре да хвърляте монета, отколкото да вярвате на позитивен резултат от такъв тест. Обратно – колкото повече са реално заразените, толкова по-прецизен ще е позитивния тест. Например при 10% заразено население при дадените примерни начални данни, PPV вече ще гони 90%. За коефициентът NPV важи същото нещо, но наопаки.

Много важна при нисък брой реално болни е стойността на специфичността на теста. Дори малки увеличения нагоре повишават прецизността на теста значително. В крайна сметка се надявам, че усетихте за какво става дума – колкото по-добър е теста, толкова по-точно мери реалната обстановка. Логично, нали?

Сега колко точно чувствителни и специфични са бързите тестове, които се продават реално на пазара – ами различно при различните производители. Тук коментирам само математиката. Примерът ми е измислен. Взаимствал съм написаното от тук: https://online.stat.psu.edu/stat507/node/71/. Каква е чувствителността, специфичността и колко е реалният брой заразени в България – това не знам и не коментирам!

Накрая предоставям ви електронна таблица за Microsoft Excel, с която можете да си поиграете с различни сметки.

 



Добави коментар

Адресът на електронната поща няма да се публикува


*