天津醫科大學公共衛生學院流行病與衛生統計學系(300700)宋德勝 張甜甜 陳 陽 姚婷婷 張洪璐 劉媛媛 李長平 崔 壯 馬 駿
【提 要】 目的 采用logistic、隨機森林和CatBoost結合過采樣技術(synthetic minority over-sampling technique,SMOTE)技術對天津市某浴池MSM人群數據構建模型以預測HIV的感染風險,并評價三個模型的分類效果。方法 利用10×10折交叉驗證對模型進行訓練和預測,使用網格搜索確定各模型的超參數。然后使用AUC、accuracy、brier score和F1值對上述三種模型進行評價。結果 在原始數據上,三種模型的表現基本一致,但在對類別比例不敏感的AUC和Brier score上,CatBoost的表現略優于其他兩個模型。CatBoost、logistic和隨機森林的AUC分別為0.798±0.026,0.792±0.037,0.934±0.040;Brier score分別為0.056±0.001、0.091±0.004和0.054±0.003。使用SMOTE后,CatBoost的性能明顯優于其他兩個模型。在測試集上,其AUC、accuracy、brier score和F1值分別為0.984±0.003、0.950±0.007、0.040±0.004和0.950±0.007。結論 可使用Catboost模型預測MSM人群中的潛在HIV感染者。
男男同性性行為人群(men who have sex with men,MSM)是目前HIV感染的高發人群,更是被聯合國艾滋病規劃署(UNAIDS)列為關鍵人群之一。據2019年UNAIDS的數據顯示,MSM人群及其性伴的HIV感染風險是其他成年男性的22倍。全球范圍內,每年HIV新發感染者中約17%是MSM。在我國,艾滋病傳播形式以性傳播為主。在2016年新發HIV感染者中,MSM人群的比例已超過26%[1]。多個省市的調查數據顯示[2-4],MSM人群的HIV感染形式不容樂觀,且部分數據顯示,學生群體中HIV感染人數有上升趨勢[5]。當前的研究已經表明,文化程度、性病、高危性行為、商業性行為和多性伴是HIV感染的危險因素[6]。針對這些因素采取相應的措施可以減少HIV在MSM人群中的傳播。出于MSM人群的特殊性,盡管目前已有可靠的檢測和治療措施,但每年MSM人群的新發HIV感染患者人數仍高居不下[7]。因此開發一種可靠的模型來識別MSM人群早期感染者以減少病毒在該人群中的傳播迫在眉睫,這可在一定程度上彌補HIV檢測覆蓋不全的缺陷。
機器學習是近幾年興起一門新技術。經過近些年的發展,它已經廣泛應用于各個領域。它的主要任務是分類和回歸。在進行分類任務學習時,經常遇到類別不平衡的問題,過采樣技術(synthetic minority over-sampling technique,SMOTE)是目前解決這類問題的常用方法。分類問題常用的模型包括logistic模型、決策樹模型以及后續伴隨著計算機的發展而興起的bagging算法和boosting算法。bagging算法的典型代表是隨機森林(random forest,RF);boosting算法的典型代表則是梯度提升決策樹(gradient boosting decision tree,GBDT)。基于模型的原理,本文主要選取了線性模型分類器logistic模型、基于bagging的隨機森林以及基于boosting算法的CatBoost模型來構建分類器,并進行了分類效果的比較。
1.研究對象
本研究收集了2011-2018年天津市浴池浴客的調查數據。選擇每人第一次調查以及檢測數據。主要收集的數據包括浴客的人口學信息、性行為信息、檢測信息、藥物使用信息等。
2.研究方法
(1)基本原理
logistic基本原理:二元logistic模型是一種常見的機器學習分類模型[8],由條件概率分布P(Y|X)表示,它是如下的條件概率分布:

