劉 新 雯
(蘭州交通大學數(shù)理學院 甘肅 蘭州 730070)
風險是經(jīng)濟運行中的核心問題,財政生來就要承擔公共風險。財政是所有經(jīng)濟活動的主要中心。一旦財政發(fā)生危機,它會對經(jīng)濟產(chǎn)生巨大沖擊,甚至導致社會動蕩[1]。所以應該精確地量化我國財政風險,并做出科學預警,使財政相關政策負責人有足夠時間與依據(jù)來預防財政風險的發(fā)生,使財政危機的破壞度最大限度地降低甚至化解即將發(fā)生的危機,這具有非凡的意義。
隨機森林(RF)算法是由Breiman提出的一種比較新的統(tǒng)計學習理論[2],其本質是一種組合分類器。該算法有高精度預測、強抗噪力、可調參數(shù)少、適應力強以及可避免“過擬合”等優(yōu)點,在如生物信息學[3]、生態(tài)學[4-6]、醫(yī)學[7-10]、網(wǎng)絡安全[11-12]等領域都有廣泛的應用。隨著RF算法越來越受歡迎,其缺陷隨之顯現(xiàn)。近年來,一些學者在不同方面改進了RF算法。2010年,王愛平等[13]提出一種IERF算法,并將其應用于解決視頻在線跟蹤問題,經(jīng)過反復實驗驗證其有效且穩(wěn)定;2014年,曹正鳳[14]為解決數(shù)據(jù)集不平衡問題提出C_SMOTE算法;2015年,陳斌等[15]提出了一種基于k-均值的基于KM-SMOTE算法,以解決由不均衡數(shù)據(jù)引起的分布式邊緣化問題;2016年,Chaudhary等[16]針對多維分類問題提出一種改進的RF算法,有效提高了RF算法的精度;2017年,趙清華等[17]提出了基于SMOTE的改進算法TSMOTE(triangle SMOTE)和MDSMOTE(max distance SMOTE),達到降低算法復雜度的目的;2018年,賈文超等[12]提出一種基于特征選擇的RF改進算法, 并將其應用于Webshell 檢測研究中。
綜上所述,本文提出了一種改進的RF算法,通過大量的實驗驗證了該算法,并與原始RF算法的性能進行了比較,結果顯示,CIRF算法性能優(yōu)良,同時也大大地降低了算法時間復雜度。
1996年,Breiman[18]根據(jù)Bootstrap思想提出Bagging算法。它是一種決策樹的集成算法,其核心是應用Bootstrap重采樣方法產(chǎn)生不同的訓練樣本集來訓練各個決策樹。其算法流程如下:定義示例樣本集S={(Xi,Yi),i=1,2,…,n},其中每個樣本的屬性的數(shù)量為M,被劃分為c個類別,測試樣本x,決策樹個數(shù)為N。則Bagging算法步驟如下:
1) 使用Bootstrap方法進行重采樣,并隨機生成k個訓練集S1,S2,…,Sk。
2) 根據(jù)CART算法,每個訓練集被用來生成相應的決策樹C1,C2,…,Ck。
3) 將測試集X導入程序中測試每個決策樹,產(chǎn)生相應的分類結果C1(X),C2(X),…,Ck(X)。
4) 根據(jù)k個決策樹的分類結果,測試樣本集X的分類是由決策樹的多數(shù)投票方法決定的。
1984年,Breiman等以信息熵為理論基礎提出了CART算法。該算法以遞歸的思想構建決策樹產(chǎn)生分類規(guī)則, 采用Gini指標最小原則進行節(jié)點分裂。
1) 樣本的Gini系數(shù):
(1)
式中:Pi代表類別i在樣本集S中出現(xiàn)的概率。
2)每個劃分的Gini系數(shù):將S分隔成l個子集S1,S2,…,Sl,則此次劃分的Gini系數(shù)為:
(2)
原始隨機森林RF是一種基于決策樹的分類器集成算法。該算法將隨機性引入訓練集樣本的提取與生成決策樹節(jié)點分裂屬性的選擇中,并且最終采用簡單投票法決定分類類別。它能夠較好地解決單個決策樹所存在的過擬合問題,有效提高了分類精度。RF算法步驟如下:
導入樣本集S={(Xi,Yi),i=1,2,…,n},測試樣本Xtest。
1) forj=1,2,…,N用bagging方法對對訓練集進行抽樣,以產(chǎn)生訓練子集Sj(j=1,2,…,N);
2) 構造第j顆決策樹的樣本集為訓練子集Sj;
3) 隨機選擇樣本屬性中的m(m 4) 選擇Gini指數(shù)最小的屬性來分裂節(jié)點生成決策樹,總共得到N個決策樹; S_Bootstrap抽樣算法是Bootstrap抽樣算法的一種改進算法,根據(jù)已知的類別個數(shù)c將觀測樣本S分成c個子集S1,S2,…,Sc。對每個子集再進行Bootstrap抽樣,進而產(chǎn)生小樣本集s1,s2,…,sc,小樣本集si的樣本數(shù)由Si的樣本數(shù)決定。然后將小樣本集s1,s2,…,sc綜合產(chǎn)生實驗樣本訓練集SB={s1,s2,…,sj,…,sN}。 由于原始RF算法選擇特征屬性集合時采用完全隨機選擇方法導致決策樹之間的相關性增強,從而降低了決策樹的分類性能。故本文提出形似加權的一種特征選擇方法。其核心過程為:首先根據(jù)已知類別將實驗數(shù)據(jù)集SB劃分為c個子集;然后對每個子集的特征進行因子分析,根據(jù)因子得分將特征M劃分為公共特征Mshare,私有特征M1,M2,…,Mc和不重要特征Mleft;根據(jù)特征的重要程度構建特征子集,從而降低決策樹間的相關性。 在改進的RF算法中,將分割節(jié)點的選定指標改為信息增益率,以最大信息增益率的節(jié)點作為分割節(jié)點。其相關計算如下: 1) 實驗樣本SB的信息熵為: (3) 式中:Pi代表類別i在樣本集SB中出現(xiàn)的概率。 2) 在特征A的作用下,SB被劃成l個子集SB1,SB2,…,SBl,則該劃分的信息熵為: (4) 3) 信息增益(Gain): Gain(SB|A)=Entropy(SB)-Entropy(SB|A) (5) 4) 信息增益率: (6) 當原始的RF算法進行分類預測時,所涉及的每棵樹的重要程度都相同,這可能忽略了決策樹之間的差異性和對樣本的判別出現(xiàn)不同的情況。故在該改進RF算法中引入一種加權集成的投票法則參與最終決策,并把基分類器的權重表示為如下的形式: (7) 式中:c為類別數(shù),l為分裂子集數(shù),Pil表示分類器Ti把樣本X分成l類的概率。 再計算每個類別的置信度為: (8) 將2.1節(jié)-2.4節(jié)所提改進算法融合應用于RF算法中形成CIRF算法,其算法流程如下: 導入數(shù)據(jù)樣本集S={(Xi,Yi),i=1,2,…,n},測試樣本Xtest。 1) 使用S_Bootstrap方法從樣本集S={(Xi,Yi),i=1,2,…,n}抽樣,以產(chǎn)生訓練子集sj(j=1,2,…,N); 2) 選訓練子集sj為構造第j顆決策樹的樣本集; 3) 根據(jù)2.2節(jié)中的特征選擇方法構建特征子集,并根據(jù)式(6)計算特征子集中各個屬性的信息增益率; 4) 選擇具有最大GainRatio值的屬性作為分裂節(jié)點產(chǎn)生決策樹,最后得到N顆決策樹; 5) 將待測樣本Xtest訓練好的N顆決策樹Tj(j=1,2,…,N)中,再根據(jù)式(8)計算各個決策樹的置信度,并把置信度最大的類別作為算法的輸出。 為不失一般性,該實驗采用模型的精度作為隨機森林分類性能優(yōu)劣評價指標。該評價指標是在混淆矩陣(如表1)的基礎上發(fā)展而來的。 表1 n維混淆矩陣 模型的精度表示所有正確分類在所有分類中所占比例: (9) 為驗證改進算法的有效性,使用UCI數(shù)據(jù)庫的3種不同的數(shù)據(jù)集作為實驗數(shù)據(jù)集(見表2),對改進算法進行仿真實驗。 表2 仿真數(shù)據(jù)集 仿真實驗中,將實驗數(shù)據(jù)的4/5當作訓練集,1/5為測試集;每次實驗重復1 000次。最終指標值是求解1 000次實驗結果的均值得到。 實驗結果分析: 在三種數(shù)據(jù)集上試驗后,RF算法與CIRF算法的Accuracy值(決策樹個數(shù)為10)如表3所示。 表3 RF算法與CIRF算法的精度值對比 由表3可知,在三種數(shù)據(jù)集中CIRF算法的Accuracy值在RF算法的基礎上都有所提高。說明CIRF算法比原始RF算法有更好的分類性能。 衡量財政風險的指標有很多,本文所使用的指標大致可分為四組,分別用R1、R2、R3、R4表示,總計19個指標,具體指標與其計算公式見表4。 表4 財政風險衡量指標 續(xù)表4 根據(jù)各個指標的國際警戒線,本文將財政風險劃分為四種狀態(tài),分別為“安全”(記為1)、“輕風險”(記為2)、“風險”(記為3)、“重度風險”(記為4),這里的得分是指數(shù)得分。具體的判定準則見表5。 表5 財政風險等級判斷準則 再根據(jù)各個指標的指數(shù)得分,對財政風險等級進行劃分。本文采用的財政風險等級劃分準則[19]見表6。 表6 財政風險等級劃分準則 續(xù)表6 1) 確定指標數(shù)據(jù)及其預處理 由于數(shù)據(jù)需求類別較多,大多數(shù)指標的月度數(shù)據(jù)與季度數(shù)據(jù)嚴重缺失,故本文選用1998年-2016年的年度數(shù)據(jù)作為實驗樣本數(shù)據(jù)。為了消減量綱不同對實驗的影響以及方便后續(xù)財政風險程度衡量,將原始指標數(shù)據(jù)先進行標準化處理再進行指數(shù)化處理,處理后的指標用EZXi,i=1,2,…,19表示。處理后的部分數(shù)據(jù)見表7。 表7 衡量財政風險指標值 2) 確定指標權重 本文對各個指標采用因子分析的方法確定權重。首先分別對四組指標進行組內(nèi)因子分析,結果見表8。然后再進行組間因子分析,結果見表9。 表8 指標組內(nèi)因子得分 表9 指標組間因子得分 3) 實驗數(shù)據(jù)整理 根據(jù)以上理論與計算,將原始數(shù)據(jù)進行整理,根據(jù)財政風險劃分準則,可得出1998年-2016年的財政風險狀況,部分數(shù)據(jù)見表10,數(shù)據(jù)詳細信息見表11。 表10 1998年-2016年的財政風險狀況 表11 財政風險實驗數(shù)據(jù)信息 3.3.1 實驗流程 將表10的完整數(shù)據(jù)作為實驗數(shù)據(jù)集S={(EZXi,Ri),i=1,2,…,19},用1998年-2013年數(shù)據(jù)作為訓練集,2014年-2016年數(shù)據(jù)作為測試集EZXtest,則基于CLRF算法的中國財政風險預警的具體實驗流程如下: 導入數(shù)據(jù)樣本集S={(EZXi,Ri),i=1,2,…,19},測試樣本EZXtest。 1) 使用S_Bootstrap方法從樣本集S={(EZXi,Ri),i=1,2,…,19}抽樣,以產(chǎn)生訓練子集sj(j=1,2,…,N); 2) 選訓練子集sj為構造第j顆決策樹的樣本集; 3) 根據(jù)2.2節(jié)中的特征選擇方法構建特征子集,并根據(jù)式(6)計算特征子集中各個屬性的信息增益率(GainRatio); 4) 選擇具有最大GainRatio值的屬性作為分裂節(jié)點產(chǎn)生決策樹,最后得到N顆決策樹; 5) 將待測樣本EZXtest訓練好的N顆決策樹Tj(j=1,2,…,N)中,再根據(jù)式(8)計算各個決策樹的置信度,并把置信度最大的類別作為算法的輸出。 3.3.2 參數(shù)設置 將決策樹個數(shù)N分別設置為3、5、7、9、11、13、15、17、19、21、23、25、27、29、31,節(jié)點分裂屬性個數(shù)設置為3,實驗重復1 000次,結果均取其均值。 經(jīng)過1 000次實驗后,將其結果求均值得到不同決策樹個數(shù)對應的模型精度值如表12所示。 表12 不同決策樹個數(shù)對應的指標值 如圖1所示,隨著決策樹個數(shù)的增加,評價指標的值也隨之增加。當決策樹個數(shù)達到19時,指標值達到最大值0.903 7,再增加決策樹至23時一直不變,但當繼續(xù)增加時,精度反而減小。故在隨后財政風險預警試驗中,決策樹個數(shù)設置為19,節(jié)點分裂屬性個數(shù)設置為3。表13是測試集數(shù)據(jù)EZXtest的實驗結果數(shù)據(jù)。 圖1 不同決策樹個數(shù)對應的指標值對比 時間EZX1EZX2…EZX19R預測的R風險等級預測風險等級20140.371.53.5740.479 8 41.509 92220150.311.54.2432.112 2 33.270 52220160.281.174.6630.055 5 30.355 422 由表13可知,CIRF算法對2014年-2016年的財政風險預測分類完全正確,分類準確率達到100%,并且預測的綜合得分與實際得分相比只差1個單位左右,預測的準確度相當高。所以,如果將該算法應用于財政風險預警工作中,可節(jié)省大量的人力和時間。 對2017年-2018年的財政風險進行預測,結果見表14(2017年的部分數(shù)據(jù)在公共數(shù)據(jù)平臺上沒有公布,故可將其作為預測的一部分)。 表14 財政風險的預測結果 由表14可知,2017年與2018年的財政都處于輕風險狀態(tài),不會對社會經(jīng)濟的正常運行和國家安全造成嚴重影響。 本文針對RF算法預測精度低的問題,提出一種CIRF算法。該算法對原始RF算法進行全方位的改進,采用UCI數(shù)據(jù)庫中的三種數(shù)據(jù)集對該算進行仿真實驗,并與原始RF算法作比較。結果顯示,CIRF算法有更好的分類性能。因此CIRF算法可應用于各個領域。本文將其應用于中國財政風險預警中,預測結果顯示,2017年與2018年的財政風險狀態(tài)為輕風險,不會對社會經(jīng)濟的正常運行和國家安全造成嚴重影響。下一步,將針對隨機森林本身在構建過程中存在的問題進行進一步的改進研究。2 CIRF算法
2.1 S_Bootstrap算法
2.2 改進的RF特征選擇方法
2.3 改進節(jié)點分裂算法
2.4 改進投票算法
2.5 CIRF算法流程
2.6 CIRF算法性能評價指標
2.7 CIRF算法性能驗證
3 基于CIRF算法的中國財政風險預警
3.1 確定預警指標體系
3.2 實驗數(shù)據(jù)準備
3.3 實驗流程及參數(shù)設置
3.4 實驗結果及分析
3.5 財政風險預警
4 結 語