醫學檢測中的正常值是怎麼來的?_風聞
老败-面壁十年图破壁,难酬蹈海亦英雄。2018-05-12 08:16
醫學檢測中的正常值是怎麼來的?
**-**應該如何看待體檢報告中的輕微異常值?
去醫院看病或常規體檢,你總會拿到一堆“化驗”結果。其內容少則十幾項,多則幾十甚至上百項。每個項目後面都會標明一個正常值(或正常值範圍),再標明你的檢測值。如果檢測值高於或低於正常範圍,就會在後面出現一個向上或向下的小箭頭以提示異常。一旦在檢測報告中出現了小箭頭。心裏難免惴惴不安,完啦!俺這是得了神馬病啦?!
如果檢測值超出正常值範圍幾倍甚至更多,嚴肅對待是必須滴,趕緊拿着檢測報告找醫生去尋求對策。但很多時候,檢測結果僅僅超出正常範圍一點點。比如,空腹血糖的正常值上限是6.1。如果檢測結果是6.2,那就是得了糖尿病麼?又比如一項叫CEA的檢測指標,説出中文名字來就嚇人了: 癌胚抗原。確實,這個指標是輔助診斷直腸癌的,正常值上限是5,如果檢測值是5.1,後面就會出現個向上的小箭頭,那就意味着得了直腸癌麼?從我們的生活常識來看,這是非常可疑的。我們都用尺子量過東西,測量結果是5釐米還是5.1釐米,一毫米之差,那不就是一哆嗦的事麼!雖然醫學檢測用的是比普通尺子精密得多的高大上儀器,但它就能那麼神,這一點點差異就説是癌症?!不敢相信啊!
確實,這一懷疑是有道理的。常識經常藴含着最基本的道理,更高級的道理是其延伸而不是對基本道理的否定。可是,醫生規定這個數值作為正常值上限必然是有他的道理啊!咱們就敢憑着一點生活常識對檢測報告裏的小箭頭視而不見麼?這個的確是一個令人糾結的問題。所以,老敗認為有必要做點科普,給大家講講醫學檢測中的正常值是怎麼確定下來的。瞭解了這個道理,我們就可以對這個糾結的問題有一個理性的應對。
醫學檢測正常值當然要經過大量繁複的工作才能確定下來。可其中的基本道理,主要是概率統計相關的道理,仍然沒有超出我們的常識。老敗在解釋中的推理過程可能會感覺有點繞。但只要耐心一點認真看,受過9年義務教育以上的讀者應該不難理解。
咱們首先來看一下,如果醫生們感覺某項檢測有作為某一疾病診斷指標的潛能,他們下一步會怎樣做?其實,解決這個問題的方法就在我們的常識之內:找個病人來,再找個健康人來,分別對他們的這項指標進行檢測。如果結果一個高,一個低,有差異,那我們以後就可以憑藉這個差異來診斷一個人是否得了這種病,就這麼簡單。但是,只測一個病人和一個健康人夠麼?顯然不夠。咱們至少得各測它幾十個人來看一下吧?好,咱們看看各測它幾十個人會得到什麼樣的結果。

上圖是老敗從一篇文獻中借來的,是對34個健康人和38個病人的某項檢測指標的對比結果。座標系中的每個小圓圈代表着一個人。粗線圈代表病人,細線圈代表健康人。小圓圈所對應的縱座標數值是這個人的檢測值。從這個結果圖我們可以一目瞭然地看出,病人的檢測值整體(平均值)來説高於健康人。但個體之間的對比就不一定了。也有不少健康人高於病人的現象出現。這可怎麼辦?!放棄這項檢測作為診斷指標?還是退而求其次,將這些數據做些統計處理後總結出一個相對可靠的標準(即所謂“正常值”, 術語叫閾值),然後用這個標準來衡量一個人是否患病的可能性?
須知這個世界從來就不是黑白兩分的,個體之間的差異和多樣性是生物體普遍存在的現象。能夠把病人與健康人做截然區分的檢測指標少之又少。絕大多數檢測都會得出與上圖中類似的結果。我們多數情況下只好接受現實,從這些實驗數據中總結出一個相對而言最靠譜的閾值,儘量利用 “不完美”的檢測幫助我們診斷疾病。
首先來明確幾個概念。如果有一人生了病,我們的檢測結果也説他有病,這個結果我們叫它真陽性。在對一羣病人進行檢測之後,真陽性的數目除以全體被測病人的數目就叫做真陽性率。真陽性率也稱作靈敏度。顯然,靈敏度越高越好。最高是100%,那最好,但現實中幾乎不可能,對吧?
如果一個健康人,我們的檢測結果卻説他有病,這個結果我們叫它假陽性。在對一羣健康人進行檢測之後,假陽性的數目除以全體被測健康人的數目就叫做假陽性率。顯然,假陽性率越低越好。最低是0%,那最好,但現實中幾乎也不可能,對吧?
那麼,我們現在面對的命題是什麼?以上圖中的數據為例,34個健康人的檢測值在0 到968之間。38個病人的檢測值在165到2590之間。我們該選哪個數值作為診斷閾值呢?咱們可以這樣想,假設在0到2590之間隨便挑一個數作為診斷閾值來衡量這總計72個檢測結果,就可以計算出一個相應的真陽性率(靈敏度)和一個假陽性率。如果閾值選得低一點,靈敏度就會比較高(咱們喜歡),但同時假陽性率也高(咱們不喜歡)。如果閾值選得比較高,假陽性率可以降下來(咱們喜歡),但靈敏度也會降下來(咱們不喜歡)。顯然,咱們面臨着一個兩難抉擇。那麼咱們的最佳方案就是,找到一個平衡點作為閾值,以使我們的檢測能夠得到儘量高的的敏感度和儘量低的假陽性率。
怎麼找到這個平衡點呢?咱們可以做個圖: 以假陽性率為橫座標,以靈敏度為縱座標,然後在0和2590之間多挑幾個數(候選閾值)分別測算它們相應的假陽性率和靈敏度。這些數據可以在座標系裏形成很多點。把這些點連起來,得到一條曲線,就象是這個樣子:

