決策曲線分析(Decision Curve Analysis, DCA)適用於判斷一個預測模型在不同的機率閾值(Probability threshold, pt)下,施予介入的淨效益(Net Benefit)大小。

在我們探討DCA的過程中,機率閾值(pt)是研究者事先設定的門檻,當模型評估患者陽性機率(pi)高於機率閾值(pt),我們就會判定該患者為陽性且需要介入,因此不同的機率閾值下各樣本就會有不同的介入情況(例如:一般的Logistic regression預設的pt為0.5)。而所謂的效益(Benefit)則意指患者被判定是陽性且施予介入時,其會收穫正向的效益;反之當患者被判定是陽性但未施予介入時,則受到了損害(Harm)。而淨效益的概念就是將這兩者進行相減,並根據不同的機率閾值找到預測模型最佳的淨效益區間,也可以藉此比較不同模型的預測效益。

在以往預測模型的研究中,我們經常會採用邏輯式迴歸(Logistic regression)ROC曲線分析(receiver operating characteristic curve)來判斷一個或多個因子是否能有精確的預測力。在上述的分析中,研究者可以根據敏感度(Sensitivity)及精確度(Specificity)來找到一個最佳切點,使預測的準確度達到最高,但這些分析方式並沒有調整機率閾值(pt)的機制存在。

然而,在臨床實務上,我們會因為不同情境去調整機率閾值(pt)來避開偽陽(預測為陽性但實際非陽性)或偽陰(預測為陰性但實際非陰性),這個時候我們就面臨到臨床效益的問題,也因此延伸出決策曲線分析(Decision Curve Analysis, DCA)這種分析模型淨效益的統計方法。

一、DCA公式說明

下表為我們一般進行預測模型時最終會得到的結果,我們設定正確介入的受益值為P,錯誤介入的損失值為L,pi是模型預估患者有陽性的概率,pt是我們設定的閾值。我們認為合理介入的時機應為受益值高於損失值,意及P × pi>L × (1-pi),進一步推導可得P × pi>L –L × pi → pi × (P+L)>L → pi>L/(P+L),因此我們可以把pt=L/(P+L),作為合適的閾值。

當pi>pt時,我們便判定該患者為陽性,因此我們可以透過以下的方式將下述表1中的參數進行定義。

(一)真陽TP:pi>pt,且實際為陽

(二)偽陽FP:pi>pt,但實際為陰

(三)偽陰FN:pi<pt,但實際為陽

(四)真陰TN:pi<pt,且實際為陰。

在預測為陽的組別中,如果總樣本N都進行了介入,其淨效益可以寫為NB =TP/N × P- FP/N × L→為分析P跟L之間的關係,我們將公式同除以P,改寫為NB=TP/N- FP/N × L/P →透過上述pt的等式,最終得到NB=TP/N-FP/N×pt/(1-pt)

而沒有受到介入的樣本,其淨效益為

NBoverall就是把上述兩者進行相加即可。

而相較於預測模型,我們一般會將全樣本都介入(TreatAll)進行對比,意即不考慮預測模型下的真實效益。如果NBoverall大於NBtreatall,則表示我們的預測模型是有效果的(Vickers & Elkin, 2006)。

表1 Confusion matrix

預測/實際 實際為陽 實際為陰
預測為陽 TP FP
預測為陰 FN TN

舉表2 Vickers & Elkin(2006)文中的例子而言,由表我們可以算出NBtreat為(65/902)-(225/902) × (0.1/0.9)=0.0443,而NBtreatall的值為(87/902)-(815/902) × (0.1/0.9)=-0.0039,由此可知當pt為0.1時,預測模型的效益還是比直接全體進行介入來的高。

表2 Confusion matrix (N=902,pt設為0.1)

預測/實際 實際為陽 實際為陰
預測為陽 65 225
預測為陰 22 590

二、R語言及範例說明

由於網路上介紹DCA的文章較少,可使用的Package包含DecisionCurve、DCA等套件,但由於套件開發者有版本更新的情況,因此使用者可能還是要根據版本去找尋當下適合的R語言套件。以下R語言範例僅作為參考採用,DCA其核心語法如下。

dcaModel<-decision_curve(依變數Y ~ 自變數X1-Xn ,data =”資料檔”, family = binomial(link =’logit’),thresholds= seq(0,1, by = 0.01))

上述語法我們可知,前面先放入一個迴歸式,一般來說Y會是二元變數,自變數X會設成連續的形式,所以類別變數要先進行dummy coding的動作。Data的部份放入檔案路徑,family選擇二元模型,thresholds是指pt的間隔設定。

R語言產出的圖如下(取自Van Calster et al., 2016),由圖可知虛線是Treat all全樣本都介入模式;水平虛線是全樣本都不介入,其NB固定為0。而後我們來比較三種模型,分別是Original、Recalibrated以及Correct model。透過Y軸Net benefit的比較,我們可以看出Correct model的NB表現在全範圍的risk threshold中都有較好的結果,其次是Recalibrated model,尤其在threshold大於0.5之後有更明顯的差異。由此我們可以總結Correct model是較佳的預測模型。

DCA還是一個相對較新的方法,希望這次的介紹能對大家有幫助。如果您覺得這篇文章對您有用的話,再請您給我們一個google好評,謝謝。

參考文獻

Vickers, A. J., & Elkin, E. B. (2006). Decision curve analysis: a novel method for evaluating prediction models. Medical Decision Making, 26(6), 565-574.

Van Calster, B., Nieboer, D., Vergouwe, Y., De Cock, B., Pencina, M. J., & Steyerberg, E. W. (2016). A calibration hierarchy for risk models was defined: from utopia to empirical data. Journal of clinical epidemiology, 74, 167-176.

Rousson, V., & Zumbrunn, T. (2011). Decision curve analysis revisited: overall net benefit, relationships to ROC curve analysis, and application to case-control studies. BMC medical informatics and decision making, 11, 1-9.