周曉霞,張治飛,楊赫祎,黃 磊
(西南交通大學 數學學院, 成都 611756)
數據形式多種多樣,涉及領域也越來越廣泛,將各個領域的數據與高性能的機器學習模型相結合已經成為廣大學者的研究范疇之一。Breiman于2001年提出的隨機森林(random forest,RF)算法由于具備較高的分類精度而受到各界學者青睞[1]。隨機森林是多棵決策樹的組合體,要理解隨機森林算法可以先從理解決策樹算法入手。決策樹學習算法主要包含選擇特征、生成樹以及對樹進行修剪這3個步驟,比較常用有ID3算法、C4.5算法以及CART算法[2]。決策樹算法的計算所需時間相對來說不是很大,且算法原理簡單,但由于決策樹是單分類器,一般來說,單分類器在進行分類時不僅分類精度不夠高,而且模型也易出現過擬合的問題[3]。集成學習作為一種分類準確率較高的機器學習策略[4],它通過某種規則將多個相同或不同的學習算法組合起來解決問題。研究表明,集成學習方法往往比單一模型的分類精度更高且泛化能力更加顯著[5]。此外,前人依照一定規則將集成學習分為兩大學習策略,即Boosting學習策略和Bagging學習策略[5],隨機森林就是Bagging學習策略中比較常用的算法之一。
隨機森林作為一種基于決策樹且更加完善的集成學習策略,采用投票的方式對內部多棵決策樹預測的結果進行綜合處理[6],從而得到穩健性強、分類精度高、分類效果更好的分類模型。鑒于此,隨機森林算法被廣泛應用于多個工作領域。例如:當前股票市場由于種種原因具有較大的波動性,而一個良好的股票預測模型往往需要較好的泛化能力[7]。鑒于隨機森林算法具有較好的穩健性和容錯性[8],且泛化能力強,因此在股市中可以利用隨機森林算法對股票未來的走勢進行預測。此外,由于隨機森林分類效果較好,也常常被應用于銀行信貸分析。一般地,銀行通過分析貸款客戶的基本情況,對其信用程度進行等級劃分,再結合隨機森林算法預測貸款客戶是否能如期還款,從而降低銀行信貸業務的風險,提高銀行的收益。眾所周知,隨機森林算法分類效果的好壞離不開重要特征變量的構建和篩選,這也是關注的主要內容。
如何系統地構建和篩選特征變量,即特征工程,也是機器學習值得重點研討的領域之一。一般地,原始數據中往往包含部分冗余特征變量,若能在原始特征變量中篩選出與響應變量相關性更強的特征變量,將大大減少后期建模預測的計算工作量。互信息(mutual information,MI)作為一種變量間獨立性的度量[9],兼具衡量變量間線性以及非線性的依賴性的優點,可用于度量隨機變量間相互的依賴水平,因此可將MI作為一種重要變量的選擇工具(劃分指標)。一般地,當MI作為劃分指標時,在劃分過程中MI越大,說明劃分結果越好[9]。但目前大部分學者在進行MI估計時,特別是連續型隨機變量,往往依賴于參數的調優估計,調參在許多估計方法中都有涉及,例如在離散化過程中k-近鄰(k-nearest-neighbor,kNN)估計器中的鄰居數量以及核密度估計(kernel-density estimator,KDE)中的帶寬等[9]。在調參過程中,當參數不同時得到的結果會產生差異,從而導致得到的MI估計值可能不太穩定或者有較大偏差。鑒于此,為了使MI估計值不受參數選擇的約束,Zeng等[10]提出基于刀切(Jackknife)思想的MI估計(JMI)。JMI不需要產生預先確定的調優參數,具有自動糾偏和獨立性檢驗的高局域性等優點。近期,張治飛等[9]提出將確定獨立篩選(sure independence screening,SIS)與JMI相結合的辦法,以達到超高維空間中非線性回歸模型的變量選擇的目的,但該學者并未考慮當特征變量為含秩序多項(ordinal multinomial,OM)特征變量時的情況。OM特征變量廣泛存在于實際數據中,例如在醫學方面,何小群等[11]對瘤-肺交界面處的顯示情況進行主觀評分,將瘤-肺所有交界面從“均難以分辨”到“均清晰可辨”分為4個等級(記為1~4分),再根據這些評分等級(秩序多項的另一種稱呼)判別瘤-肺交界面檢出為陽性(+)還是陰性(-)。
在統計學中,當響應變量是二分類時,學者常用回歸模型解決問題,例如logistic回歸模型[12]和probit回歸模型[13]。由于OM特征變量在實際數據中廣泛存在,而OM特征變量的某2個或多個相鄰特征變量可能對響應變量具有幾乎相同甚至等價的影響,即這些相鄰類別之間存在偽項,但大多數學者在建立回歸模型時沒有處理偽項,直接將OM特征變量作為標度變量來建立和預測模型,導致建立的模型出現過擬合問題。因此,對于含有偽項的線性回歸模型中的特征變量,很有必要對偽項進行識別及融合,例如,在統計學中,若一個線性回歸模型含有一個OM特征變量,且該OM變量有6個等級,此OM特征變量中等級3和等級4為偽項,則可將其和等級2融合;等級6為偽項,則可將其與等級5融合為新的一個等級,具體如圖1所示。

