在前幾期的內容中,我們介紹了多因素迴歸分析時,為探討影響因素對結局事件的影響大小,可以利用森林圖更直觀的將回歸結果視覺化。還沒來得及閱讀的小夥伴請點選檢視:

一文帶你玩轉森林圖!

手把手教繪製迴歸分析結果的森林圖『GraphPad Prism和Excel』

繪製迴歸分析結果的森林圖,R和Stata軟體學起來!

同樣是構建多因素迴歸模型,往往我們另一個主要目的是為了對結局事件的發生風險進行預測,那麼是否也可以

將預測模型的結果,像森林圖那樣視覺化地展示出來

呢?今天小咖就來帶大家認識一下神奇的

列線圖

認識列線圖

列線圖(Alignment Diagram),又稱諾莫圖(Nomogram圖),它是建立在多因素迴歸分析的基礎上,將多個預測指標進行整合,然後採用帶有刻度的線段,按照一定的比例繪製在同一平面上,從而用以表達預測模型中各個變數之間的相互關係。

列線圖的基本原理,簡單的說,就是透過構建多因素迴歸模型(常用的迴歸模型,例如Cox迴歸、Logistic迴歸等),根據模型中各個影響因素對結局變數的貢獻程度(迴歸係數的大小),給每個影響因素的每個取值水平進行賦分,然後再將各個評分相加得到總評分,最後透過總評分與結局事件發生機率之間的函式轉換關係,從而計算出該個體結局事件的預測值。

列線圖將複雜的迴歸方程,轉變為了視覺化的圖形,使預測模型的結果更具有可讀性,方便對患者進行評估。正是由於列線圖這種直觀便於理解的特點,使它在醫學研究和臨床實踐中也逐漸得到了越來越多的關注和應用。

解讀列線圖

閒話少說,先上文章哈。今天我們以2017年發表在JACC:Cardiovascular Imaging雜誌上的一篇文章

《Development and Validation of a Simple-to-Use Nomogram for Predicting 5-, 10-, and 15-Year Survival in Asymptomatic Adults Undergoing Coronary Artery Calcium Scoring》

為例來進行說明,文中結果部分展示的列線圖如下圖所示。

教你用R畫列線圖,形象展示預測模型的結果

我們可以看到列線圖主要由左邊的名稱以及右邊對應的帶有刻度的線段所組成。

列線圖的名稱主要包括三類:

1. 預測模型中的變數名稱

:例如圖中的年齡(Age)、高血壓(Hypertension)、糖尿病(Diabetes)等資訊,每一個變數對應的線段上都標註了刻度,代表了該變數的可取值範圍,而線段的長度則反映了該因素對結局事件的貢獻大小。

2. 得分

,包括單項得分,即圖中的Point,表示每個變數在不同取值下所對應的單項分數,以及總得分,即Total Point,表示所有變數取值後對應的單項分數加起來合計的總得分。

3. 預測機率

:例如圖中的5-year survival prob,表示5年的生存機率。

介紹了列線圖的基本要素,下面小咖來教大家如何利用這張列線圖,讓自己也能成為一個神奇的預言家。敲黑板,講到重點了哈。

現在假設我們是一名優秀的心內科醫生,有這樣一位患者,男性,60歲,吸菸,有高血壓和糖尿病史,血脂異常,否認CAD家族史,冠狀動脈鈣化評分(CACS)為3分。

小咖作為接診醫生,在和患者交代病情的時候,為了向患者說明疾病的嚴重性,就拿出了這張列線圖,自信滿滿的告訴這位患者,以他目前的疾病狀態,預測未來5年、10年和15年的生存機率分別是71%、48%和27%。

那麼,小咖是怎麼算出來的呢?其實很簡單,比如該患者年齡為60歲,我們就在列線圖年齡為60歲的地方向上畫一條垂直線,即可得到其對應的得分(Points)約為55分。同樣性別為男性,對應的分數為1分,以此類推,找出每個變數狀態下對應的得分。

最後將所有變數的得分相加,得到患者的總得分(Total Points)約為165。5分,並以總得分為基礎,再向下畫一條垂直線,就可以知道該患者對應的未來5年、10年和15年的生存率了,是不是很簡單很容易理解呢!

教你用R畫列線圖,形象展示預測模型的結果

教你用R畫列線圖,形象展示預測模型的結果

列線圖的效果評價

當然,製作列線圖通常要求研究擁有足夠數量的研究物件,從而才能夠建立有效的預測模型,在列線圖製作之前也需要對預測模型的預測能力進行驗證。常用的效果評價方式有:

1. 內部驗證法

可採用Bootstrap自抽樣法,利用建模自身的資料來驗證模型的預測效果。Bootstrap自抽樣法是指對樣本人群進行有放回的重複抽樣,每次抽樣樣本數相同,這樣同一個個體就有可能被抽中多次。利用Bootstrap自抽樣產生的新樣本去評價列線圖模型的準確性,常用C-統計量來進行衡量,其值越接近於1說明列線圖的預測能力越準確。

2. 圖形校準法

圖形校準法的基本思想是

:首先利用列線圖預測出每位研究物件的生存機率,並從低到高排成一個佇列,根據四分位數將佇列分為4組(或者根據其他分位數分組),然後分別計算每組研究物件預測生存機率和相應的實際生存機率(由Kaplan-Meier法計算)的均值,並將兩者結合起來作圖得到4個校準點,最後將4個校準點連線起來得到預測校準曲線。

理論上標準曲線是一條透過座標軸原點、且斜率為1的直線,如果預測校準曲線越貼近標準曲線,則說明列線圖的預測能力越好。

3. 外部驗證法

使用一組研究物件去建立列線圖,再使用另外一組研究物件(即外部資料)來驗證列線圖預測效果的準確性。

繪製列線圖

其實,列線圖的繪製也很簡單,R軟體中的rms程式包,為我們提供了相應的函式功能,最後給大家安利一下繪製列線圖最基本的程式程式碼,以供有興趣的小夥伴進行學習和參考哈。

1.

載入survival和rms程式包

,以survival包中自帶的資料庫lung為例

library(survival)

library(rms)

data(package=“survival”)

教你用R畫列線圖,形象展示預測模型的結果

(資料格式)

2.

打包資料

dd<-datadist(lung)

options(datadist=“dd”)

3.

構建Cox比例風險迴歸模型

教你用R畫列線圖,形象展示預測模型的結果

4.

繪製列線圖

教你用R畫列線圖,形象展示預測模型的結果

教你用R畫列線圖,形象展示預測模型的結果

最終繪製的列線圖如下:

教你用R畫列線圖,形象展示預測模型的結果

當我們在研究中習慣了使用相對風險的指標時(例如OR、HR、RR等),也不妨將這種能夠起到預測生存機率作用的列線圖結合起來,這樣會使預測模型的結果更加形象、直觀、易懂。

患者可以根據自身各個影響因素的水平大小,能夠快速查詢到自己未來的生存機率,便於引起他們對健康狀況的重視。此外,放一張列線圖在自己的文章裡,是不是也會顯得逼格更高呢,說不定會讓Reviewer多看兩眼哈。

參考文獻:

JACC Cardiovasc Imaging。 2017 Jun 9。 pii: S1936-878X(17)30449-7

(想要及時獲得更多內容可關注“醫咖會”微信公眾號和網站:傳播研究進展,探討臨床研究設計與醫學統計學方法)