杜 超,范馨月,單立平
前列腺癌(Prostate Cancer,PCa)是男性最常見的癌癥之一,也是全世界男性癌癥死亡的第二大原因,2020年,PCa相關(guān)死亡人數(shù)估計為385 560[1]。為了使前列腺癌患者能獲得更好的預后及進一步提高其生活質(zhì)量,前列腺癌的篩查和診斷已經(jīng)成為當前研究的重點。
在臨床上,前列腺癌需要經(jīng)過前列腺穿刺活檢才能夠確診,而穿刺前最常用的參考指標為前列腺特異性抗原(Prostate Specific Antigen,PSA)[2]。由于PSA濃度因受到炎癥、射精、導尿操作等一系列非前列腺癌因素的影響而出現(xiàn)一過性升高,導致單純使用PSA無法正確區(qū)分前列腺癌和前列腺增生[3]。如果持續(xù)采用單一指標診斷模式將造成漏診或者不必要的活檢。
近年來,隨著計算機技術(shù)的迅猛發(fā)展,國內(nèi)外一些研究開始采用機器學習方法進行前列腺癌的診斷[4-6],但都存在著一定的局限性。預測模型的變量主要為患者的PSA水平或MRI影像參數(shù),沒有綜合考慮患者病史、化驗及檢查等指標,同時也沒有將得到的模型在臨床中進行驗證。為克服前列腺癌單一診斷指標的局限性,本文綜合當前的研究現(xiàn)狀,收集前列腺癌患者的基本信息(年齡、體重)、病史、癥狀表現(xiàn)、化驗結(jié)果及MRI檢查等指標作為研究變量,通過兩種變量篩選方法的比較,確定納入模型的最佳變量組合,采用多種機器學習方法建立前列腺癌診斷預測模型,并將得到的模型應用于臨床,評價模型的準確性,旨在揭示機器學習在前列腺癌診斷中的應用價值,為前列腺癌的早期診斷研究提供新的思路。
本文收集2017年1月-2018年12月于中國醫(yī)科大學附屬盛京醫(yī)院泌尿外科行超聲引導下前列腺穿刺活檢術(shù)的患者信息,包括患者年齡、血清總PSA(total Prostate Specific Antigen,tPSA)、游離PSA(free Prostate Specific Antigen,fPSA)、游離PSA百分比((fPSA/tPSA,f/tPSA)、PSA密度、前列腺體積、堿性磷酸酶(Alkaline Phosphatase,ALP)、血糖、血脂、血壓、體重、飲酒、吸煙、核磁共振檢查(Magnetic Resonance Imaging,MRI)、尿急尿痛、排尿困難、夜尿頻次、血尿共18個相關(guān)變量用于變量的篩選及建模。部分變量的計算方法及介紹如下:
游離PSA百分比(f/tPSA):單純的tPSA升高對前列腺癌的診斷特異性不高。當tPSA介于4-10ng/ml之間時,因患者的tPSA僅輕度升高而加大了診斷的難度;當f/tPSA<0.16時,則患者前列腺癌風險增加[2]。
(1)
PSA密度(Prostate Specific Antigen Density,PSAD)表示單位體積內(nèi)前列腺的PSA含量。
(2)
前列腺體積(Prostate Volume,PV)表示前列腺增生的情況。本文前列腺的左右、前后、上下徑由MRI測得。
PV=0.52×左右徑(cm)×上下徑(cm)×前后徑(cm)
(3)
堿性磷酸酶(Alkaline Phosphatase,ALP)是廣泛分布于人體肝臟、骨骼、腸、腎和胎盤等組織經(jīng)肝臟向膽外排出的一種酶,臨床上測定ALP主要用于骨骼疾病的診斷和鑒別診斷,ALP水平的升高與惡性腫瘤的骨轉(zhuǎn)移相關(guān)[7]。
MRI:前列腺核磁共振檢查已成為診斷前列腺癌的常規(guī)手段,不僅能夠發(fā)現(xiàn)直腸指診難以發(fā)現(xiàn)的占位性病變,而且具有一定的特異性。由于前列腺癌以前列腺外周帶多發(fā)[8],因此當磁共振檢測出外周帶結(jié)節(jié)時,應警惕前列腺癌的發(fā)生。
本文共納入樣本255例,其中穿刺結(jié)果為前列腺癌患者85例,前列腺增生患者170例。
1.2.1 缺失值處理
絕大部分患者的臨床信息能夠完整收集,但仍有少部分患者的信息是缺失的。我們在納入數(shù)據(jù)時,將缺失值大于10%的患者排除,在納入的255例患者的缺失數(shù)據(jù)均小于10%,使用SPSS 22.0中均值填充(序列均值)缺失值的方法,補全所有患者信息。
1.2.2 預測變量篩選
在納入的18個變量中,首先對各個變量的分布情況進行分析,然后采用傳統(tǒng)的變量篩選方法即單變量方差分析,篩選出有統(tǒng)計學意義的變量,再對變量進行Logistic多元回歸分析。進行單變量t檢驗/卡方檢驗,采用Weka 軟件將所有數(shù)值型變量轉(zhuǎn)為標稱型變量,并計算各個變量信息增益率,將單變量分析與信息增益率相結(jié)合進行變量篩選。
本文采用上述兩種方法進行變量篩選,選用最優(yōu)變量建立前列腺癌診斷預測模型。
納入的所有患者均行12針系統(tǒng)穿刺活檢術(shù),以術(shù)后病理結(jié)果作為患者診斷的“金標準”,若病理結(jié)果顯示為前列腺癌(惡性)則為陽性樣本,穿刺結(jié)果為前列腺增生(良性)則為陰性樣本。本文共納入255例樣本,其中陽性樣本85例,陰性樣本170例,用于建立模型。
2.1.1 訓練集和測試集
考慮到樣本量的限制,本文不再按比例單獨劃分訓練集和測試集,而是采用十折交叉驗證方法(10-fold cross-validation)[9]建立模型。所謂十折交叉驗證就是每次將數(shù)據(jù)隨機分成10份,其中9份作為訓練集,將余下的1份作為測試集。該過程重復進行10次,可以有效提高模型的穩(wěn)定性和泛化能力,防止“過擬合”現(xiàn)象的出現(xiàn)。
2.1.2 驗證集
為了更好地評價模型性能,本文引入驗證集對模型進行驗證。驗證集共包含75例樣本,為2019年1-6月在中國醫(yī)科大學附屬盛京醫(yī)院泌尿外科行超聲引導下前列腺穿刺活檢術(shù)的患者(變量納入和排除標準同上),其中陽性樣本26例,陰性樣本49例。
2.2.1 集成學習
集成學習(Ensemble Learning)[10]并不是一種單獨的機器學習算法,而是將多個單一的分類器組合在一起,使它們共同完成學習任務,可以有效提高基分類器的泛化能力并解決過擬合問題。常見的集成學習方法有Bagging,Boosting和Stacking,本文主要采用Bagging方法。
Bagging(Bootstrap aggregating)[11]采用自助采樣法(Bootstrap)進行多輪有放回抽樣,每輪從原始樣本集中抽取n個訓練樣本,共進行k輪抽取,得到k個訓練集;每次使用1個訓練集進行建模,共得到k個模型,每個模型的重要性是相同的。對于分類問題,將k個模型結(jié)果采用投票的方式獲得最終分類結(jié)果;對于回歸問題,則計算上述k個模型的均值作為最后的結(jié)果。
2.2.2 樸素貝葉斯
樸素貝葉斯法(Naive Bayes)[12]是基于貝葉斯定理與特征條件獨立假設的分類方法。對于一個已知分類的待分類集合(訓練樣本集)x={a1,a2,…,am}和有類別集合C={y1,y2,…,yn},統(tǒng)計各類別下各個特征屬性的條件概率估計公式為:
P=a1…m| y1…n
(4)
因各個特征屬性是相互獨立的,故得到最終的樸素貝葉斯公式為:
(5)
樸素貝葉斯對小規(guī)模的數(shù)據(jù)表現(xiàn)良好,對缺失數(shù)據(jù)不太敏感,算法比較簡單,用于本文的數(shù)據(jù)較為合適。
對訓練集和驗證集的255例樣本進行單因素分析,可知有10個變量有顯著性意義。變量分布情況及顯著性見表1。其中前列腺癌組與前列腺增生組的年齡、體重、tPSA、fPSA 、f/tPSA、PSAD、PV、ALP、夜尿頻次及MRI檢查均存在統(tǒng)計學差異。
3.1.1 多因素Logistic分析
將上述10個指標進行多因素Logistic回歸分析,經(jīng)篩選后,年齡、tPSA、游離PSA百分比、前列腺體積、體重5個指標被納入(表2)。其中年齡、tPSA和體重都是危險因素,tPSA每提高一個單位水平,患前列腺癌的風險提高1.067倍。各個指標的ROC曲線如圖1所示。其中tPSA在所有指標中最有診斷意義,游離PSA百分比次之。
表1 前列腺癌與前列腺增生變量分布及差異性比較
注:t/2為t檢驗和卡方檢驗對應的t值或2值
表2 多因素Logistic分析結(jié)果
注:B表示系數(shù);Wald為檢驗統(tǒng)計量,檢驗自變量對因變量是否有影響;Exp(B)代表OR值
圖1 Logistic回歸各指標ROC曲線
3.1.2 信息增益率分析
使用Weka中變量選擇模塊計算各個變量信息增益率,屬性評估器(Attribute Evaluator)選擇InfoGainAttributeEval,查找算法(Search Method)選擇Ranker。各變量信息增益率如表3所示。其中數(shù)值型變量無需變量劃分。綜合顯著性分析和變量重要性分析,將P<0.05且信息增益率>0.02作為納入標準,年齡、tPSA、fPSA、游離PSA百分比、PSAD、前列腺體積、體重、夜尿頻次、ALP及MRI10個變量被納入,而吸煙、飲酒、排尿困難、血尿、血脂、血糖、血壓、尿急尿痛等8個變量被排除。
表3 變量類型、劃分及重要性排序
為進一步提高模型性能,采用十折交叉驗證劃分訓練集和測試集,運用集成學習的方法選取隨機森林、Bagging 集成樸素貝葉斯、支持向量機(Support Vector Machine,SVM)及Logistic等基分類器,構(gòu)建前列腺癌診斷模型。
為驗證不同算法及不同變量構(gòu)建的模型性能,采用Precision、Recall、F值及AUC共[13]4個指標對診斷預測模型進行評價與比較的結(jié)果,如表4所示。
由表4可知,4種算法構(gòu)建的模型性能因變量篩選方式不同略有差異。在使用信息增益率篩選方式建立的模型中,Naive Bayes模型AUC最高,為0.826;RF的Precision值最大,達到0.839;在應用Logistic篩選變量建模中,RF的AUC和Precision均為最高,分別是0.743和0.823;4種算法在應用信息增益率篩選變量建立的模型性能均優(yōu)于應用Logistic篩選變量的模型性能。
表4 2種變量篩選方式、4種集成學習模型結(jié)果比較
應用信息增益率篩選的變量構(gòu)建的模型性能更佳。為進一步驗證模型性能,將模型應用于臨床研究,采用相同的納入和排除標準收集75例患者(陽性26例,陰性49例)作為驗證集,采用4種算法應用相同的參數(shù)進行模型性能評估,結(jié)果見表5。其中Naive Bayes算法的AUC值最大(AUC=0.797,Precision=0.764),RF的Precision最高,而AUC值最低(Precision=0.791,AUC=0.610)。兩種算法的ROC曲線及混淆矩陣分別如圖2和表6所示,圖2分別表示Naive Bayes算法ROC曲線和RF算法ROC曲線。由表6可知,RF算法對于陰性的預測更準確,49例陰性樣本全部預測正確,可避免不必要的穿刺活檢;而Naive Bayes算法對于陽性樣本的預測效果較好,26例中有21例預測正確,準確率達80.7%。故在將模型應用于臨床時,應該綜合考慮多個模型的結(jié)果,以達到最好的術(shù)前診斷效果。
表5 4種算法驗證集模型性能
圖2 兩種算法ROC曲線
表6 兩種算法混淆矩陣
近年來,我國的前列腺癌發(fā)病率逐年升高。在綜合考慮患者的基本信息、癥狀、體征、化驗及檢查結(jié)果后,對穿刺結(jié)局進行準確預測能夠有效減輕患者身體及經(jīng)濟上的負擔。面對龐大的臨床信息量,變量篩選方式的選擇是研究面臨的主要問題之一。本文發(fā)現(xiàn)信息增益率篩選出的變量較Logistics更為科學合理。Logistics分析顯示,年齡、tPSA是前列腺的相關(guān)危險因素,而前列腺體積則為前列腺癌的保護因素,此結(jié)論與近些年的研究結(jié)果一致[14]。但Logistic分析舍棄了許多有價值的變量,PSA密度[15]、MRI檢查等重要的參考指標并沒有被納入,容易造成臨床醫(yī)生對患者重要信息的忽視。
信息增益率篩選方式,不僅能夠?qū)Σ煌兞康闹匾潭冗M行排序,而且能夠根據(jù)實際情況設計閾值,使實驗結(jié)果更加貼近臨床。PSA相關(guān)指標是重要性最高的幾種變量,應在診斷時優(yōu)先考慮;前列腺體積、體重、MRI檢查在重要性方面次之。雖然夜尿頻次、ALP水平僅對診斷的參考價值較小,但仍然不容忽視。其中,夜尿頻次增加是前列腺癌患者的早期臨床表現(xiàn)之一,ALP升高為存在骨轉(zhuǎn)移的重要指標,因此可以間接反應患者是否存在前列腺癌的風險。雖然高血壓、高血脂以及糖尿病等代謝綜合征的存在會增加前列腺癌風險,但本文中未見統(tǒng)計學差異,有待進一步進行更大樣本量的研究。
本文對Losgistic多因素分析與機器學習算法的橫向?qū)Ρ?,證明機器學習算法具有較準確的預測效果。不同機器學習算法間的縱向?qū)Ρ劝l(fā)現(xiàn),雖然不同算法之間均具有良好的效果,但以ROC曲線下面積為標準。樸素貝葉斯的預測效果最好,而以基于精準率與召回率的F值為標準,則隨機森林效果最佳。除了進行更加全面的對比之外,還對建立的模型進行了臨床驗證,以較為準確的樸素貝葉斯算法及隨機森林算法為例,結(jié)果證明兩種模型均具有良好的臨床應用潛能但隨機森林的預測結(jié)果更加準確。但是,本文仍存在以下不足:患者臨床信息的缺失,未考慮存在患者穿刺結(jié)果為假陰性可能、樣本量較小等。綜上所述,機器學習算法在前列腺癌的診斷中具備較高的準確率,但其臨床應用尚待進一步研究。