武海濱 李 康 楊 麗 胡如英 鐘節(jié)鳴 游頂云 郭 彧 卞 錚 李立明 陳錚鳴
【提 要】 目的 分析比較幾種常用的非平衡分類技術(shù)在人群糖尿病疾病風(fēng)險(xiǎn)預(yù)測模型中的應(yīng)用。方法 利用中國慢性病前瞻性研究浙江省桐鄉(xiāng)市項(xiàng)目點(diǎn)基線調(diào)查數(shù)據(jù)和隨訪數(shù)據(jù),使用機(jī)器學(xué)習(xí)算法建立人群糖尿病發(fā)病風(fēng)險(xiǎn)的預(yù)測模型,同時(shí)探討欠采樣、過采樣、SMOTE技術(shù)及替換切點(diǎn)技術(shù)對分類器性能的影響。結(jié)果 本研究中神經(jīng)網(wǎng)絡(luò)預(yù)測模型的AUC值最高,達(dá)0.7971,經(jīng)最優(yōu)切點(diǎn)的選擇和分類后,靈敏度和特異度分別為0.7149和0.7431,模型具有較高的預(yù)測能力,同時(shí)較好的平衡了靈敏度和特異度的分布。采樣法對不同分類器的AUC值影響不同,一般欠采樣比過采樣具有更高的AUC值;隨著SMOTE中少數(shù)類比例的上升,AUC出現(xiàn)下降的趨勢。結(jié)論 使用神經(jīng)網(wǎng)絡(luò)結(jié)合替換切點(diǎn)技術(shù)建立的人群糖尿病5年發(fā)病風(fēng)險(xiǎn)模型具有較高的預(yù)測能力,并能夠較好的處理非平衡數(shù)據(jù)的影響。
非平衡數(shù)據(jù)(imbalance data)即研究數(shù)據(jù)中的一個或幾個類別相對于其他類別在數(shù)量上具有非常低的比例,由于少數(shù)類的獲得常常較為困難或代價(jià)較高,很多研究關(guān)注少數(shù)類的情況。非平衡分類(class imbalance)是一種有監(jiān)督學(xué)習(xí)問題,在流行病學(xué)研究中非常常見,如調(diào)查顯示我國成人糖尿病患病率為10.9%[1],估計(jì)高危人群10年后腦卒中的發(fā)病風(fēng)險(xiǎn)為3.2%[2],浙江省兒童青少年1型糖尿病平均發(fā)病率為2.02/10萬[3]。近年來,非平衡分類問題在機(jī)器學(xué)習(xí)領(lǐng)域已經(jīng)得到了越來越多的關(guān)注,通過數(shù)據(jù)預(yù)處理、建立新的模型或改善現(xiàn)有模型,多種技術(shù)被應(yīng)用至非平衡分類問題。不同非平衡數(shù)據(jù)處理技術(shù)的優(yōu)劣并無明確定論,仍主要取決于研究數(shù)據(jù)本身[4-5]。
人群疾病風(fēng)險(xiǎn)預(yù)測模型的建立通常使用大型自然人群隊(duì)列的隨訪數(shù)據(jù),本研究使用中國慢性病前瞻性研究(China Kadoorie Biobank,CKB)浙江省桐鄉(xiāng)項(xiàng)目點(diǎn)的基線數(shù)據(jù)和隨訪數(shù)據(jù),通過比較幾種常用的非平衡分類技術(shù),建立2型糖尿病發(fā)病風(fēng)險(xiǎn)預(yù)測模型,為糖尿病的防治提供科學(xué)依據(jù),為流行病學(xué)中非平衡分類問題的處理提供參考。
1.非平衡分類問題及處理方法
非平衡分類中少數(shù)類的信息較少,易受噪聲的影響,類別間容易形成重疊或小的間斷,影響了分類模型的預(yù)測結(jié)果[6-7]。此外,傳統(tǒng)分類算法的構(gòu)建多基于樣本類是平衡的假設(shè),算法具有一個待優(yōu)化的損失函數(shù),建模中會將所有樣本同等對待,不同類別的誤分類情況產(chǎn)生的誤差相同,沒有考慮數(shù)據(jù)類別的分布情況。當(dāng)遇到非平衡分類問題時(shí),傳統(tǒng)的算法往往偏向多數(shù)類,在極端的情況下,少數(shù)類的樣本被視為多數(shù)類的離群值并被忽略,算法只生成一個簡單的分類器,將每個樣本分為多數(shù)類。因此,傳統(tǒng)算法應(yīng)用于非平衡分類問題時(shí)常常導(dǎo)致在多數(shù)類的分類精度較高而在少數(shù)類的分類精度很低。本研究使用采樣法(sampling methods)和替換切點(diǎn)(alternate cutoffs)技術(shù)處理非平衡分類問題。
(1)采樣法
采樣法對原始數(shù)據(jù)進(jìn)行重新抽樣,改變少數(shù)類和多數(shù)類的頻數(shù)分布,從而使得少數(shù)類在訓(xùn)練集中有更好的表現(xiàn)。該方法可以視為對數(shù)據(jù)的預(yù)處理,主要包括過采樣法(oversampling)、欠采樣法(undersampling)及兩種技術(shù)的混合[8],在采樣完成后能夠使用不同的分類器,因此應(yīng)用范圍較廣。
欠采樣法是減少樣本數(shù)量以提高類別間平衡性的技術(shù),如保留少數(shù)類中所有樣本并在多數(shù)類中隨機(jī)選擇樣本使各分類達(dá)到近似的樣本量。本研究固定少數(shù)類的樣本量,并在多數(shù)類中進(jìn)行隨機(jī)抽樣,直到多數(shù)類的樣本量與少數(shù)類相同。
過采樣法是使用模擬或補(bǔ)充額外數(shù)據(jù)點(diǎn)以提高類別間平衡性的技術(shù),如對少數(shù)類進(jìn)行有放回的抽樣直到各分類達(dá)到近似的樣本量。本研究固定多數(shù)類的樣本量,對少數(shù)類進(jìn)行有放回的隨機(jī)抽樣,直到少數(shù)類的樣本量與多數(shù)類相同。
SMOTE技術(shù)(synthetic minority oversampling technique)[9]是一種可以根據(jù)分類同時(shí)使用過采樣和欠采樣的數(shù)據(jù)抽樣技術(shù),以往的研究發(fā)現(xiàn)該方法有較好的性能,在高維非平衡數(shù)據(jù)的機(jī)器學(xué)習(xí)中具有較廣的應(yīng)用,在醫(yī)學(xué)中的應(yīng)用也越來越廣泛。SMOTE技術(shù)有3個參數(shù),過采樣的數(shù)量,欠采樣的數(shù)量及用于產(chǎn)生新樣本的近鄰點(diǎn)數(shù)量。在對少數(shù)類的過采樣中,SMOTE在少數(shù)類中隨機(jī)選擇一個樣本點(diǎn),其K個最近鄰(K-nearest neighbors)樣本點(diǎn)也被確定,新合成的樣本點(diǎn)是該樣本點(diǎn)和其最近鄰點(diǎn)特征的隨機(jī)組合,因此它們與原始數(shù)據(jù)中少數(shù)類的樣本點(diǎn)近似[10]。同樣,該技術(shù)也可以對多數(shù)類中的樣本點(diǎn)進(jìn)行欠采樣。本研究使用SMOTE方法在確保少數(shù)類與多數(shù)類樣本量一致的前提下,利用5個近鄰樣本點(diǎn)產(chǎn)生新的樣本點(diǎn),將少數(shù)類樣本分別擴(kuò)大2倍,5倍和10倍,分別表示為SMOTE2,SMOTE5和SMOTE10。
(2)替換切點(diǎn)
很多分類器可以計(jì)算出事件發(fā)生的概率,當(dāng)分類問題是二元時(shí),可以通過改變模型預(yù)測概率的切點(diǎn)(cutoff),提高模型對少數(shù)類的預(yù)測性能。切點(diǎn)選擇的方法如使用約登指數(shù)(Youden index)或ROC曲線,ROC曲線能夠在連續(xù)不同切點(diǎn)下計(jì)算靈敏度和特異度,并在靈敏度和特異度之間找到一個合適的平衡點(diǎn)。為準(zhǔn)確評估模型的優(yōu)劣,本研究在使用該方法時(shí)將數(shù)據(jù)集分為訓(xùn)練集(2/3樣本量)、驗(yàn)證集(1/6樣本量)和測試集(1/6樣本量),使用訓(xùn)練集建立預(yù)測模型,對驗(yàn)證集進(jìn)行預(yù)測,同時(shí)搜索ROC曲線上的最優(yōu)切點(diǎn),在測試集中使用該最優(yōu)切點(diǎn)對樣本進(jìn)行最終的判別分類。
2.評價(jià)指標(biāo)
非平衡分類問題要求模型能夠具有較高的預(yù)測能力,同時(shí)能夠處理非平衡數(shù)據(jù)對模型的影響,即平衡靈敏度與特異度的能力。為保證結(jié)果的穩(wěn)健性,使用不同的種子數(shù)對上述算法流程重復(fù)20次,比較測試集中預(yù)測結(jié)果的平均值,包括準(zhǔn)確率、靈敏度、特異度和AUC,評估不同非平衡數(shù)據(jù)處理方法及不同參數(shù)下各分類器的性能。本研究使用AUC評估模型的預(yù)測能力,AUC越大分類器預(yù)測能力越強(qiáng);使用特異度與靈敏度之比(Sep/Sen)評估非平衡數(shù)據(jù)對模型的影響,Sep/Sen越接近1越好。
1.數(shù)據(jù)來源
CKB項(xiàng)目調(diào)查對象的入選標(biāo)準(zhǔn)和排除標(biāo)準(zhǔn)以及有關(guān)項(xiàng)目其他情況見文獻(xiàn)[11-13]。桐鄉(xiāng)市的基線調(diào)查從2004年至2008年共收集57704名30~79歲常住社區(qū)人口?;€調(diào)查包括問卷調(diào)查、體格檢查、血樣本采集和現(xiàn)場隨機(jī)血糖檢測等。所有調(diào)查對象每年進(jìn)行一次隨訪,收集相關(guān)疾病的發(fā)病時(shí)間和疾病類型。本研究隨訪時(shí)間截止至2013年底,調(diào)查對象的隨訪時(shí)間至少為5年。排除在基線時(shí)已經(jīng)診斷為糖尿病的調(diào)查對象,同時(shí)排除數(shù)據(jù)變量缺失的調(diào)查對象,50877人納入分析,其中新發(fā)T2DM 1652例,未發(fā)生T2DM 49225例,少數(shù)類與多數(shù)類的比例近1:30。
2.數(shù)據(jù)處理及建模流程
為提高風(fēng)險(xiǎn)評估模型的適用性和可行性,減少冗余變量對模型預(yù)測效能的影響,首先根據(jù)流行病學(xué)專家和臨床專家的相關(guān)經(jīng)驗(yàn)挑選出可能與糖尿病發(fā)生相關(guān)的預(yù)測變量72個,接著對基線數(shù)據(jù)進(jìn)行預(yù)處理,包括數(shù)據(jù)的標(biāo)準(zhǔn)化和使用隨機(jī)森林方法進(jìn)行變量篩選,保留變量重要性排序前20位的變量(Gini指數(shù)排序),最后分別使用原始數(shù)據(jù)和采樣法處理后的數(shù)據(jù)進(jìn)行機(jī)器學(xué)習(xí)算法的建模,通過模型評估指標(biāo)篩選出具有最高分類性能的分類器作為最終的預(yù)測模型,具體流程見圖1。
本研究使用6種機(jī)器學(xué)習(xí)算法分別建立糖尿病發(fā)病風(fēng)險(xiǎn)預(yù)測模型,包括線性和非線性的分類器:logistic回歸(LR)、樸素貝葉斯分類器(NB)、分類回歸樹(CART)、隨機(jī)森林(RF)、單隱層前饋神經(jīng)網(wǎng)絡(luò)(NNET)和AdaBoost.M2 (Ada.M2)。所有模型均使用2/3樣本作為訓(xùn)練集,剩余1/3樣本作為測試集,模型訓(xùn)練過程中在訓(xùn)練集內(nèi)使用網(wǎng)格搜索等方法進(jìn)行參數(shù)的選擇,采用3折交叉驗(yàn)證計(jì)算不同參數(shù)或參數(shù)組合時(shí)的AUC,AUC指標(biāo)最大時(shí)的參數(shù)作為模型的最優(yōu)參數(shù),使用R語言完成建模過程。
圖1 糖尿病發(fā)病風(fēng)險(xiǎn)評估模型的篩選流程
1.不同機(jī)器學(xué)習(xí)方法的性能
表1為使用原始數(shù)據(jù)時(shí)不同分類器的預(yù)測能力??梢?,各模型均具有較高的預(yù)測準(zhǔn)確率,除NB最低為0.9458外,其他模型均在0.95以上,RF的預(yù)測準(zhǔn)確率最高,達(dá)0.9677。NNET的AUC最高,達(dá)0.8015,CART的AUC最低且標(biāo)準(zhǔn)誤最大(AUC=0.7207,標(biāo)準(zhǔn)誤為0.0326),基于CART的RF和Ada.M2預(yù)測能力得到了顯著的提升,AUC分別上升至0.7830和0.7964。NNET和Ada.M2的特異度非常高,而靈敏度接近于0,非平衡數(shù)據(jù)對這兩個模型的影響較大;NB的Sep/Sen值最小,為5.96,說明NB受非平衡數(shù)據(jù)的影響最小。
表1 不同分類器的預(yù)測能力均數(shù)(標(biāo)準(zhǔn)誤)
2.采樣法對分類器的影響
使用采樣法對原始數(shù)據(jù)進(jìn)行抽樣后,各分類器的準(zhǔn)確率均出現(xiàn)顯著的下降,見表2。過采樣時(shí)的準(zhǔn)確率普遍高于欠采樣,在SMOTE采樣中隨著少數(shù)類比例的上升,準(zhǔn)確率均有增加的趨勢。
表2 不同采樣法分類器的準(zhǔn)確率均數(shù)(標(biāo)準(zhǔn)誤)
使用采樣法對原始數(shù)據(jù)進(jìn)行抽樣后,不同分類器AUC指標(biāo)的變化較為復(fù)雜。圖2中垂直的實(shí)線和虛線表示該分類器在原始數(shù)據(jù)中的AUC值及95%CI,誤差線表示使用不同采樣方法時(shí)的AUC值及95%CI。CART的AUC值有較大的提升,見圖1(C);RF和NNET的AUC值下降明顯,圖1(D)和圖1(E);LR和NB的AUC值變化不明顯,圖1(A)和圖1(B)。除LR和Ada.M2外,其余算法中欠采樣后模型的AUC均高于過采樣,與準(zhǔn)確率相反;在SMOTE中隨著少數(shù)類比例的上升,NB、CART、RF、NNET和Ada.M2的AUC均出現(xiàn)下降的趨勢,亦與準(zhǔn)確率相反,而LR的預(yù)測能力有輕微的上升趨勢。對比所有模型后發(fā)現(xiàn),AUC指標(biāo)最高的仍為在原始數(shù)據(jù)中NNET算法(AUC=0.8015),將其作為最終的糖尿病風(fēng)險(xiǎn)預(yù)測模型。
圖2 不同采樣法各分類器的AUC值
3.采樣法在非平衡數(shù)據(jù)中的性能
表3中可見,不同采樣法均顯著降低了Sep/Sen,平衡了靈敏度和特異度的分布。相對于過采樣法,欠采樣法后分類器的Sep/Sen更接近于1;此外,SMOTE采樣中隨著少數(shù)類比例的上升,Sep/Sen與1的差值有增大的趨勢,特別是CART、RF和Ada.M2分類器。
表3 不同采樣法分類器的Sep/Sen均數(shù)(標(biāo)準(zhǔn)誤)
*均值計(jì)算時(shí)刪除2例靈敏度為0的數(shù)據(jù)
4.糖尿病風(fēng)險(xiǎn)評估模型
考慮到模型的分類性能和對非平衡數(shù)據(jù)的處理,我們最終選擇NNET分類器并使用替換切點(diǎn)的處理技術(shù)建立糖尿病發(fā)病的風(fēng)險(xiǎn)評估模型,結(jié)果見表4。在驗(yàn)證集和測試集中NNET的AUC分別達(dá)0.8060和0.7971,在驗(yàn)證集中選擇的ROC曲線切點(diǎn)均值為0.0347,使用這些切點(diǎn)在測試集中對樣本進(jìn)行判別,靈敏度和特異度均值分別為0.7149和0.7431,Sep/Sen均值為1.04,模型具有較高的預(yù)測能力,同時(shí)較好的平衡了靈敏度和特異度的分布。
表4 糖尿病風(fēng)險(xiǎn)評估模型的預(yù)測性能
本研究利用CKB項(xiàng)目的基線和隨訪數(shù)據(jù)探討了欠采樣、過采樣、SMOTE及替換切點(diǎn)技術(shù)在非平衡分類問題上對分類器性能的影響,通過變量篩選和模型篩選建立了人群5年糖尿病發(fā)病風(fēng)險(xiǎn)的預(yù)測模型。本研究樣本量較大,隨訪觀察時(shí)間較長,建模過程中考慮了非平衡分類問題,能夠?yàn)槲覈巳禾悄虿〉念A(yù)防和控制提供方法和依據(jù),為非平衡分類問題處理技術(shù)在流行病學(xué)中的應(yīng)用提供參考。
使用采樣法對原始數(shù)據(jù)進(jìn)行抽樣后,各分類器的準(zhǔn)確率均出現(xiàn)顯著的下降,靈敏度和特異度的比值更接近于1,但不同分類器AUC的值變化較為復(fù)雜。一般來說,欠采樣比過采樣具有更高的AUC值,但準(zhǔn)確率較低;在SMOTE采樣中隨著少數(shù)類比例的上升,AUC均出現(xiàn)下降的趨勢,而準(zhǔn)確率則有上升趨勢,非平衡分類模型的AUC值與準(zhǔn)確率之間可能存在平衡關(guān)系,提示我們使用采樣法或SMOTE時(shí),應(yīng)盡可能減少少數(shù)類的生成和抽樣。過采樣法可能會導(dǎo)致模型的過擬合,此外,當(dāng)多數(shù)類樣本量很大時(shí),過采樣會顯著增加模型的訓(xùn)練時(shí)間;SMOTE技術(shù)降低了過采樣中過擬合的風(fēng)險(xiǎn),但是可能導(dǎo)致少數(shù)類和多數(shù)類的決策邊界更近或重疊更多;欠采樣法雖然忽略了潛在的數(shù)據(jù)信息,但運(yùn)算量較小,建議實(shí)際應(yīng)用中使用欠采樣或SMOTE技術(shù),使用SMOTE時(shí)少數(shù)類樣本量新樣本點(diǎn)的產(chǎn)生應(yīng)控制在合理范圍內(nèi)。Alghamdi等人使用機(jī)器學(xué)習(xí)方法對糖尿病發(fā)病預(yù)測中發(fā)現(xiàn),欠采樣并不能顯著提高各分類器的AUC,與我們的結(jié)論一致,但SMOTE顯著提高了各分類器的AUC[14],這種差異可能來自數(shù)據(jù)的結(jié)構(gòu)、參數(shù)的設(shè)置等原因。
本研究存在的局限性:(1)基于抽樣的方法如對SMOTE改進(jìn)的技術(shù),包括Borderline-SMOTE、Adaptive Synthetic Sampling(ADA-SYN)和Tomek Links法等,有待于以后的進(jìn)一步比較;(2)模型評估中僅考慮了AUC、靈敏度和特異度,未考慮凈重新分配指數(shù)(net reclassification index,NRI)、精確率召回曲線(precision-recall curves)等評價(jià)指標(biāo);(3)各分類器重復(fù)運(yùn)算20次,結(jié)果可能不夠穩(wěn)健;(4)未使用我國其他地區(qū)的相關(guān)數(shù)據(jù)對模型性能進(jìn)行驗(yàn)證,仍待于進(jìn)一步研究。
致謝感謝中國慢性病前瞻性研究項(xiàng)目管理委員會、國家項(xiàng)目辦公室、牛津協(xié)作中心和浙江省項(xiàng)目地區(qū)辦公室的工作人員。