圖1 包含偽項的OM特征變量示意圖
然而,在實際含OM特征變量的數據中,對于含偽項的線性回歸模型具體該怎么識別及融合呢?早期,Walter等[14]提出用啞變量編碼的方式處理OM特征變量,該方法能夠解釋估計出的參數,但當OM特征變量較多時,該方法易產生過擬合的問題。Tibshirani等[15]提出采用fused-LASSO方法對線性回歸模型的相鄰系數之差以及回歸系數進行懲罰,從而避免模型過擬合問題的發生,且達到了變量選擇的目的,但該方法不能對同時含有OM特征變量以及數值變量的數據集進行偽項的識別及融合。Gertheiss等[16]提出利用嶺回歸方法對OM特征變量相鄰系數之差進行壓縮,從而進行變量選擇,但當OM特征變量中存在偽項時該方法會導致得到的模型呈現出過擬合的問題。Tian等[17]借鑒Walter等[14]和Gertheiss等[16]的思想提出了TD-BIC(transformed dummy-BIC)方法,該方法結合了啞變量線性變換以及BIC篩選準則。由于BIC篩選準則具備模型選擇的相合性[18],從而TD-BIC方法不僅能很好地避免模型過擬合問題的發生,還能提高模型的預測精度。近期,晁越等[19]針對含OM特征變量的logistic回歸模型,借鑒前人的思想提出了一種新的偽項識別方法,即LTD-BIC(logistic transformed dummy-BIC)方法,該方法能識別出logistic回歸模型中的偽項,但該方法并沒有對特征變量進行初步降維篩選,從而導致建模過程中模型的計算量過大。
在實際數據分析中,通常大部分學者在對含高維OM特征變量數據集建立隨機森林模型時,并沒有同時對特征變量進行初步篩選以及對OM特征變量的偽項進行識別及融合。一旦數據中含有高維OM特征變量,則極易造成建立的隨機森林模型過擬合或者模型的樣本外預測能力下降。一般地,對于維度較大的數據,學者常用皮爾森相關系數方法對變量進行篩選,該方法簡單且能較好地反應特征變量與響應變量之間的關系,但也有局限性,它僅適用于線性關系,當變量間是非線性關系時則不再適用[20]。考慮到JMI可以描述變量之間的非線性關系,且JMI完全是由數據驅動的,不需要產生預定的調優參數,具有自動糾偏和獨立性檢驗的高局域性的優點[9]。鑒于此,針對維度較大且含有OM特征變量的數據,提出先用JMI方法對數據進行初步篩選,用較少的變量取代原來較多的變量,從而實現降維[7],再利用TD-BIC方法對特征變量進行偽項識別及融合,最后結合隨機森林算法對數據進行預測分類。將此改進的算法簡記為:改進算法JMI-TD-RF,并將改進算法JMI-TD-RF應用于含OM特征變量的銀行信貸數據和學生成績調查數據,從而證明了改進算法JMI-TD-RF的有效性。所提出的改進算法JMI-TD-RF主要通過R及Python語言進行實現。
剩余部分安排如下:第1節對提到的隨機森林算法的原理進行簡單闡述;第2節介紹并詳細描述了所提出處理含高維OM特征變量的改進算法JMI-TD-RF;第3節應用改進算法JMI-TD-RF進行了實例分析;第4節則對全文進行了總結。
作為一種以決策樹為基學習器的集成學習算法[5],隨機森林算法具備了更高的分類精度[21]。想要更好地了解隨機森林算法就必須得先了解決策樹算法。決策樹算法將數據集根據某種規則分裂,形成樹的結構,從而進行決策。但是,單棵決策樹(單分類器)由于結構單一,往往容易導致最終分類模型的精度不夠高,模型容易出現過擬合的問題[22]。為了避免模型因過擬合而導致模型泛化能力不強的現象發生,很有必要在對實際數據建模時引入集成學習算法。在實際數據分類過程中,隨機森林算法的每一個基學習器都給選擇的類別進行“投票”,之后按照少數服從多數的原則決定隨機森林算法的最終預測結果,具體如圖2所示。

