鄭 列, 鮑 佳
(湖北工業(yè)大學(xué)理學(xué)院, 湖北 武漢 430068)
財(cái)務(wù)困境預(yù)測(cè)模型最初主要是Beaver[1]的單變量判別模型、Altman[2]的多變量判別分析模型和Ohlson[3]的Logistic模型等。隨著機(jī)器學(xué)習(xí)和數(shù)據(jù)挖掘逐步運(yùn)用到財(cái)務(wù)困境的預(yù)測(cè)中,Min等[4]對(duì)比多個(gè)模型發(fā)現(xiàn)支持向量機(jī)效果更優(yōu)。黃衍[5]針對(duì)制造業(yè)上市公司研究了支持向量機(jī)、BP神經(jīng)網(wǎng)絡(luò)和隨機(jī)森林模型,最后發(fā)現(xiàn)三者中隨機(jī)森林最優(yōu),且在不平衡問題中基于投票閾值調(diào)整的隨機(jī)森林模型相對(duì)更優(yōu)。張娜[6]基于BP神經(jīng)網(wǎng)絡(luò)、決策樹和支持向量機(jī)分別構(gòu)建財(cái)務(wù)預(yù)警模型,設(shè)計(jì)集成Ada Boost_BP、Ada Boost_DT以及Ada Boost_SVM等3個(gè)財(cái)務(wù)預(yù)警分類器,結(jié)果發(fā)現(xiàn)Ada Boost_DT的效果最優(yōu)。陳子之[7]針對(duì)地方政府債務(wù),采用梯度提升樹構(gòu)建預(yù)警模型,發(fā)現(xiàn)該算法優(yōu)于BP神經(jīng)網(wǎng)絡(luò)。史立新[8]研究上市公司財(cái)務(wù)預(yù)警時(shí)將xgboost與隨機(jī)森林的組合模型、支持向量機(jī)、logistic回歸模型、ANN模型對(duì)比,證明組合模型擁有更優(yōu)的性能。
針對(duì)財(cái)務(wù)困境公司與財(cái)務(wù)正常公司占比差別大、數(shù)據(jù)不均衡的情況,研究者開始探究基于不均衡數(shù)據(jù)的財(cái)務(wù)困境預(yù)測(cè)問題。商志明[9]從非平衡角度出發(fā)集成Bagging、SMOTE和SVM構(gòu)建SB-SVM預(yù)警模型;孟杰[10]基于不平衡數(shù)據(jù)樣本對(duì)比分析Logistic回歸等4類模型,結(jié)果表明隨機(jī)森林集成學(xué)習(xí)的預(yù)測(cè)效果更好;李揚(yáng)[11]應(yīng)用加權(quán)正則化支持向量機(jī)構(gòu)建的財(cái)務(wù)困境模型解決了非平衡數(shù)據(jù)問題和財(cái)務(wù)指標(biāo)選擇問題?,F(xiàn)階段對(duì)不均衡問題的研究大多從數(shù)據(jù)層和算法層展開。數(shù)據(jù)層主要是對(duì)數(shù)據(jù)進(jìn)行過采樣或欠采樣處理,以SMOTE系列為代表,涵蓋SMOTE[12]、Borderline-SMOTE[13]和Safe-level-SMOTE[14],算法層是基于代價(jià)敏感和集成學(xué)習(xí)。本文采用改進(jìn)的SMOTE算法和隨機(jī)欠采樣組合的新混合采樣對(duì)數(shù)據(jù)進(jìn)行平衡處理,再對(duì)新訓(xùn)練集建立隨機(jī)森林模型,并與Bagging、SVM和BP神經(jīng)網(wǎng)絡(luò)進(jìn)行對(duì)比,采用粒子群算法對(duì)隨機(jī)森林模型進(jìn)行參數(shù)調(diào)優(yōu),以達(dá)到對(duì)財(cái)務(wù)困境的精準(zhǔn)預(yù)測(cè)。
SMOTE算法主要是通過增加少數(shù)類樣本量以達(dá)到兩類間的平衡,一般基于k近鄰和線性插值方法,在距離較近的兩個(gè)少數(shù)類樣本之間插入新樣本。其插值公式為:
(1)
K-means算法主要基于相似性原則,將相似度較高的對(duì)象分至同一類。其一般以距離為評(píng)價(jià)指標(biāo),對(duì)象之間間距越小相似度越高。算法流程如下:
Step 1 在訓(xùn)練集x(1),x(2),…,x(m)中隨機(jī)選擇k個(gè)類簇中心為z1,z2,z3,…,zk∈Rn;
Step 4 迭代2和3直至所有的類簇中心沒有變化為止。其中,k為事先給定的聚類數(shù),Cj為重新劃分好的類簇,zj為每輪猜測(cè)的類簇中心。
混合采樣是融合過采樣和欠采樣以達(dá)到正負(fù)樣本平衡的方法。混合采樣不會(huì)造成大量的負(fù)樣本特征丟失,在數(shù)據(jù)處理中也不會(huì)產(chǎn)生過多的噪聲,能夠有效提升正樣本和負(fù)樣本的分類正確率。對(duì)于SMOTE算法目前存在的邊界模糊和合成樣本質(zhì)量不高的問題,先基于K-means算法思想對(duì)SMOTE進(jìn)行改進(jìn)[17],再與隨機(jī)欠采樣結(jié)合形成混合采樣。
首先,找到少數(shù)類樣本中大部分類的中心,在創(chuàng)建“新增少數(shù)類”的過程中,盡可能使新產(chǎn)生的樣本向中心靠近,從而解決SMOTE算法在新生成樣本時(shí)易邊緣化的問題。由新合成數(shù)據(jù)代替原始少數(shù)類數(shù)據(jù)后,其分布上的改變將有助于最終分類性能的提升。算法如下:
Step 1 找到少數(shù)類樣本的中心;利用統(tǒng)計(jì)軟件SPSS中的K-means算法,將少數(shù)類樣本進(jìn)行K-means聚類,在分類結(jié)果中選擇數(shù)目最多的一類作為少數(shù)類樣本的中心,去除聚類數(shù)目較少的類簇樣本,只保留數(shù)目最多的一類,其中心記作Xc;
Step 2 基于以下規(guī)則,對(duì)保留的少數(shù)類數(shù)據(jù)處理,得到“新增少數(shù)類”
pj=x+rand(0,1)·(Xc-x),j=1,2,…,N
(2)
其中,pj為生成的新增少數(shù)類樣本,rand(0,1)為區(qū)間(0,1)內(nèi)的任一隨機(jī)數(shù),x為第一步中保留的數(shù)目最多的少數(shù)類;
Step 3 用“新增少數(shù)類”代替原始數(shù)據(jù)中的少數(shù)類,再將獲得的數(shù)據(jù)代入SMOTE進(jìn)行過采樣,對(duì)多數(shù)類選擇合適的比例采用隨機(jī)欠采樣處理,得到最終的實(shí)驗(yàn)樣本。
隨機(jī)森林[18]是由多個(gè)決策樹模型h(X,θk),k=1,2,…,K組合的分類模型。在給定自變量X和決策樹k時(shí),每個(gè)基分類器通過投票得到最佳分類,k輪訓(xùn)練后得到分類模型序列為{h1(X),h2(X),…,hk(X)},再用它們構(gòu)造一個(gè)多分類模型系統(tǒng),最終結(jié)果以多數(shù)投票為準(zhǔn),隨機(jī)森林的分類結(jié)果
(3)
其中:hi(x)代表單個(gè)決策樹模型的分類結(jié)果;Y為分類目標(biāo);I(·)為示性函數(shù)。
粒子群算法[19]主要是通過個(gè)體信息的迭代尋找群體空間中最優(yōu)解。算法中的每個(gè)粒子表示一個(gè)候選解,粒子依據(jù)適應(yīng)度值搜索空間內(nèi)最優(yōu)的粒子,其搜索流程見圖1。
圖 1 基于隨機(jī)森林的粒子群算法參數(shù)優(yōu)化流程
假設(shè)種群個(gè)數(shù)為n,種群表示為X=(X1,X2,…,XD),空間內(nèi)第i個(gè)粒子的位置為Xi=(xi1,xi2,…,xiD),速度為Vi=(vi1,vi2,…,viD),第i個(gè)粒子所尋找的當(dāng)前最佳位置為Pi=(pi1,pi2,…,piD),其為局部最優(yōu)值。所有粒子所尋找到的當(dāng)前最佳位置為Pg=(pg1,pg2,…,pgD),其為全局最優(yōu)值。
針對(duì)數(shù)據(jù)不均衡問題,采用混合采樣對(duì)數(shù)據(jù)處理以達(dá)到平衡狀態(tài),再利用分類效果好的隨機(jī)森林模型進(jìn)行分類預(yù)測(cè),隨機(jī)森林中的參數(shù)問題采用粒子群算法進(jìn)行優(yōu)化,具體步驟如下。
Step 1 在原始不平衡數(shù)據(jù)的基礎(chǔ)上,隨機(jī)抽取70%作為訓(xùn)練集,其余30%作為測(cè)試集擬作樣本預(yù)測(cè)。利用改進(jìn)的SMOTE技術(shù)擴(kuò)增訓(xùn)練集少數(shù)類樣本,隨機(jī)欠采樣技術(shù)獲取訓(xùn)練集多數(shù)類樣本,使兩者數(shù)量相等,總數(shù)大致為原始數(shù)量的1/2左右。
Step 2 將數(shù)量相同的多數(shù)類和少數(shù)類樣本放在一起形成新的平衡訓(xùn)練集,利用隨機(jī)森林模型對(duì)測(cè)試集分類預(yù)測(cè)。
Step 3 對(duì)于隨機(jī)森林中的模型參數(shù),通過粒子群算法不斷迭代選擇最優(yōu)參數(shù),輸出模型最終的分類結(jié)果。流程見圖2。
2.4.1傳統(tǒng)評(píng)價(jià)指標(biāo)對(duì)于均衡的數(shù)據(jù)集,常以整體的分類誤差為評(píng)價(jià)標(biāo)準(zhǔn),但對(duì)于不均衡的數(shù)據(jù)集,則以F-value和G-mean來(lái)評(píng)估。
表1 分類結(jié)果
正類樣本召回率
TPR=TP/(TP+FN)
(4)
負(fù)類樣本召回率
TNR=TN/(TN+FP)
(5)
正類樣本精確率
Precision=TP/(TP+FP)
(6)
F-value值
F=2·TPR·Precision/(TPR+Precision)
(7)
G-mean值
(8)
F-value值涵蓋少數(shù)類樣本的召回率和查準(zhǔn)率信息,較為全面地反映了少數(shù)類樣本的分類情況;G-mean值則包含了少數(shù)類和多數(shù)類樣本的召回率信息。兩類指標(biāo)結(jié)合可綜合反映模型的分類性能。
分類精度
(9)
AUC值[20]是ROC曲線與坐標(biāo)軸圍成的面積的大小。ROC曲線的橫坐標(biāo)為FPR,代表多數(shù)類樣本中被預(yù)測(cè)錯(cuò)誤的比率,即FPR=FP/(FP+TN);縱坐標(biāo)為TPR,代表少數(shù)類樣本中被正確預(yù)測(cè)的比率。AUC值越大表示ROC曲線越靠近左上方位置,模型分類效果越好。
2.4.2新評(píng)價(jià)指標(biāo)考慮到分類模型的穩(wěn)定性,本文在精確率、召回率和F-value評(píng)價(jià)指標(biāo)的基礎(chǔ)上,嘗試以各類別樣本量與樣本總量之比代表樣本的重要性,以各類別的分類效果與總體效果的差異代表分類效果的穩(wěn)定性,引入譚章祿等人提出的三類評(píng)價(jià)指標(biāo)平衡精確率(SP)、平衡召回率(SR)、平衡F-value(SF)[21]。
平衡精確率
(10)
其中,P1和P2分別代表第1和第2類的分類精確率,P代表總體樣本分類精確率的宏平均。
平衡召回率
(11)
其中,R1和R2分別代表第1和第2類的分類召回率,R代表總體樣本分類召回率的宏平均。
平衡F-value
(12)
其中,F(xiàn)1和F2分別代表第1和第2類的分類F-value,F(xiàn)代表總體樣本分類F-value的宏平均。三類指標(biāo)中的SP和SR分別衡量模型的查準(zhǔn)率和查全率,SF是一種綜合指標(biāo),指標(biāo)值在[0,1]>內(nèi),其值越大表示模型性能越好。
為驗(yàn)證混合采樣和粒子群算法優(yōu)化的隨機(jī)森林模型在財(cái)務(wù)困境預(yù)測(cè)中的效果,以巨潮資訊網(wǎng)2018—2019年中小板上市公司數(shù)據(jù)作為基礎(chǔ)樣本,將標(biāo)注ST的公司數(shù)據(jù)作為正類樣本,其余數(shù)據(jù)作為負(fù)類樣本,以此為基礎(chǔ)進(jìn)行分析。指標(biāo)說明[22]見表1。
對(duì)搜集到的數(shù)據(jù)進(jìn)行Z-score標(biāo)準(zhǔn)化處理,消除指標(biāo)量綱帶來(lái)的影響[23],最終得到2006個(gè)樣本,其中包含正樣本142個(gè),負(fù)樣本1864個(gè),不平衡率達(dá)到7.6%。從中隨機(jī)抽取70%作為訓(xùn)練集,其余作為測(cè)試集以作樣本預(yù)測(cè)。
表2 指標(biāo)說明
針對(duì)不平衡數(shù)據(jù),采用SMOTE算法與欠采樣結(jié)合的舊混合采樣和改進(jìn)的SMOTE算法與欠采樣結(jié)合的新混合采樣分別進(jìn)行處理。利用SMOTE時(shí),直接對(duì)正樣本進(jìn)行過采樣,對(duì)負(fù)樣本按適當(dāng)比例隨機(jī)欠采樣,使正負(fù)比接近1∶1,訓(xùn)練集數(shù)量接近600個(gè),每輪重復(fù)100次計(jì)算指標(biāo)平均值。利用改進(jìn)的SMOTE時(shí)則在原始正類的基礎(chǔ)上先創(chuàng)建“新正類”,用“新正類”代替原始正類之后,對(duì)“新數(shù)據(jù)集”進(jìn)行同上的SMOTE過采樣和隨機(jī)欠采樣處理,最終對(duì)比SMOTE系列和改進(jìn)的SMOTE系列的分類情況。
在混合采樣與PSO優(yōu)化的隨機(jī)森林組合模型中,參數(shù)部分給定種群個(gè)數(shù)初值n=20,迭代次數(shù)iters=50,學(xué)習(xí)因子c1=c2=1.5,速度限定橫向和縱向移動(dòng)的最大速度分別為4和2,權(quán)重ω=0.5,依據(jù)式(13)和(14)不斷更新空間內(nèi)的位置和速度[24],以達(dá)到適應(yīng)度AUC最大:
(13)
(14)
其中,r1和r2是區(qū)間[0,1]內(nèi)的隨機(jī)數(shù),針對(duì)參數(shù)ntree和mtry,范圍分別限定在[100,500]和[1,17]內(nèi)。
對(duì)不均衡數(shù)據(jù)集共構(gòu)建包含對(duì)照組在內(nèi)的10種模型:SMOTE+隨機(jī)欠采樣+Bagging(S_Bagging)、改進(jìn)的SMOTE+隨機(jī)欠采樣+Bagging(KS_Bagging)、SMOTE+隨機(jī)欠采樣+SVM(S_SVM)、改進(jìn)的SMOTE+隨機(jī)欠采樣+SVM(KS_SVM)、SMOTE+隨機(jī)欠采樣+BP神經(jīng)網(wǎng)絡(luò)(S_BP)、改進(jìn)的SMOTE+隨機(jī)欠采樣+BP神經(jīng)網(wǎng)絡(luò)(KS_BP)、SMOTE+隨機(jī)欠采樣+隨機(jī)森林(S_RF)、改進(jìn)的SMOTE+隨機(jī)欠采樣+隨機(jī)森林(KS_RF)、SMOTE+隨機(jī)欠采樣+粒子群算法優(yōu)化的隨機(jī)森林(S_PSO_RF)以及改進(jìn)的SMOTE+隨機(jī)欠采樣+粒子群算法優(yōu)化的隨機(jī)森林(KS_PSO_RF)。將Accuracy、AUC、G-mean和F-value作為少數(shù)類分類性能的評(píng)價(jià)指標(biāo),繪制模型的結(jié)果對(duì)比情況如圖3所示。
圖 3 十大模型結(jié)果對(duì)比
圖3中與由SMOTE和欠采樣組成的舊混合采樣處理過的數(shù)據(jù)相比,由改進(jìn)的SMOTE算法和欠采樣組成的新混合采樣提高了Bagging、支持向量機(jī)、BP神經(jīng)網(wǎng)絡(luò)和隨機(jī)森林模型對(duì)少數(shù)類的分類效果。4類模型在Accuracy、AUC、G-mean、F-value等指標(biāo)上均有顯著提升,大多數(shù)指標(biāo)值經(jīng)改進(jìn)的SMOTE算法和欠采樣處理后達(dá)到90%以上,其中隨機(jī)森林的分類效果最優(yōu),經(jīng)改進(jìn)后大部分指標(biāo)達(dá)95%以上。經(jīng)觀察,單獨(dú)的Bagging、SVM、BP神經(jīng)網(wǎng)絡(luò)和隨機(jī)森林發(fā)現(xiàn)模型的F-value都非常低,主要是由于這些模型自身對(duì)非均衡的分類問題敏感過度,從而導(dǎo)致少數(shù)類很難被正確預(yù)測(cè),在經(jīng)過改進(jìn)的SMOTE和欠采樣組成的新混合采樣處理之后,整體的F-value都有很明顯提高。
對(duì)比S_RF和S_PSO_RF可以發(fā)現(xiàn),經(jīng)過粒子群算法調(diào)參后,模型在目標(biāo)AUC值提升的基礎(chǔ)上,G-mean、F-value和整體Accuracy均有一定提升;對(duì)比KS_RF和KS_PSO_RF兩類模型發(fā)現(xiàn),除目標(biāo)AUC值提升外,G-mean有小幅提升,Accuracy和F-value有微弱下降。由此表明,粒子群算法在樣本數(shù)據(jù)質(zhì)量不同的條件下調(diào)優(yōu)效果不同,并且在提升目標(biāo)AUC值的同時(shí)會(huì)提升G-mean,整個(gè)模型對(duì)少數(shù)類的辨認(rèn)度也得到提高。從Accuracy、AUC、G-mean、F-value等4類指標(biāo)整體來(lái)看,KS_PSO_RF模型在10種模型中的分類效果最優(yōu)。
為深入研究改進(jìn)的SMOTE算法及欠采樣組成的新混合采樣和粒子群算法對(duì)模型分類結(jié)果的影響,針對(duì)新混合采樣和粒子群優(yōu)化的隨機(jī)森林組合模型,引入平衡精確率(SP)、平衡召回率(SR)、和平衡F-value(SF)等新指標(biāo)對(duì)其進(jìn)行評(píng)價(jià)。以SMOTE算法+隨機(jī)欠采樣+隨機(jī)森林組合模型(S_RF)為對(duì)照組,基于Accuracy、AUC、G-mean、F-value值、SP、SR和SF等7類指標(biāo)對(duì)改進(jìn)的SMOTE+隨機(jī)欠采樣+隨機(jī)森林(KS_RF)、SMOTE+隨機(jī)欠采樣+粒子群算法優(yōu)化的隨機(jī)森林(S_PSO_RF)和改進(jìn)的SMOTE+隨機(jī)欠采樣+粒子群算法優(yōu)化的隨機(jī)森林(KS_PSO_RF)共4類模型進(jìn)行指標(biāo)層面的對(duì)比,以評(píng)價(jià)分類的精確性和穩(wěn)定性。分別設(shè)定α=0(圖4a和b)、α=1(圖4c和d)和α=-1(圖4e和f),基于3種調(diào)節(jié)系數(shù)繪制模型分類的2種代表情況如圖4所示。
圖 4 評(píng)價(jià)指標(biāo)的評(píng)判結(jié)果
情形一 圖4a、c和e代表SMOTE系列模型和改進(jìn)的SMOTE系列模型兩類經(jīng)粒子群算法優(yōu)化后,傳統(tǒng)指標(biāo)(Accuracy、AUC、G-mean、F-value)均有部分提升。
情形二 圖4b、d和f代表SMOTE系列模型經(jīng)粒子群算法優(yōu)化后,傳統(tǒng)指標(biāo)(Accuracy、AUC、G-mean、F-value)均有部分提升,但改進(jìn)的SMOTE系列模型僅AUC和G-mean提升,Accuracy和F-value均下降。
兩類情形對(duì)比發(fā)現(xiàn),情形二更能凸顯粒子群算法的優(yōu)化效果,粒子群算法基于適應(yīng)度AUC值優(yōu)化的目標(biāo),能使G-mean與AUC始終保持同向增長(zhǎng),表明多數(shù)類樣本和少數(shù)類樣本的召回率均得到提升,使得SR同步增長(zhǎng)。
圖4b、d和f都能展現(xiàn)出粒子群算法的優(yōu)化效果,可以發(fā)現(xiàn)在不同模型下優(yōu)化效果不同。在SMOTE系列模型中SP、SR、SF值均有提升,模型穩(wěn)定性較高。在改進(jìn)的SMOTE系列模型中,總體效果SP和SF下降,模型穩(wěn)定性有微弱降低,但少數(shù)類的準(zhǔn)確分類使得SR顯著提升,特別是在圖4f(α=-1)中,樣本的數(shù)量分布對(duì)總體分類結(jié)果的影響被強(qiáng)化。同時(shí),在圖4中可以看出,相較于SMOTE算法和欠采樣組合的舊混合采樣,改進(jìn)后的SMOTE算法與欠采樣組合的新混合采樣大幅提高了7類評(píng)價(jià)指標(biāo)值。
針對(duì)公司財(cái)務(wù)困境預(yù)測(cè)中常出現(xiàn)的數(shù)據(jù)不均衡問題,本文提出一種基于混合采樣和隨機(jī)森林的財(cái)務(wù)預(yù)警模型。首先利用基于K-means改進(jìn)的SMOTE算法過采樣增加少數(shù)類的樣本數(shù)量,然后選擇適當(dāng)比例欠采樣獲得多數(shù)類樣本以構(gòu)建新的平衡數(shù)據(jù)集,在新的數(shù)據(jù)集上訓(xùn)練分類模型。對(duì)比由SMOTE算法和隨機(jī)欠采樣組合的舊混合采樣和由改進(jìn)的SMOTE算法和隨機(jī)欠采樣組合的新混合采樣在不同模型中的表現(xiàn),結(jié)果表明:在Bagging、SVM、BP神經(jīng)網(wǎng)絡(luò)以及隨機(jī)森林模型中,新混合采樣和隨機(jī)森林的組合模型性能最佳;在組合模型的基礎(chǔ)上,通過粒子群算法對(duì)模型參數(shù)進(jìn)行優(yōu)化,引入新指標(biāo)SP、SR、SF對(duì)模型進(jìn)行評(píng)價(jià),本文提出的新混合采樣和粒子群算法優(yōu)化的隨機(jī)森林模型(KS_PSO_RF)對(duì)少數(shù)類和整體都具有較好的分類性能。