上圖是老敗從同一篇文獻裏借來的。這個曲線(粗黑實線)叫做ROC曲線。咱們沒有必要知道這個ROC的英文和中文全名,反正那名字看着也是莫名其妙的,無助於理解和記憶。並且,大家平時就是叫它 “啊嘔噻曲線”,沒人叫它那冗長拗口的全名。
這個圖可以告訴我們許多有用的信息。首先來看一下它的對角線。對角線上所有的點都意味着靈敏度(真陽性率)和假陽性率相同。用投硬幣的方法隨便猜就是這個效果,用作診斷方法毫無意義。對角線下以下的部分假陽性率比真陽性率還高,更是沒用。這個圖裏的左上角是個好地方。那兒意味着檢測靈敏度接近100%而假陽性率非常低。ROC曲線上離對角線垂直距離最長的點就是我們要找的平衡點。在這個例子中,當選取這個點所對應的檢測值為診斷閾值時,所能得到的靈敏度大約是百分之八十。同時,假陽性率大約為百分之五十多。這就是這種檢測方法所能達到的最佳水平!
在現實中,因為檢測靈敏度低,把一個病人診斷為健康人叫漏診。因為假陽性率高,把一個健康人診斷為病人叫誤診。對某一種特定的疾病或臨牀狀況而言,漏診和誤診後果的嚴重程度可能是不相同的。因此在選擇診斷閾值時經常會以放棄一個方向為代價去追求另一個方向的高性能。還以老敗借用的這篇文獻為例,其作者最後推薦的檢測閾值是841。在這個閾值下靈敏度為百分之四十二,而假陽性率則可以低至百分之六。
瞭解了醫學檢測正常值的確定過程,咱們就可以對本文初始提到的糾結問題:該怎麼看待體檢報告中的輕微異常項目,做一個理性的應對了。
首先,咱們可以對這個項目再做一次檢測。醫學檢驗雖然用的都是高大上儀器,但所有檢測都會有波動,其來源可能是人為失誤,儀器性能,檢測試劑的穩定性等等不一而足。重做一次檢測,最好到另一家醫院去重做這個檢測,基本就能看出這種輕微差異是否是隨機誤差導致的。
然後,咱們現在知道了,因為人的個體差異,沒有哪個診斷項目可以做到百分之百的靈敏度,百分之百地避免假陽性。換句話説,自己可能恰巧就是那百分之幾的天生在這項指標上偏離平均值的健康人。如何確定這一點呢?需要按順序做下面三件事:
1.結合臨牀。這是在各類檢測報告(X光,CT……)中經常見到的用語。其含義就是看看有啥相關的臨牀症狀沒有再做判斷。疾病是會導致症狀的,如果出現了與該檢測指標相關疾病的症狀,當然要高度警惕,做進一步診治。
2.與其它檢測指標和診斷方法相印證。正是因為沒有哪個診斷項目可以做到百分之百的靈敏度,百分之百地避免假陽性。醫生們發展了各種不同特性的檢測和診斷方法互為補充,相互佐證,這就是檢查項目密密麻麻,如此眾多的原因。現在不少患者抱怨醫生亂開檢查項目騙錢。老敗固然不敢否認有這種現象存在的可能,但還是奉勸大家相信醫生。必要與不必要,畢竟只有醫生才理解其中的邏輯關係。
3.動態觀察。如果既沒有相關臨牀症狀,也沒有其它檢測和檢查結果相佐證,就是孤零零的某一項指標反覆檢測總是輕微偏離正常值。那應該説基本問題不大。不少人從小就血壓偏低或偏高,但他沒啥不對頭,就是健康人一個。如果是這輩子頭一次做這種檢測,沒有歷史數據,就需要在持續關注是否出現相關臨牀症狀的同時,過一段時間再重複檢測。如果指標就是這麼持續稍高,而沒有任何臨牀症狀出現,那你很可能就是那離羣的少人數之一。但如果某天該指標突然大幅躥升,並伴有臨牀症狀出現,那就必須積極診治啦。
老敗2015年2月於江蘇泰州