圖2 隨機森林原理框圖
隨機森林算法步驟如下:
步驟1用bootstrap重抽樣法[8]對總數據集進行隨機抽樣[5],得到bootstrap樣本集Si,i=1,2,…,m[23]。并將Si,i=1,2,…,m作為這棵決策樹的訓練集。
步驟2在Si,i=1,2,…,m上訓練得到決策樹Ti,i=1,2,…,m。
步驟3分類問題中,決策函數為:
f(x)=mode(T1(x),T2(x),…,Tm(x))
隨機森林算法不僅具備很高的預測精度也具備較好的穩健性和容錯性[8],且具備較好的泛化能力[24]。值得注意的是,在對含高維OM特征變量的二分類數據建立隨機森林模型時,學者通常會不加任何處理地直接將其當作標量進行建模,從而導致所建立的模型呈現出過擬合現象,以至于模型的泛化能力不高。因此,在處理含高維OM特征變量的數據時,很有必要引入接下來提出的改進算法JMI-TD-RF。
2.1.1MI的定義
隨機變量X=(X1,X2,…,Xp)T,Y=(Y1,Y2,…,YQ)T,定義X、Y的MI為:
(1)
式(1)中:fX、fY分別是隨機變量X、Y的邊緣概率密度函數;fXY是隨機變量X、Y的聯合密度函數,值得注意的是式(1)中X、Y也可以是離散型隨機變量。由式(1)可知MI≥0,且MI=0時說明X、Y相互獨立,且MI越接近于0則預示著隨機變量X、Y之間的依賴關系越弱。因而,可以用MI對變量間的非線性關系進行度量研究。
2.1.2MI的刀切估計
JMI方法是對MI的核密度估計(KDE)的一種改進方法,與核密度方法的不同之處在于對其中4個帶寬矩陣的設置。Zeng等[10]通過理論推斷以及獨立性檢驗的經驗從而得出結論:4個帶寬矩陣應相等。基于此,Zeng等[10]在KDE的基礎上設置4個相等的帶寬矩陣,對MI進行刀切估計從而得到JMI。具體如下:
X=(X1,X2,…,XP)T與Y=(Y1,Y2,…,YQ)T相互獨立,對角帶寬矩陣HX、HY、BX、BY分別為:
對角矩陣A的核函數為:

X=(xip),i=1,2,…,n;p=1,2,…,P
Y=(yiq),i=1,2,…,n;q=1,2…,Q
則隨機變量X、Y、(X,Y)的概率密度函數的KDE為:
則MI(X,Y)的KDE為:
(2)
在式(2)的基礎上引入copula函數,并引入刀切法思想對MI進行估計,從而得到JMI。由于MI具有嚴格單調轉換不變的性質[10],且概率分布服從U(0,1),則:
U=(U1,…,UP)T=(FX1(X1),…,FXP(XP))
V=(V1,V2,V3,…,VQ)T=
(FY1(Y1),FY2(Y2),…,FYQ(YQ))T
其中:FXp(x),p=1,2,…,P,FYq(y),q=1,2,…,Q分別是Xp、Yq的概率分布函數。則U~U(0,1),V~U(0,1),且滿足:MI(X,Y)=MI(U,V)。

FY1,n(y1),…,FYQ,n(yQ))
對U、V的邊緣以及聯合copula密度函數進行KDE,得到copula密度函數在刀切法下的KDE為:
參見Zeng等[10]得出的結論,設帶寬矩陣:
HX=HY=BX=BY=diag(h2,h2,…,h2)
則可得到JMI的數學定義為:

(3)
(4)
鑒于JMI方法具有3個優點:其一,它完全是由數據驅動的,避免了對參數進行調優的過程;其二,它具有良好的統計特性,如獨立性檢驗的高局域性和自動糾偏;其三,它通過采用唯一的最大值,可使JMI(X,Y)在數值上保持穩定。因此,考慮用JMI方法對高維數據進行特征變量的選擇,從而達到降低數據維度這一目標。
通常,若OM特征變量X*具有k個分類,k>2,則有k-1個啞變量X2,…,Xk,且X*的第k個啞變量Xk的第n個分量Xk,n可定義為:

