張 慧,賀 松,張 碩,黃 旭,席歡歡
(1 貴州大學 大數(shù)據(jù)與信息工程學院,貴陽 550025;2 貴州大學 醫(yī)學院,貴陽 550025)
隨著健康中國戰(zhàn)略的不斷推進,人們更加注重醫(yī)療衛(wèi)生建設(shè),全面提高全民健康水平已成為各方關(guān)注的焦點。但就目前來看,中國醫(yī)療費用持續(xù)攀升,“看病難,看病貴”依然是醫(yī)療衛(wèi)生事業(yè)改革的痛點和難點[1]。冠心病是全球死亡率最高的疾病之一,據(jù)世界衛(wèi)生組織2011 年的報告指出,中國的冠心病死亡人數(shù)已列世界第二位,且發(fā)病呈年輕化趨勢[2]。因此,研究冠心病住院費用的增長趨勢,分析影響病人住院費用的顯著影響因素,運用機器學習算法對住院費用進行精準預測,對協(xié)調(diào)提升全民健康水平和合理控制醫(yī)療費用增長具有重大意義。
支持向量機(Support Vector Machine,SV 是M)對于非線性問題具有較強的擬合能力,簡單且泛化能力好,有較強的魯棒性[3]。但通常在選取最優(yōu)核函數(shù)時,存在許多隨機性,經(jīng)常無法達到良好的預測效果[4]。目前常用的參數(shù)優(yōu)化算法主要有:差分進化算法(Genetic Algorithms,DE)[5]、粒子群優(yōu)化算法(Particle Swarm Optimization,PSO)[6]和布谷鳥搜索算法(Cuckoo Search,CS)[7]等。本文采用2014年Mirjalili 等提出的灰狼算法GWO(Grey Wolf Optimizer)[8],對SVM 回歸模型進行參數(shù)優(yōu)化。相較于上述幾種優(yōu)化算法,灰狼優(yōu)化算法無論在參數(shù)尋優(yōu)速度方面,還是在預測住院費用擬合效果上都具有突出表現(xiàn)。
1.1.1 基本原理
GWO 優(yōu)化算法的本質(zhì)就是模擬大自然灰狼群體中嚴格的等級制度和狩獵行為。通過把灰狼群體劃分成α、β、δ、ω4 個等級,向獵物進行前進搜索,并依次作為最優(yōu)解、次優(yōu)解、次次優(yōu)解和底層進行數(shù)學建模的過程。如圖1 所示。
圖1 GWO 灰狼群體等級分類Fig.1 GWO grey Wolf group classification
1.1.2 GWO 優(yōu)化算法狩獵過程
GWO 優(yōu)化算法是一種通過模仿狼群包圍、追捕、攻擊3 大步驟而形成狩獵行為過程。
(1)包圍獵物。當灰狼一旦發(fā)現(xiàn)獵物,便會迅速向獵物靠近?;依桥c獵物間的距離以及灰狼位置的更新可由式(1)、式(2)得到。
式中,d代表搜索空間維度;t代表灰狼當前的迭代次數(shù);X(t)代表第t代灰狼位置向量;XiP(t)代表第t代獵物所在位置向量,即全局最優(yōu)解向量;D代表灰狼與獵物之間的距離向量,A和C代表的是系數(shù)向量,由式(3)~式(5)得到。
式中,tmax代表最大迭代次數(shù);a在迭代過程中線性從2 下降至0;r1與r2均為[0,1]上的隨機變量。
(2)追捕獵物。狼群進行狩獵行為,通常是按照其適應(yīng)度大小進行排序??梢砸来潍@取到α 狼的位置,即最優(yōu)解Xα;β 狼的位置,即次優(yōu)解Xβ;δ狼的位置,即次次優(yōu)解Xδ。
α、β、δ、ω 灰狼的實時位置更新公式由式(6)~式(8)得到。
式中,X1、X2、X3依次代表灰狼α、β、δ 的實時更新位置,X(t+1)代表更新后的最優(yōu)解向量。灰狼算法最優(yōu)解的更新過程如圖2 所示。
圖2 GWO 算法最優(yōu)解向量更新過程Fig.2 GWO algorithm optimal solution vector update process
(3)攻擊獵物。當獵物停止移動時,灰狼便開始發(fā)起進攻。進攻行為的發(fā)起主要是通過式(3)中a迭代次數(shù),從而間接控制式(4)中A的取值來完成的。當|A |≤1 時,灰狼群對獵物進行攻擊,對應(yīng)局部搜索;當|A |>1 時,灰狼群將遠離獵物散去,再次進行全局搜索。
支持向量機回歸(SVR),是支持向量機(SVM)的重要應(yīng)用分支之一,它是通過SVM 方法進行擬合曲線,做出相應(yīng)的回歸分析的模型[9]。其核心思想是尋找到一個回歸平面,使得一個集合內(nèi)所有的實驗數(shù)據(jù)距離該平面的距離最近。
SVR 主要是通過給定不敏感損失函數(shù)ε,采用適合的核函數(shù),進行樣本訓練。通過對懲罰因子c和核函數(shù)中的方差g的計算,獲取到不為0 零的參數(shù)所對應(yīng)的支持向量,繼而通過訓練樣本進行建模,并利用該模型對測試樣本進行預測的過程[10]。
式(9)中,ω代表權(quán)向量,b代表偏置向量。
式(10)中引入的是拉格朗日函數(shù)及松弛變量。C 代表SVR 模型的懲罰因子,用其來表達超出誤差ε的懲罰程度;K(X,Y)代表SVR 模型的核函數(shù)。SVR 的回歸模型由式(11)得到:
在SVR 回歸預測中,懲罰因子c和核函數(shù)g的選取,將直接影響支持向量機的預測擬合效果。為進一步提高模型的準確率,需要借助灰狼優(yōu)化算法,獲取最優(yōu)參數(shù)Bset_c 和Best_g,再進行SVR 回歸預測。
GWO-SVR 預測模型的構(gòu)建過程如下:
步驟1讀取某二甲醫(yī)院冠心病727 份病案首頁數(shù)據(jù)進行預處理。按照比例隨機劃分數(shù)據(jù)集,最終生成650 份訓練集數(shù)據(jù)和77 份測試集數(shù)據(jù),并對所有數(shù)據(jù)進行歸一化處理。
步驟2設(shè)置GWO 算法參數(shù)。種群規(guī)模設(shè)置為N,最大迭代次數(shù)設(shè)置為T;設(shè)定懲罰系數(shù)C和核函數(shù)方差g取值范圍。
步驟3初始化狼群位置,即每個灰狼的個體位置均由懲罰系數(shù)c和核函數(shù)參數(shù)g的值決定。
步驟4計算每頭狼相應(yīng)的適應(yīng)度,按照適應(yīng)度函數(shù)值大小排序。
步驟5將灰狼群劃分成α、β、δ、ω4 個等級。
步驟6根據(jù)公式(6)~公式(8)更新灰狼群中每個個體的位置;將灰狼新位置適應(yīng)度與上一次迭代的適應(yīng)度進行比較,判斷是否替換適應(yīng)度。
步驟7判斷當前迭代次數(shù)是否為t≥T。若是,輸出全局最優(yōu)值Best_c 和Best_g;否則,跳轉(zhuǎn)至步驟四,繼續(xù)進行參數(shù)優(yōu)化。
步驟8輸出α灰狼位置,即得到最優(yōu)的Best_c 和Best_g 參數(shù)。
步驟9通過最優(yōu)的參數(shù)Best_c 和Best_g 建立SVR 回歸模型,通過測試集進行預測,分析實驗結(jié)果。
GWO-SVR 實現(xiàn)的流程圖如圖3 所示。
圖3 灰狼算法優(yōu)化SVR 參數(shù)流程圖Fig.3 Gray Wolf algorithm to optimize the flow chart of SVR parameters
本研究選用了某二甲醫(yī)院冠心病病人的病案首頁數(shù)據(jù),共計743 例。該數(shù)據(jù)能夠最直觀的反映冠心病病人在診療過程中最真實有效的費用。經(jīng)過對目標樣本進行數(shù)據(jù)清洗,缺失項填補、刪除信息不全及不符合邏輯項共計16 例,共納入有效項727 例,納入率為97.84%。
通過對727 份冠心病住院費的住院年份、患者年齡、入院途徑、并發(fā)癥合并癥級別、是否手術(shù)等多個因素進行多重回歸分析,結(jié)果證明:回歸方程模型具有統(tǒng)計學意義(F=545.336,P=0.000),方程決定系數(shù)R2=0.892。說明住院費用89.2%的變異可由表1 中9 個變量解釋。其中對冠心病住院費用影響最大的前3 位因素分別為:是否造影檢查、是否手術(shù)、特級護理時間。
將727 份病案首頁數(shù)據(jù)按照9 ∶1 的比例,隨機劃分成650 份訓練集和77 份測試集數(shù)據(jù)。實驗中將上述9 大顯著影響住院費用的因素作為輸入數(shù)據(jù),將住院費用作為輸出數(shù)據(jù)。由于醫(yī)院病案數(shù)據(jù)因病人而異,變化幅度相對較大,有時具有突變性,而SVR 模型對[0,1]的數(shù)據(jù)又非常敏感,所以在建模之前,需要借助對病案數(shù)據(jù)進行歸一化處理,以此來提高回歸模型的效率。歸一化方法如式(12):
表1 住院影響因素的多重回歸分析Tab.1 Multiple regression analysis of influencing factors of hospitalization
為了驗證GWO-SVR 模型對冠心病住院費用預測的準確性和有效性,本文除了與原始SVR 模型形成對照外,還通過與差分進化算法優(yōu)化的DESVR 模型、布谷鳥算法優(yōu)化的CS-SVR 模型和粒子群優(yōu)化算法的PSO-SVR 模型形成對照模型,進行了比較分析。
為公平起見,將SVR 參數(shù)取值范圍設(shè)置為:c∈[1,100],g∈[1,100];所有優(yōu)化算法的種群個數(shù)設(shè)為20,最大迭代次數(shù)設(shè)為20。其中,CS 的縮放因子上界為0.8,下界為0.2,交叉概率為0.2;PSO 的c1=c2=1.5。
圖4、圖5 分別描述了在原始SVR 模型和GWO-SVR 模型下測試集的預測結(jié)果。
圖4 SVR 模型下的預測集預測Fig.4 Prediction set prediction under the SVR model
圖5 GWO-SVR 模型下的預測集預測Fig.5 Prediction set prediction under the GWO-SVR model
由圖可以清晰地看到,在灰狼算法的優(yōu)化下,SVR 回歸模型能夠更好的對預測集數(shù)據(jù)進行預測。為了驗證本文所提出的GWO-SVR 模型的有效性和準確性。表2 給出了不同優(yōu)化算法模型對懲罰因子Best_c 和核函數(shù)方差Best_g 的尋優(yōu)結(jié)果。
通過均方誤差MSE、決定系數(shù)R2、SVR參數(shù)迭代尋優(yōu)時間T3 個指標,評價不同模型的回歸預測性能。詳盡數(shù)據(jù)見表3。
表2 不同優(yōu)化算法下的Best_c 和Best_gTab.2 Best_C and Best _g under different optimization algorithms performance
表3 不同模型下的回歸預測指標Tab.3 Regression prediction indexes of different models
通過表3 的結(jié)果可以發(fā)現(xiàn),原始SVR 模型參數(shù)尋優(yōu)速度較慢,而上述4 種優(yōu)化算法均可以顯著提升參數(shù)尋優(yōu)速度;另外CS-SVR、PSO-SVR、GWOSVR3 種預測模型相較于原始SVR 模型,對均方誤差MSE、決定系數(shù)R2都有一定的提升。而DE-SVR預測模型的均方誤差和決定系數(shù)R2不降反升,有可能是參數(shù)設(shè)置原因,但參數(shù)尋優(yōu)時間相較于原始SVR 模型被明顯縮短??傮w來說,本文所引入的的GWO-SVR 模型表現(xiàn)最佳,不僅使預測結(jié)果的均方誤差最小,還具有較強的全局空間搜索能力,在SVR 參數(shù)尋優(yōu)時僅需要1.16 s 就可以得到最理想的(c,g)解向量,決定系數(shù)R2相較于原始SVR 模型也具有最明顯的提升,有效提高了冠心病住院費用的預測精度。
本文通過多重回歸分析和歸一化處理,分析出影響住院費用的顯著影響因素的同時,又提高了SVR 模型對數(shù)據(jù)的敏感性,為進一步提高冠心病住院費用預測的精度。本研究引入灰狼算法,對支持向量機回歸的懲罰因子C 和核函數(shù)方差g 進行進一步尋優(yōu),算法的全局搜索能力顯著提升。GWO 可以迅速鎖定SVR 中最優(yōu)(C,g),因此在進行預測模型的搭建時,住院費用的預測結(jié)果得到了很大的提升。通過與原始SVR 模型、DE-SVR、CS-SVR、PSOSVR 的形成對照模型發(fā)現(xiàn),基于灰狼算法優(yōu)化的SVR 模型表現(xiàn)最佳,均方誤差僅為0.004 0,參數(shù)尋優(yōu)迭代速度最快僅需1.16 s、在決定系數(shù)R2上也由原來的0.865 2 顯著提升至0.961 3。