淡淡鄉愁

本博客文章除非注明轉貼(ZT)之外的,版權均為作者所有。若要轉載,請通知博主。
正文

江湖囈語——理解新冠病毒的測試結果(Sensitivity, Specificity, and Testing)

(2020-10-04 13:40:35) 下一個

上周五,川普總統也染上了新冠。除去政治的考量和爭鬥,讓我們從數學上來看看化驗的準確性和重複化驗的重要性。

病毒化驗與靈敏度、確定性兩個指標及人群中感染病毒的比例有關。對新冠而言用簡單的重複測試是最佳確診方法。

一. 病毒化驗的精確性

醫學上對病毒的化驗都很相似,其結果就是病人是否帶病毒。最近,俄亥俄州長麥克·德文(Mike DeWine)的新冠病毒化驗就是一個很簡單,但很有意思的例子。化驗就是要回答被測者是否帶病毒這個簡單問題。德文州長第一次化驗結果是陽性,第二次是陰性,第三次也是陰性。從這些結果來看,化驗肯定存在問題。

怎樣確定化驗的精確性?有兩個常用的指標:靈敏度和確定性。靈敏度說的是帶病毒的可能性;確定性是不帶病毒的可能性。下麵是嚴格的定義:

靈敏度:病毒攜帶者人群中化驗結果為陽性的百分比。靈敏度高的含義是被測人群中病毒攜帶者很多。這是最重要的化驗指標。比如,西班牙的健康部門把一個公司的化驗結果全部打了回去,因為其化驗靈敏度僅為30%,也就是說70%的病毒攜帶者漏網了。

確定性:非病毒攜帶者人群中化驗結果為陰性的百分比。確定性高的含義被測人群中病毒攜帶者很少。

目前的化驗中,高靈敏度很重要,因為假陰性是人群中重要的傳染源。確定性就沒那麽重要了,因為假陽性沒有傳染性,當然了化驗結果對當事人來說也很不幸。

靈敏度和確定性是兩個獨立變量,而且互補。新冠的化驗有兩種,一是化驗是否感染了病毒,一是化驗是否攜帶病毒抗體。病毒抗體陽性不能說明是否當前正感染病毒,但能說明被化驗者曾經感染過病毒。

目前的病毒化驗中,有兩種不同的方法。一是PCR化驗,它直接化驗人體中新冠病毒的基因片段;另一方法是化驗病毒的蛋白組分,即間接化驗人體對病毒的免疫反應產生的蛋白組分。前一化驗比後一化驗精確,後一化驗很快,隻需幾分鍾而不是幾天。兩種化驗都不能保證結果的百分之百精確。

德文州長第一次化驗,用的是蛋白組分法,後兩次是PCR。三次化驗的采樣方式同樣。蛋白組分法的靈敏度是80%,後來該方法的靈敏度提高到了97%,與PCR化驗幾乎一相同。PCR化驗的靈敏度從一開始就聲稱為100%了。

. 化驗結果的分析

靈敏度和確定性的有何意義?德文州長的化驗結果陽性,他感染病毒概率是多少呢?

假定對1000個美國人進行隨機化驗,其陽性並感染病毒的概率是整體人群感染水平的函數,我們隻能對整體人群感染水平進行合理假設。和很多其他事情一樣,我們不知道新冠的整體人群感染水平。這一整體人群感染水平可能從1%到15%。我們的計算基於不同的整體人群感染水平。

  1. 德文州長的情況是,靈敏度97%,確定性100%,整體人群感染水平為5%。
    • 在1000個人的樣本中,有50人感染病毒。
    • 染病人群的化驗結果為50×%97 = 48人陽性,有2人假陰性。
    • 未染病人群的化驗結果為1000×(100%-5%)× 100% = 950人。結論是,用前述的靈敏度和確定性來估算,1000人中,48人陽性,952人陰性。