隨機森林基本原理:隨機森林是一類典型的bagging算法的實現。它由Breiman于2001年提出[9]。隨機森林以決策樹為基礎,在訓練過程中利用bootstrap抽樣,從訓練集中有放回地抽取一部分樣本用于建立決策樹。對于決策樹的每個結點,可先從結點的特征集合中隨機選取若干特征的子集,然后再從該子集中選擇最優的特征用于劃分結點。通過樣本的隨機和特征的隨機來減少模型的過擬合。在分類時,利用“投票”的方式決定觀測類別。
CatBoost基本原理:CatBoost是俄羅斯搜索巨頭Yandex于2007年提出的提升算法模型[10]。相較于GBDT[11]、XGBoost[12]和LightGBM[13],它在訓練之前不需要提前對類別特征進行處理,比如one-hot編碼。在訓練過程中,它使用獨特的技術來處理類別特征,即首先將所有樣本進行隨機排序,然后針對類別特征中的某個取值,每個樣本的該特征轉為數值型時都是基于排在該樣本之前的特別特征標簽取均值,同時加入了優先級和優先級的權重系數以防止過擬合。計算公式如下:
在計算梯度時,與傳統的GBDT不同,CatBoost針對每個樣本,都單獨構建一個利用該樣本之前的樣本點的梯度估計得到的模型,針對這些模型,估計該樣本的梯度,然后利用新樣本重新對樣本打分。由于上述算法依賴于樣本排序,因此利用多種樣本排序可訓練得到多種模型,這樣可以減少過擬合。
SMOTE基本原理:Japkowicz等針對不平衡數據提出了一種少數類的過采樣技術,然而這種技術并沒有提供給模型更多信息[14]。為了解決過采樣的局限性,Chawla等在2002提出一種合成少數類的過采樣技術[15]。SMOTE會隨機選擇一個少數類實例A,并找到它最近的k個少數類。然后隨機選擇k個最鄰近A的少數類B,連接A與B,從而在特征空間中形成一條線段,進而創建若干個合成的實例。在含有分類特征時,新合成的樣本實例來自于其周圍頻數最多的類別。
(2)模型訓練
針對原始數據,使用分層10×10折交叉驗證的方式分別訓練三個模型。超參數則使用網格搜索的方法進行確定。logistic模型的超參數為正則化系數C;隨機森林的超參數為森林包含的決策樹數目n_estimators,樹的最大深度max_depth以及每次bootstrap時,用于訓練基學習器的最大樣本比例max_samples;Catboost的超參數為L2正則化系數l2_leaf_reg,可構建的最大決策樹數目iterations,樹的最大深度depth,貝葉斯bootstrap隨機權重bagging_temperature,每次樹劃分時使用的特征比例rsm,bagging的抽樣率subsample,使用one-hot編碼最大類別數one-hot-max。對原始數據進行SMOTE后,使用10×10折交叉驗證的方式分別訓練三個模型。超參數與SMOTE之前保持一致。SMOTE前后各模型超參數設置搜索范圍如表1所示。

表1 各模型SMOTE前后超參數搜索范圍
(3)模型評價
本研究使用了準確度(accuracy)、ROC曲線下面積(ROC),F1值和Brier score進行評價模型在測試集上的表現。各指標的意義如表2所示。計算公式中,TP表示真陽性例數,FP表示假陽性例數,TN表示真陰性例數,FN表示假陰性例數,ft表示模型預測概率,ot表示觀測實際類別。

表2 模型評價指標說明
以上模型的構建使用的軟件為Python 3.7.4,圖形繪制使用的軟件為microsoft excel 2019。
1.變量說明
排除缺失值較多的觀測后,最終入選浴客5091名,其中新發HIV感染者346名。模型構建過程中使用的變量如表3所示。

表3 研究中納入的變量
2.模型構建
(1)原始數據模型構建
經過網格搜索后,各模型確定的超參數如下:
logistic模型:C=0.1;
random forest模型:max_depth=6,max_samples=0.5 ,n_estimators=180;
CatBoost模型:bagging_temperature=9,depth=7,one_hot_max_size=5,iterations=60,rsm=0.5,subsample=0.4,l2_leaf_reg=1
各模型經過10×10折交叉驗證以后,模型的構建結果如表4所示。

