









〔摘要〕 目的 通過XGBoost算法構建系統性紅斑狼瘡(systemic lupus erythematosus, SLE)中醫證型判別模型,探索XGBoost模型用于證型分類的可行性。方法 通過問卷調查法,收集符合標準的病例,建立SLE數據集。通過XGBoost算法構建SLE中醫證型判別模型,采用隨機森林(random forest, RF)算法作為對照,比較兩種算法的準確性。結果 本硏究共納入400例SLE患者,其中男性33例,女性367例。SLE患者排名前3的中醫證型為:脾腎陽虛證、陰虛內熱證和風濕熱痹證,XGBoost算法模型分類指標和性能曲線評分總體優于RF算法。結論 XGBoost算法用于證候建模準確度較高,可用于證候研究中的分類研究。
〔關鍵詞〕 系統性紅斑狼瘡;XGBoost算法;隨機森林算法;中醫證候
〔中圖分類號〕R259" " " " "〔文獻標志碼〕A" " " " " 〔文章編號〕doi:10.3969/j.issn.1674-070X.2024.12.021
Chinese medicine pattern differentiation model for systemic lupus erythematosus based on XGBoost algorithm
WEI Fangzhi1,2, PAN Chengdan1, SONG Yitian1, ZHUANG Yanping1, ZHANG Xuan1, ZENG Minyu1,"JIA Xiaokang1, GONG Aimin1*
1. School of Chinese Medicine, Hainan Medical University (Hainan Academy of Medical Sciences), Haikou, Hainan 571199, China; 2. Bo’ao Yiling Life Care Center, Qionghai, Hainan 571400, China
〔Abstract〕 Objective To construct a Chinese medicine (CM) pattern differentiation model for systemic lupus erythematosus (SLE) using the XGBoost algorithm and explore the feasibility of applying the XGBoost model for CM pattern classification. Methods Eligible cases were collected through a questionnaire survey to establish a SLE dataset. An XGBoost-based SLE CM pattern differentiation model was developed, and the random forest (RF) algorithm was used as a control for accuracy comparison. Results A total of 400 SLE patients were included in this study, including 33 males and 367 females. The top three CM patterns for SLE patients were yang deficiency of the spleen and kidney pattern, yin deficiency-induced internal heat pattern, and wind dampness and heat impediment pattern. The classification indicators and performance curve scores of the XGBoost algorithm model were overall superior to those of the RF algorithm. Conclusion XGBoost algorithm demonstrates high accuracy in CM pattern modeling and can be used for classification research in CM pattern studies.
〔Keywords〕 systemic lupus erythematosus; XGBoost algorithm; random forest algorithm; Chinese medicine pattern
系統性紅斑狼瘡(systemic lupus erythematosus, SLE)是一種涉及多器官、多組織的自身免疫疾病。我國患病率約為1/10 000,是西方國家的2倍[1]。SLE與中醫學“紅蝴蝶瘡”“紅斑痹”“陰陽毒”等類似。SLE初期多熱證,后期多陰虛證或陽虛證,而瘀血始終貫穿其中。中醫藥能從整體角度調理SLE患者,不僅能改善SLE患者的癥狀,還能減少西藥的毒副作用[2-4]。辨證論治是中醫處方治療的核心,正確的辨證對SLE治療十分關鍵。但中醫辨證缺乏特異性指標,證型判讀缺乏客觀性、重復性和系統性。
近年來,人工智能在輔助中醫診斷和治療等方面發揮巨大潛力價值,已成為中醫證候學客觀化研究的重要方法之一。目前,中醫藥領域常用的機器學習算法有聚類分析、貝葉斯網絡、支持向量機、決策樹和隨機森林(random forest, RF)等[5],這些算法都存在一些弊端,如貝葉斯網絡需要得到先驗概率,決策樹較容易過擬合且難以尋找到最佳的樹,支持向量機選擇適當的核函數比較困難,RF處理小樣本效果欠佳。
XGBoost算法可以對小樣本、半定量的中醫數據進行高效的處理,與中醫辨證思維有一定契合度,在證候分類中具有潛在價值。本研究擬以SLE中醫證候判別模型為切入點,運用XGBoost算法構建SLE證型判別模型,同時引入RF算法作為對照,對比兩種模型的性能。進一步通過參數調優,根據優化模型的分類指標和性能曲線評分,篩選出更適合本數據集的算法模型。
1 材料與方法
1.1" 研究對象
本研究病例主要來源于2020年7月至2022年1月在海南醫學院第一附屬醫院和海南醫學院附屬海南醫院門診和住院部就診的SLE患者。本研究經海南醫學院倫理委員會批準,批準號為HYLL-2022-239。
1.2" 診斷標準
1.2.1" SLE西醫診斷標準" 參照2019年歐洲抗風濕病聯盟和美國風濕病協會修訂的SLE診斷標準[6]。(1)抗核抗體陽性:將抗核抗體至少一次陽性列為強制性準入標準。(2)臨床指標和免疫學指標:7項臨床指標(全身狀態、血液學、神經心理學、皮膚黏膜、漿膜、肌肉骨骼、腎臟改變)和3個免疫學指標(抗磷脂抗體、補體、SLE特異性抗體)。滿足至少一項臨床指標,免疫學指標積分≥10分。
1.2.2" SLE中醫證型診斷標準" 參照2002年《中藥新藥臨床研究指導原則》[7]中的標準將SLE分為熱毒熾盛證、陰虛內熱證、脾腎陽虛證、肝腎陰虛證、瘀熱痹阻證、風濕熱痹證和氣血兩虛證7種證型。
1.3" 納入、排除及剔除標準
1.3.1" 納入標準" (1)符合SLE西醫診斷標準;(2)自愿參與本研究;(3)年齡為18~80歲。
1.3.2" 排除標準" (1)合并腦、心、肝、腎和造血系統等其他嚴重疾病者;(2)合并精神、神經疾病者;(3)妊娠或哺乳期婦女;(4)不愿配合本試驗者。
1.4" 樣本量的估算
多因素研究主要是根據研究因素來決定樣本量大小,在專家咨詢、文獻研究和前期小樣本驗證下,設置80個研究因素。多因素研究的樣本量通常使用簡單估算法,即樣本量至少為研究因素的5~10倍[8],因此,本研究共納入400例樣本。
1.5" SLE中醫調查表的制定
本研究通過2004年《中醫癥狀鑒別學》[9]、2005年《中醫臨床常見癥狀術語規范》[10]和“十三五”規劃教材《中醫診斷學》[11]進行中醫四診術語規范化描述。在專家的指導下制定出《SLE中醫調查表》,其中癥狀、體征按程度分為無、輕、中、重,分別記為0、2、4、6分,舌脈按有、無分別記為2、0分。
1.6" 研究對象的篩選方法
對于符合標準的SLE受試者,由3位中醫醫師進行基本信息、四診信息的收集和中醫證型的判讀,需同時滿足2位及以上醫師判讀結果一致方可納入研究。
1.7" 數據預處理及數據集的建立
將SLE四診信息條目按照f1~f80依次編碼,熱毒熾盛證編碼為0,陰虛內熱證編碼為1,脾腎陽虛證編碼為2,肝腎陰虛證編碼為3,風濕熱痹證編碼為4,瘀熱痹阻證編碼為5,氣血兩虛證編碼為6。將采集的SLE患者信息雙人背靠背錄入,檢查數據的完整性和一致性,建立適用于本研究的SLE數據集。詳見表1。
1.8" 算法初步模型的建立及優化
1.8.1" RF算法原理" RF是一種包含多棵決策樹的集成學習算法,輸出結果由輸出類別的平均數或眾數而定。其算法原理是基于集成學習的裝袋法,裝袋法是通過構建多個相互獨立的弱分類器,根據其預測結果來評估弱分類器的效果。在分類問題中,其預測步驟如下:首先使用隨機構建的分類器測試數據結果,然后計算每種預測分類結果的票數,最后將獲得票數最高的分類結果視為最終預測結果。
1.8.2" XGBoost算法原理" XGBoost是一種基于強分類器的增強集成學習算法,輸出結果由強分類器結果而定。該算法原理是基于集成學習的提升法,提升法是將多個弱分類器集合成一個強分類器[12]。其算法步驟為:
(1)初始目標函數:
①
初始目標函數包含兩個部分:第一部分是模型的訓練誤差,第二部分是正則化項,正則化項是由K棵樹的正則化項相加而來。
(2)改寫目標函數:
②
(3)目標函數泰勒二階展開:
③
其中,gi為一階導數,hi為二階導數。
(4)最優目標函數:
④
該過程可總結為:XGBoost首先根據數據集生成一棵樹,得到初始目標函數,并不斷對樹進行添加,形成新的目標函數,并用新的目標函數結果對上次的預測殘差進行擬合。在所有數據集訓練結束后,可得到n棵樹。根據樣本特征,找到每棵樹的葉子節點分數,將全部葉子節點分數累加即為樣本的預測結果。
1.8.3" 計算機配置信息" CPU:Intel core i7-10700K CPU @ 3.8GHz處理器;顯卡:NVIDIA GeForce RTX 2070 SUPER(8G/微星);內存:金士頓DDR4 3200MHz 32G。
1.8.4" 主要軟件和包" 主要軟件:Anaconda 3和Python 3.9.7。主要包:Numpy、Panda、Matplotlib、scikit-learn和XGBoost。
1.8.5" 算法建模的流程" (1)導入相應的包;(2)導入SLE數據集;(3)分裂SLE數據集的特征和目標值;(4)以7∶3的比例將SLE數據集拆分成訓練集和測試集;(5)XGBoost建模預測;(6)RF建模預測。
1.8.6" 模型的優化" 初步建模后的模型通常不是最優模型,需要根據數據特征和任務目標進一步調整相關算法的重要參數,使構建的模型更準確和穩定,以符合臨床使用要求。本研究運用網格搜索法和3折交叉驗證分數篩選XGBoost和RF算法參數的最優值,并結合預測準確率驗證最優值的可靠性,完成對算法模型的優化。在XGBoost中,n_estimators代表最大迭代次數,eta代表學習率,max_depth代表樹的最大深度,min_child_weight代表最小葉子節點權重和,gamma代表節點分裂所需的最小損失下降值,subsample代表隨機采樣的比例,colsample_bytree代表隨機采樣占總樣本的比例。在RF中,n_estimators和max_depth與XGBoost含義相同,max_features代表最大特征數,min_samples_leaf代表葉子節點所需的最少樣本數,min_samples_split代表節點劃分需要的最小樣本數,criterion代表分裂標準。XGBoost和RF重要參數取值范圍見表2,按表中參數順序依次篩選參數最佳值。
1.9" 模型的評價
為了評價各訓練模型的表現,本研究基于分類指標和性能曲線比較不同模型的性能,其中常用的分類指標有:交叉驗證分數、準確率、平均準確率、精準率、召回率、F1值、科恩卡帕分數、宏平均(以下簡稱“宏”)和微宏平均(以下簡稱“微”);性能曲線主要有:ROC曲線、PR曲線和學習曲線。交叉驗證是將數據集劃分為較小子集的用于評估模型性能的方法,本次實驗采用3折交叉驗證平均分數進行模型性能評估。
2 結果
2.1" 基本資料
2.1.1" 性別" 本研究共納入400例SLE患者,男性患者33例,女性患者367例,男性占總人數的8.3%,女性占總人數的91.7%,男性∶女性=1∶11.1。
2.1.2" 年齡" 在400例SLE患者中,患者年齡18~79(35.78±13.55)歲。青年(18歲≤年齡lt;45歲)有290人,占72.5%。青年男性25人,占總數的6.25%;青年女性265人,占總數的66.25%。中年(45歲≤年齡lt;60歲)有84人,占21.0%。中年男性5人,占總數的1.25%;中年女性79人,占總數的19.75%。老年(年齡≥60歲)有26人,占6.5%。老年男性3人,占總數的0.75%;老年女性23人,占總數的5.75%。
2.2" 中醫四診信息結果
400例SLE患者中醫四診信息排序表見表3。該表將80項中醫四診信息按照頻數、頻率高低進行降序排列。由表3可知,有19項中醫四診信息出現頻率高于20%,分別是:舌苔黃、發熱、皮膚紅斑、關節固定性疼痛、神疲乏力、齒痕舌、舌紅、舌淡白、脫發、舌淡紅、脈數、舌苔白、舌苔少或無、水腫、脈弱、舌苔膩、納差、皮疹和脈細。
2.3" 中醫證型結果
在本次調查的400例SLE患者中,最常見的中醫證型為脾腎陽虛證(110人,占27.5%)。其次分別是陰虛內熱證(25.3%)、風濕熱痹證(15.8%)、熱毒熾盛證(11.0%)、瘀熱痹阻證(9.8%)、氣血兩虛證(6.3%)、肝腎陰虛證(4.5%)。詳見表4。
2.4" 算法調參結果
XGBoost重要參數調整最終結果為:n_estimators=40,eta=0.3,subsample=0.5,min_child_weight=1,colsample_bytree=1,objective=multi:softmax,num_class=7,random_state=420。RF重要參數調整最終結果為:n_estimators=51,max_depth=19,max_features=14,min_samples_leaf=2,min_samples_split=2,criterion=gini,random_state=420,其他未提及參數均為默認值最佳。詳見圖1。
2.5" 模型評價與驗證
2.5.1" 兩種算法分類指標結果" XGBoost算法模型整體的準確率、3折交叉驗證分數、平衡準確率、科恩卡帕系數、宏精準率、加權精準率、宏召回率、加權召回率分別為78.3%、73.9%、63.5%、72.1%、71.0%、79.0%、64.0%、78.0%。RF算法模型對應指標分數分別為74.2%、74.3%、57.9%、66.6%、66.0%、74.0%、58.0%、74.0%。XGBoost算法模型各證型的精準率分別為89%、86%、64%、0%、89%、71%、100%,RF算法模型各證型的精準率分別為90%、86%、60%、0%、80%、67%、75%。詳見表5—6。
2.5.2" 兩種算法性能曲線結果" XGBoost和RF算法模型的ROC曲線見圖2和圖3。由圖可知,XGBoost模型在微、宏和各證型的AUC值分別為0.93、0.90、0.90、0.97、0.90、0.79、0.88、0.91和0.95;RF對應類型的AUC值分別為0.92、0.88、0.83、0.96、0.92、0.75、0.88、0.89和0.90。XGBoost和RF算法模型的PR曲線見圖4。由圖可知,XGBoost模型微、宏AP值分別為0.78和0.73;RF模型微、宏AP值分別為0.78和0.74。通過上述分類指標和性能曲線對模型進一步評價及驗證,可以發現XGBoost模型整體表現優于RF模型。
3 討論
在400例SLE患者中,男性33例,女性367例,男∶女=1∶11.1。男性患病率顯著低于女性,與我國SLE患者男女比為1∶7~1∶13的報道結果相符[13]。SLE發病年齡以青年患者居多,占總人數的92%,其中青年女性占比高達總人數的66.25%,這與SLE以育齡期(20~40歲)女性多見的報道結果一致[14]。
對中醫四診信息結果分析發現,頻率高于20%的四診信息與2002年《中藥新藥臨床研究指導原則》[7]上的SLE常見四診信息相符,也初步反映了海口地區SLE患者常見的癥狀、體征和舌脈象等中醫四診信息。
在400例SLE患者中,排行前3的證型為脾腎陽虛證、陰虛內熱證和風濕熱痹證。海口地區SLE患者陰虛內熱證發病率較高,“瘀熱”也較為常見,這與既往研究結果相符[15]。此外,本地區SLE患者還有脾腎陽虛證高發、病程多“夾濕”的特點,這可能與SLE病機演變和海口地區的地域、氣候有關。海口地處熱帶北緣,氣候炎熱多濕,居民又嗜好生冷,損傷脾陽,脾虛生濕,因此“夾濕”患者較為多見。研究結果也表明,海南地區患者具有脾虛夾濕的特點[16-18]。因此,研究不同地域相同疾病的中醫證候特點,有利于豐富不同地區的中醫證候學資料,進一步指導“因地制宜”的治療方案。
XGBoost和RF算法控制參數較多,初步建立的模型往往需要調參才能得到更準確、更穩定的模型。調參可以控制模型復雜度和泛化誤差大小,模型復雜度的高或低會導致模型過擬合或欠擬合。只有方差和偏差最小時,模型才能達到復雜度最佳、泛化誤差最小和預測準確率最高。XGBoost和RF模型均是復雜度高的模型,在本數據中兩者模型均存在過擬合,因此,調參目標均是降低模型復雜度和方差,防止過擬合。
在分類指標上,XGBoost模型總的準確率、平衡準確率、科恩卡帕系數、宏精準率、加權精準率、宏召回率、加權召回率、宏F1值、加權F1值比RF模型高,但3折交叉驗證分數比RF模型低。在各中醫證型分類指標上,XGBoost模型各證型的精準率、召回率、F1值均比RF模型高。顯然,XGBoost模型各證型的分類指標整體優于RF模型。在性能曲線上,XGBoost模型微、宏和各證型的AUC值比RF模型高,說明XGBoost模型微、宏和各證型的AUC值整體優于RF模型。XGBoost模型微、宏AP值比RF模型低,說明在PR曲線上兩者表現相當。
多項研究表明[19-22],XGBoost在分類預測中比貝葉斯網絡、支持向量機、決策樹和RF等算法準確率更高。本次結果顯示,XGBoost算法的分類指標和性能曲線評分也總體優于RF算法,可能是因為XGBoost算法與本數據集有更好的契合度。同時,該建模方法可為其他病證的證候客觀化研究提供方法學指導,在證候研究中可能發揮重要價值。
參考文獻
[1] TIAN J R, ZHANG D Y, YAO X, et al. Global epidemiology of systemic lupus erythematosus: A comprehensive systematic analysis and modelling study[J]. Annals of the Rheumatic Diseases, 2023, 82(3): 351-356.
[2] LI X B, HE Z Q, RU L, et al. Efficacy and safety of Qinghao Biejia Decoction in the treatment of systemic lupus erythematosus: A systematic review and meta-analysis[J]. Frontiers in Pharmacology, 2021, 12: 669269.
[3] WANG H Z, WANG B Z, HUANG J G, et al. Efficacy and safety of acupuncture therapy combined with conventional pharmacotherapy in the treatment of systemic lupus erythematosus: A systematic review and meta-analysis[J]. Medicine, 2023, 102(40): e35418.
[4] TIAN R, YUAN L, HUANG Y, et al. Perturbed autophagy intervenes systemic lupus erythematosus by active ingredients of traditional Chinese medicine[J]. Frontiers in Pharmacology, 2022, 13: 1053602.
[5] 夏淑潔, 楊朝陽, 周常恩, 等. 常見機器學習方法在中醫診斷領域的應用述評[J].廣州中醫藥大學學報, 2021, 38(4): 826-831.
[6] THABAH M M, SEKAR D, PRANOV R, et al. Neuromyelitis optica spectrum disorder and systemic lupus erythematosus[J]. Lupus, 2019, 28(14): 1722-1726.
[7] 鄭筱萸. 中藥新藥臨床研究指導原則: 試行[M]. 北京: 中國醫藥科技出版社, 2002: 111-115.
[8] 胡江帥. 基于貝葉斯網絡技術對社區獲得性肺炎的中醫證型分析[D]. 昆明: 云南中醫藥大學, 2020.
[9] 姚乃禮. 中醫癥狀鑒別學[M]. 北京: 人民衛生出版社, 2004: 1-300.
[10] 黎敬波, 馬" 力. 中醫臨床常見癥狀術語規范[M]. 北京: 中國醫藥科技出版社, 2005: 1-90.
[11] 李燦東. 中醫診斷學[M]. 新世紀4版. 北京: 中國中醫藥出版社, 2016: 1-230.
[12] SHIN H. XGBoost regression of the most significant photoplethysmogram features for assessing vascular aging[J]. IEEE Journal of Biomedical and Health Informatics, 2022, 26(7): 3354-3361.
[13] 董志闊. 系統性紅斑狼瘡中醫體質與證素的相關性研究[D]. 天津: 天津中醫藥大學, 2023.
[14] ZHU J, NAUGHTON S, BOWMAN N, et al. Maternal antibody repertoire restriction modulates the development of lupus-like disease in BXSB offspring[J]. International Immunology, 2023, 35(2): 95-104.
[15] 宮愛民, 魏方志, 宋逸天. 系統性紅斑狼瘡中醫證型及客觀化研究進展[J]. 中醫學, 2020, 9(2): 98-103.
[16] 王秀蘭, 成佳黛, 卓進盛. 基于全國名中醫林天東慢性咳嗽病案的中醫證候與證素分布規律研究[J]. 中國民間療法, 2021, 29(1): 4-5.
[17] 張冠壯, 黃宏敏, 許玉皎, 等. 海南地區中風病患者急性期中醫證候的分布[J].世界中醫藥, 2017, 12(12): 3175-3178.
[18] 陳學武, 姜靖雯, 林海峰. 海南地區晚期非小細胞肺癌中醫證候分布規律研究[J]. 海南醫學, 2016, 27(4): 564-566.
[19] LI J L, LIU S R, HU Y D, et al. Predicting mortality in intensive care unit patients with heart failure using an interpretable machine learning model: Retrospective cohort study[J]. Journal of Medical Internet Research, 2022, 24(8): e38082.
[20] WANG L Y, WANG X Y, CHEN A X, et al. Prediction of type 2 diabetes risk and its effect evaluation based on the XGBoost model[J]. Healthcare, 2020, 8(3): 247.
[21] HOU N Z, LI M Z, HE L, et al. Predicting 30-days mortality for MIMIC-III patients with sepsis-3: A machine learning approach using XGboost[J]. Journal of Translational Medicine, 2020, 18(1): 462.
[22] SHIN H. XGBoost regression of the most significant photoplethysmogram features for assessing vascular aging[J]. IEEE Journal of Biomedical and Health Informatics, 2022, 26(7): 3354-3361.
〔基金項目〕國家自然科學基金項目(30109065)。
〔通信作者〕*宮愛民,男,博士,教授,博士研究生導師,E-mail:422789075@qq.com。