上述計算結果是未感染病毒的人群中100%陰性,0%陽性,後來被證明為未感染病毒的德文州長第一次化驗結果為陽性,這又怎麽解釋呢?原來靈敏度和確定性都是理論上的定義,隻在理想情況下適用。靈敏度和確定性在文獻中經常被稱為臨床數據,也就是在可控環境下的實驗數據,這樣的數據在真實世界中並不可能100%準確。采樣的誤差最大。但是,人們還是很難想象對一個完全沒有症狀又未感染病毒的人進行化驗的結果會是陽性。這就是墨菲定律(Murphy’s Law)起作用的時候了,誤差總會降低化驗的可信度。

  1. 假定靈敏度和確定性為90%和95%,整體人群感染水平5%,再來算一遍:
    • 以靈敏度90%來計算,化驗結果為:1000×5%×90% = 45人陽性,即化驗結果為45人感染病毒,5人為假陰性。
    • 以確定性為95%來計算,化驗結果為:1000×(100%-5%)× 95% = 902人為陰性,即化驗結果為902人未感染病毒,48人為假陽性。
    • 最終結論是,1000個被化驗人群中有45 + 48 = 93人為陽性。
    • 這1000人的化驗中,45人是真陽性,48人假陽性,其化驗陽性的感染病毒概率為45/93 = 49%。
  1. 假定靈敏度和確定性為90%和95%,整體人群感染水平1%,再算一遍:
    • 以靈敏度90%來計算,化驗結果為:1000×1%×90% = 9人陽性,即化驗結果為9人感染病毒,1人為假陰性。
    • 以確定性為95%來計算,化驗結果為:1000×(100%-1%)× 95% = 941人為陰性,即化驗結果為941人未感染病毒,49人為假陽性。
    • 最終結論是,1000個被化驗人群中有9 + 49 = 58人為陽性。
    • 這1000人的化驗中,9人是真陽性,49人假陽性,其化驗陽性的感染病毒概率為9/58 = 15%。
  1. 假定靈敏度和確定性為90%和95%,整體人群感染水平20%,再算一遍:
    • 以靈敏度90%來計算,化驗結果為:1000×20%×90% = 180人陽性,即化驗結果為180人感染病毒,20人為假陰性。
    • 以確定性為95%來計算,化驗結果為:1000×(100%-20%)× 95% = 760人為陰性,即化驗結果為760人未感染病毒,40人為假陽性。
    • 最終結論是,1000個被化驗人群中有40 + 180 = 220人為陽性。
    • 這1000人的化驗中,180人是真陽性,40人假陽性,其化驗的感染病毒概率為180/220 = 82%。
  1. 來看一個一般情況:假定靈敏度和確定性為a(0 <= a <=1)和b,整體人群人數為N感染人數為P:
    • aP:化驗後的陽性人數。
    • (1-a)P:化驗後的假陰性人數。
    • N–P:未感染病毒人數。
    • b(N-P):化驗後的陰性人數。
    • (1–b)(N-P):化驗後的假陽性人數。
    • 化驗後總的陽性人數為:aP + (1–b)(N-P),其中部分是真陽性。於是,化驗陽性的感染病毒概率為

?

  • 整體人群的感染病毒水平為p = P/N,q = (N-P)/N為人群中未感染病毒的百分比,於是,上述公式可以改寫為:

這個公式的好處是,在給定的靈敏度和確定性下能畫出化驗者感染病毒概率與整體人群感染水平關係的曲線:

好的病毒檢測就是化驗結果接近真實情況,也就是化驗陽性的感染病毒概率接近於1。上圖說明了在整體人群感染水平很低的情況下,化驗結果不好。

人群中化驗後假陰性的概率為:

畫成曲線如下:

好的病毒檢測是假陰性越少越好。上麵兩條曲線說明了靈敏度和確定性的互補關係。

. 重複化驗

就像德文州長那樣,重複化驗的情況又如何呢?

和上麵的假設一樣:假定靈敏度和確定性為a和b,整體人群感染水平為p,未感染水平為q = 1-p。

化驗將人群分為兩組:化驗陽性與化驗陰性。化驗並不是完全準確的,於是每組又可以細分為{感染:未感染}。化驗陽性組的細分為{ap:(1-b)q},相應的化驗陰性的細分為{(1-a)p:bq}。

第一次化驗將整體人群分為兩組,每組又可細分為感染與未感染兩組,於是,第一化驗為陽性組的新的p和q值為:

相應的第一化驗為陰性組的新的p和q值為:

現在再來看看德文州長的化驗情況,第一次化驗的靈敏度和確定性為a = 0.90 和b = 0.95,人群感染率為p = 0.05。德文州長在化驗陽性的人群中的病毒感染概率為0.49,非常不準。再對德文州長進行一次化驗會怎樣呢?假定這次化驗的靈敏度和確定性為a = 0.80 和b = 0.99,新的結果為0.16,還是不好。在化驗一次呢,這一結果為0.037;再來一次,這一結果就成了0.008。這就很好了看來德文州長的確沒有感染上病毒。

. 估算感染人數

化驗可以把整體人群分為兩類,感染病毒的和未感染的。化驗的另一個用處是知道人群中感染病毒的百分比。這很重要,因為有很多人感染力新冠病毒但沒有症狀,這隻能通過化驗才知道。

在上麵的例子中,N = 1000, a = 0.90, b = 0.95,加假設P = 150人感染病毒。第一次化驗結果陽性177人,第二次的陽性為123人,第三次的陽性為109人。這些數據有什麽用呢?化驗陽性的人中,有真陽性和假陽性,但是很明顯真陽性的人數隨著重複化驗的進行而遞減,遞減率為a。第一次化驗後,其比例為a=0.9;第二次化驗後,這一比例為0.9×0.9=0.81;第三次為0.9×0.9×0.9=0.729。對最初人群中的真實陽性人數的估值為化驗後陽性人數除以這一比例。

P為人群中的感染病毒人數,N+為化驗陽性的人數,上麵的公式說明當多次化驗後,其結果N+/r趨近於人群中的感染病毒人數。把上述結果列為下表:

很明顯,三次化驗後,對整體人群中的感染者估值就已經是100%了。

. 資訊來源

個人以為YouTube上的MEDCram是最好的資訊來源,這是鏈接.其中的59期講了一線醫生的防護,99期講了重複測試的重要性。

[ 打印 ]
閱讀 ()評論 (0)
評論
博主已隱藏評論
博主已關閉評論