表4 原始數據各模型建模結果
(2)原始數據SMOTE后模型構建結果
經過網格搜索后,各模型確定的超參數如下:
logistic模型:C=0.7;
random forest模型:max_depth=9,max_samples=0.5 ,n_estimators=30;
CatBoost模型:bagging_temperature=1,depth=10,one_hot_max_size=5,iterations=1250,rsm=0.5,subsample=0.5,l2_leaf_reg=0.03。
各模型經過10×10折交叉驗證以后,模型的構建結果如表5所示。

表5 SMOTE后建模結果
上述各模型在測試集上的表現如圖1和圖2所示:

圖1 利用原始數據構建的3個模型在測試集上的表現

圖2 SMOTE后三個模型在測試集上的表現
3.模型重要性
圖3列出了利用原始數據和利用SMOTE技術后,各模型的變量重要性前8位的變量。

圖3 各模型的變量重要性
艾滋病目前仍是危害全球公共衛生健康的重要疾病。在目前,MSM是HIV感染風險較高的幾類關鍵人群之一。他們常由于歧視、污名化等原因無法享受到應有的健康服務[16]。因此,建立一種可靠的模型以識別MSM人群中HIV感染者十分必要。
此前,已有一些研究利用機器學習技術來預測在MSM人群中HIV感染的情況[17-18],但其應用的算法在訓練之前都需要將分類特征進行預處理,比如one-hot編碼等,這在一定程度上增加了訓練所需時間并且損失了分類變量的一些信息。而MSM的問卷調查中分類變量較為常見。因此,為了彌補上述缺點,我們使用了Catboost來預測MSM人群中HIV的感染情況。它在訓練之前不需要對分類變量進行預處理。在模型訓練過程中,Catboost直接利用了target statistic的思想來對分類變量進行處理,以減少分類變量的信息損失。
由于HIV是一種患病率較低的疾病,因此在運用機器學習技術時會經常遇到類不平衡的問題。本研究中,在5091名調查對象中,存在346名HIV陽性患者,陽性人數與陰性人數之比達到1∶13.7。在利用原始數據訓練時,三個模型的準確度都達到了90%以上,但F1值都小于0.2,這說明這種類不平衡的問題對于模型評價產生了嚴重的影響。因此,我們使用SMOTE方法來解決類不平衡問題對于模型評價的影響。在使用SMOTE以后,各個模型的F1值達到了80%以上,說明該方法有效地解決了類不平衡對于模型評價的影響。
本研究發現,在原始數據集上,三個模型在測試集上的表現基本一致,但CatBoost在AUC、Brier score這兩個對不平衡數據不敏感的指標上略優于其他兩個模型;而在accuracy和F1值上,其他兩個模型的表現略優于CatBoost模型;在使用SMOTE技術后,三個模型的在測試集上的表現如表5和圖2所示,可注意到,Catboost的表現都明顯優于logistic和隨機森林,且隨機森林的表現在這三個模型中最差。這可能是因為Catboost充分利用了分類變量的信息,其他兩個模型都在訓練過程中損失了信息,而logistic的表現優于隨機森林,則可能是因為模型構建所使用的特征與HIV感染存在較強的線性關系。
本研究中關于變量重要性的分析結果顯示,不論是否進行SMOTE的敏感性分析,戶籍、婚姻、年齡、文化程度等基本人口學信息,肛交性行為、異性性行為等性行為信息以及性病、男性性工作者等在模型中較為穩定,說明上述特征是預測浴池MSM人群的HIV感染的重要預測因子。這與之前的研究結果基本一致[6]。因此,研究結果對于制定有針對性的干預措施,開展降低HIV感染風險的健康促進,減少HIV在MSM人群中的傳播提供科學依據。
綜上所述,本研究利用三種理論依據不同的模型分別對浴池MSM人群的HIV感染進行預測建模,針對其中的類別不平衡問題進行SMOTE處理,CatBoost的預測性能均優于其他兩個模型,通過實例數據初步論證了CatBoost等機器學習模型結合SMOTE技術對于預測和篩選MSM人群中的潛在感染者的適用性,最終促進MSM高危人群的早發現、早診斷、早治療。本研究的局限性在于單中心的抽樣,還需天津市以外的外部數據進一步驗證預測模型的泛化能力。