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