當logistic回歸模型中只含有一個OM特征變量X*時,如式(5)所示:
(5)
其中N表示樣本量。定義模型(5)中相鄰系數之差為:Δβj=βj-βj-1,j=2,3,…,k且定義β1=0,若Δβj=0,則說明βj對應的分類為偽項[19]。對于如何識別及融合這些偽項,借鑒Tian等[17]提出的TD-BIC算法,下面將展示提出的處理高維OM特征變量的改進算法JMI-TD-RF。
本小節將展示如何利用2.1小節JMI方法以及2.2小節中OM特征變量建模對隨機森林進行改進,具體改進算法JMI-TD-RF步驟如下:
步驟1用R語言中的JMI函數計算JMI(Xi,Y),i=1,2,…,t。其中t (6) (7) 步驟5若logistic回歸模型中含r(r≥2)個OM特征變量,則將其看作是r個含一個OM特征變量的logistic回歸模型,重復上述步驟2— 4,逐個對模型中的偽項進行識別及融合。 此外,將模型(7)改寫為矩陣形式: Q=Z*β (8) Z*=(1,I-1,I-2,…,I-(k-1)) (9) 其中: (10) 則模型(7)的對數似然函數如式(11)所示: (11) βnew=(Z*TWZ*)-1Z*TWM (12) M=βoldZ*+W-1(Y-P) W=diag{P1(1-P1),…,PN(1-PN)}, (13) 其中h表示逐步回歸中每一步回歸系數的總個數。 數據來源于UCI數據集——Default of Credit Card Clients數據集[26]。該數據的下載網址為:https://archi-ve.ics.uci.edu/ml/machine-learning-databases/00350/。李莉[27]利用ID3算法根據該數據集判斷用戶下個月是否會出現違約的情況,但是該學者并沒有對數據集進行特征變量的降維處理以及對其中的OM特征變量的偽項進行識別及融合。同樣也是根據這一數據集判斷該用戶下一個月是否會出現信用卡違約的情況,但對數據的預處理方式以及建模方法與前人不同。該數據集中共有30 000個客戶的信息,客戶年齡包括21~80歲,考慮根據年齡將信貸數據分為6組,其中:A組包含21~30歲的客戶,共11 013條數據;B組包含31~40歲的客戶,共10 713條數據;C組包含41~50歲的客戶,共6 005條數據;D組包含51~60歲的客戶,共1 997條數據;E組包含61~70歲的客戶,共257條數據;F組數據包含71~80歲的客戶,由于只有15條數據,樣本量少,不具有說服力,因此不對該組數據進行實例分析。為了考察改進算法JMI-TD-RF對隨機數據的泛化能力,分別對A、B、C、D 4組數據進行樣本抽樣,隨機抽取500個樣本數據。E組數據不變。每組數據的初始特征變量如表1所示。 以A組數據為例,A組數據變量的描述性分析如表2所示。 表1 初始特征變量 續表(表1) 表2 變量的描述性分析 首先用R語言中的JMI函數對A組數據進行初步高維特征變量的篩選,將得到的各個特征變量的JMI估計值按照從大到小排序,如表3所示。 表3 A組數據特征變量的JMI值 值得注意的是,由于MI沒有對(X,Y)做參數假設,是非參的方法,因此JMI估計值越大,P值不一定越小。此外,當P值滿足P<0.05時,則拒絕原假設H0:X與Y獨立。因此,JMI方法后篩選出的特征變量集為:XN×d={X1,X2,X6,X7,X8,X9,X10,X11,X18,X19,X21,X22,X23},即含t=23個特征變量的特征變量集經過JMI初步篩選后變成了d=13的特征變量集。 接下來對XN×d中的特征變量進行偽項的識別及融合,其中,對于X1這樣的非等級劃分的特征變量,根據四分位數將其劃分為4個等級,從而使其成為OM特征變量,之后再對其進行偽項的識別及融合。根據改進算法JMI-TD-RF,這里通過依次考慮含一個OM特征變量的logistic回歸模型進行偽項識別及融合,參照式(5),將包含一個OM特征變量的表達式記為: (14) 表4 OM特征變量X1的參數估計結果 其他數據中的每個OM特征變量做同樣的步驟進行偽項的識別及融合,最后再利用融合后的每組數據進行隨機森林分類模型的建立。選擇準確率(Accuracy)、精確率(Precision)、召回率(Recall)、F1-分數(F1_score)、AUC值作為模型評估指標[28],基于Python中的scikit-learn庫,利用帶5折交叉驗證的網格搜索法對隨機森林模型的最優參數進行選擇[29],再計算模型的預測精度,并對計算結果根據四舍五入法保留4位小數[22],則含高維OM特征變量的各組數據在進行JMI方法前后以及使用改進算法JMI-TD-RF前后隨機森林模型的各評估指標如表5所示。 表5 A組數據隨機森林模型評估指標 對其他組數據進行同樣的處理,最后可得結果如表6—9所示。 表6 B組數據隨機森林模型評估指標 表7 C組數據隨機森林模型評估指標 表8 D組數據隨機森林模型評估指標 表9 E組數據隨機森林模型評估指標 各組數據的AUC值如圖3所示。從上述分組實驗結果來看,大部分數據在JMI以及JMI-TD-RF后各個評估指標都有上升。值得注意的是,選擇的5個模型評估指標都是非常重要的度量,單看某一個指標是無法判定模型的好壞的。例如在D組數據中JMI-TD-RF后數據的Recall和F1_score值比JMI后數據的Recall和F1_score小,但是其他指標在JMI-TD-RF后都比JMI后大。一般來說,對于二分類模型的評估,在5個評估指標之間,更加偏向于選擇AUC值對模型進行評估。因此,從綜合評比角度可知改進算法JMI-TD-RF對于提高含高維OM特征變量的二分類隨機森林模型精度是有效的。 圖3 各組數據篩選前后的AUC值 數據來源于UCI數據集——Student-por,且下載網址為:http://archive.ics.uci.edu/ml/datasets/Student+Performance。該數據共649個樣本,包括性別(sex)、年齡(age)、學校(school)、母親教育水平(Mdeu)、父親教育水平(Fedu)等31個特征變量以及第一階段成績(G1)、第二階段成績(G2)、最終成績(G3)3個變量。從中選擇部分變量進行實例分析。選擇的數據特征變量如表10所示。 首先,利用R語言中的JMI函數,計算特征變量的JMI估計值,并依據從大到小的順序進行排序,如表11所示。 表10 學生成績調查數據的特征變量 表11 學生成績調查數據各個特征變量的JMI值 續表(表11) 根據JMI方法篩選準則,當P<0.05時,則拒絕原假設,則篩選出的特征變量為:XN×d={X1,X2,X3,X4,X7,X8,X9,X10,X11,X12,X13,X14,X17,X19,X20,X23,X24,X25,X26,X27,X28}。即原數據的t=28個特征變量在經過JMI方法初步篩選后變成了含d=21個特征變量的數據集。再對XN×d中的OM特征變量如案例1一樣進行偽項識別及融合,最后再結合隨機森林模型,得到結果如表12所示。 表12 學生成績調查數據隨機森林結果 學生成績調查數據變量篩選(JMI)以及偽項識別及融合(JMI-TD-RF)前后各指標值變化情況如圖4所示。 圖4 學生成績調查數據篩選前后直方圖 由表12和圖4可以看出,雖然Accuracy和Precision指標在JMI-TD-RF后比對數據進行JMI篩選后更低,但是其他指標都有上升,且在原數據的基礎上,數據在使用改進算法JMI-TD-RF 后各個指標明顯提升了,因此綜合來看,所提出的改進算法JMI-TD-RF對含有高維OM特征變量的二分類隨機森林模型是有效的。 基于含高維OM特征變量的logistic回歸模型,首先運用JMI方法對模型中高維OM特征變量進行初步篩選,篩選出相關性更強的OM特征變量,再利用TD-BIC方法對OM特征變量的偽項進行識別及融合,最后再對偽項融合后的數據結合隨機森林進行預測。在2個實際數據集上,通過對比:① 含OM特征變量的數據未進行降維以及偽項識別及融合的處理的方法;② 僅采用JMI降維處理的方法;③ 既采用JMI降維又配合偽項識別及融合的改進算法JMI-TD-RF。展示了3種方法對應的隨機森林預測模型的精度,發現改進算法JMI-TD-RF對應的隨機森林模型更精簡且在交叉驗證預測結果中綜合表現最優。說明了改進算法JMI-TD-RF對于此類數據集的二分類任務具有良好的應用價值。









3 實例分析
3.1 案例1














3.2 案例2





4 結論