鄭 列, 鮑 佳
(湖北工業大學理學院, 湖北 武漢 430068)
財務困境預測模型最初主要是Beaver[1]的單變量判別模型、Altman[2]的多變量判別分析模型和Ohlson[3]的Logistic模型等。隨著機器學習和數據挖掘逐步運用到財務困境的預測中,Min等[4]對比多個模型發現支持向量機效果更優。黃衍[5]針對制造業上市公司研究了支持向量機、BP神經網絡和隨機森林模型,最后發現三者中隨機森林最優,且在不平衡問題中基于投票閾值調整的隨機森林模型相對更優。張娜[6]基于BP神經網絡、決策樹和支持向量機分別構建財務預警模型,設計集成Ada Boost_BP、Ada Boost_DT以及Ada Boost_SVM等3個財務預警分類器,結果發現Ada Boost_DT的效果最優。陳子之[7]針對地方政府債務,采用梯度提升樹構建預警模型,發現該算法優于BP神經網絡。史立新[8]研究上市公司財務預警時將xgboost與隨機森林的組合模型、支持向量機、logistic回歸模型、ANN模型對比,證明組合模型擁有更優的性能。
針對財務困境公司與財務正常公司占比差別大、數據不均衡的情況,研究者開始探究基于不均衡數據的財務困境預測問題。商志明[9]從非平衡角度出發集成Bagging、SMOTE和SVM構建SB-SVM預警模型;孟杰[10]基于不平衡數據樣本對比分析Logistic回歸等4類模型,結果表明隨機森林集成學習的預測效果更好;李揚[11]應用加權正則化支持向量機構建的財務困境模型解決了非平衡數據問題和財務指標選擇問題。現階段對不均衡問題的研究大多從數據層和算法層展開。數據層主要是對數據進行過采樣或欠采樣處理,以SMOTE系列為代表,涵蓋SMOTE[12]、Borderline-SMOTE[13]和Safe-level-SMOTE[14],算法層是基于代價敏感和集成學習。本文采用改進的SMOTE算法和隨機欠采樣組合的新混合采樣對數據進行平衡處理,再對新訓練集建立隨機森林模型,并與Bagging、SVM和BP神經網絡進行對比,采用粒子群算法對隨機森林模型進行參數調優,以達到對財務困境的精準預測。
SMOTE算法主要是通過增加少數類樣本量以達到兩類間的平衡,一般基于k近鄰和線性插值方法,在距離較近的兩個少數類樣本之間插入新樣本。其插值公式為:
(1)

K-means算法主要基于相似性原則,將相似度較高的對象分至同一類。其一般以距離為評價指標,對象之間間距越小相似度越高。算法流程如下:
Step 1 在訓練集x(1),x(2),…,x(m)中隨機選擇k個類簇中心為z1,z2,z3,…,zk∈Rn;


Step 4 迭代2和3直至所有的類簇中心沒有變化為止。其中,k為事先給定的聚類數,Cj為重新劃分好的類簇,zj為每輪猜測的類簇中心。
混合采樣是融合過采樣和欠采樣以達到正負樣本平衡的方法。混合采樣不會造成大量的負樣本特征丟失,在數據處理中也不會產生過多的噪聲,能夠有效提升正樣本和負樣本的分類正確率。對于SMOTE算法目前存在的邊界模糊和合成樣本質量不高的問題,先基于K-means算法思想對SMOTE進行改進[17],再與隨機欠采樣結合形成混合采樣。
首先,找到少數類樣本中大部分類的中心,在創建“新增少數類”的過程中,盡可能使新產生的樣本向中心靠近,從而解決SMOTE算法在新生成樣本時易邊緣化的問題。由新合成數據代替原始少數類數據后,其分布上的改變將有助于最終分類性能的提升。算法如下:
Step 1 找到少數類樣本的中心;利用統計軟件SPSS中的K-means算法,將少數類樣本進行K-means聚類,在分類結果中選擇數目最多的一類作為少數類樣本的中心,去除聚類數目較少的類簇樣本,只保留數目最多的一類,其中心記作Xc;
Step 2 基于以下規則,對保留的少數類數據處理,得到“新增少數類”
pj=x+rand(0,1)·(Xc-x),j=1,2,…,N
(2)
其中,pj為生成的新增少數類樣本,rand(0,1)為區間(0,1)內的任一隨機數,x為第一步中保留的數目最多的少數類;
Step 3 用“新增少數類”代替原始數據中的少數類,再將獲得的數據代入SMOTE進行過采樣,對多數類選擇合適的比例采用隨機欠采樣處理,得到最終的實驗樣本。
隨機森林[18]是由多個決策樹模型h(X,θk),k=1,2,…,K組合的分類模型。在給定自變量X和決策樹k時,每個基分類器通過投票得到最佳分類,k輪訓練后得到分類模型序列為{h1(X),h2(X),…,hk(X)},再用它們構造一個多分類模型系統,最終結果以多數投票為準,隨機森林的分類結果
(3)
其中:hi(x)代表單個決策樹模型的分類結果;Y為分類目標;I(·)為示性函數。
粒子群算法[19]主要是通過個體信息的迭代尋找群體空間中最優解。算法中的每個粒子表示一個候選解,粒子依據適應度值搜索空間內最優的粒子,其搜索流程見圖1。

圖 1 基于隨機森林的粒子群算法參數優化流程
假設種群個數為n,種群表示為X=(X1,X2,…,XD),空間內第i個粒子的位置為Xi=(xi1,xi2,…,xiD),速度為Vi=(vi1,vi2,…,viD),第i個粒子所尋找的當前最佳位置為Pi=(pi1,pi2,…,piD),其為局部最優值。所有粒子所尋找到的當前最佳位置為Pg=(pg1,pg2,…,pgD),其為全局最優值。
針對數據不均衡問題,采用混合采樣對數據處理以達到平衡狀態,再利用分類效果好的隨機森林模型進行分類預測,隨機森林中的參數問題采用粒子群算法進行優化,具體步驟如下。
Step 1 在原始不平衡數據的基礎上,隨機抽取70%作為訓練集,其余30%作為測試集擬作樣本預測。利用改進的SMOTE技術擴增訓練集少數類樣本,隨機欠采樣技術獲取訓練集多數類樣本,使兩者數量相等,總數大致為原始數量的1/2左右。
Step 2 將數量相同的多數類和少數類樣本放在一起形成新的平衡訓練集,利用隨機森林模型對測試集分類預測。
Step 3 對于隨機森林中的模型參數,通過粒子群算法不斷迭代選擇最優參數,輸出模型最終的分類結果。流程見圖2。
2.4.1傳統評價指標對于均衡的數據集,常以整體的分類誤差為評價標準,但對于不均衡的數據集,則以F-value和G-mean來評估。

表1 分類結果
正類樣本召回率
TPR=TP/(TP+FN)
(4)
負類樣本召回率
TNR=TN/(TN+FP)
(5)
正類樣本精確率
Precision=TP/(TP+FP)
(6)
F-value值
F=2·TPR·Precision/(TPR+Precision)
(7)
G-mean值
(8)
F-value值涵蓋少數類樣本的召回率和查準率信息,較為全面地反映了少數類樣本的分類情況;G-mean值則包含了少數類和多數類樣本的召回率信息。兩類指標結合可綜合反映模型的分類性能。
分類精度
(9)
AUC值[20]是ROC曲線與坐標軸圍成的面積的大小。ROC曲線的橫坐標為FPR,代表多數類樣本中被預測錯誤的比率,即FPR=FP/(FP+TN);縱坐標為TPR,代表少數類樣本中被正確預測的比率。AUC值越大表示ROC曲線越靠近左上方位置,模型分類效果越好。
2.4.2新評價指標考慮到分類模型的穩定性,本文在精確率、召回率和F-value評價指標的基礎上,嘗試以各類別樣本量與樣本總量之比代表樣本的重要性,以各類別的分類效果與總體效果的差異代表分類效果的穩定性,引入譚章祿等人提出的三類評價指標平衡精確率(SP)、平衡召回率(SR)、平衡F-value(SF)[21]。

平衡精確率
(10)
其中,P1和P2分別代表第1和第2類的分類精確率,P代表總體樣本分類精確率的宏平均。
平衡召回率
(11)
其中,R1和R2分別代表第1和第2類的分類召回率,R代表總體樣本分類召回率的宏平均。
平衡F-value
(12)
其中,F1和F2分別代表第1和第2類的分類F-value,F代表總體樣本分類F-value的宏平均。三類指標中的SP和SR分別衡量模型的查準率和查全率,SF是一種綜合指標,指標值在[0,1]>內,其值越大表示模型性能越好。
為驗證混合采樣和粒子群算法優化的隨機森林模型在財務困境預測中的效果,以巨潮資訊網2018—2019年中小板上市公司數據作為基礎樣本,將標注ST的公司數據作為正類樣本,其余數據作為負類樣本,以此為基礎進行分析。指標說明[22]見表1。
對搜集到的數據進行Z-score標準化處理,消除指標量綱帶來的影響[23],最終得到2006個樣本,其中包含正樣本142個,負樣本1864個,不平衡率達到7.6%。從中隨機抽取70%作為訓練集,其余作為測試集以作樣本預測。

表2 指標說明
針對不平衡數據,采用SMOTE算法與欠采樣結合的舊混合采樣和改進的SMOTE算法與欠采樣結合的新混合采樣分別進行處理。利用SMOTE時,直接對正樣本進行過采樣,對負樣本按適當比例隨機欠采樣,使正負比接近1∶1,訓練集數量接近600個,每輪重復100次計算指標平均值。利用改進的SMOTE時則在原始正類的基礎上先創建“新正類”,用“新正類”代替原始正類之后,對“新數據集”進行同上的SMOTE過采樣和隨機欠采樣處理,最終對比SMOTE系列和改進的SMOTE系列的分類情況。
在混合采樣與PSO優化的隨機森林組合模型中,參數部分給定種群個數初值n=20,迭代次數iters=50,學習因子c1=c2=1.5,速度限定橫向和縱向移動的最大速度分別為4和2,權重ω=0.5,依據式(13)和(14)不斷更新空間內的位置和速度[24],以達到適應度AUC最大:
(13)
(14)
其中,r1和r2是區間[0,1]內的隨機數,針對參數ntree和mtry,范圍分別限定在[100,500]和[1,17]內。
對不均衡數據集共構建包含對照組在內的10種模型:SMOTE+隨機欠采樣+Bagging(S_Bagging)、改進的SMOTE+隨機欠采樣+Bagging(KS_Bagging)、SMOTE+隨機欠采樣+SVM(S_SVM)、改進的SMOTE+隨機欠采樣+SVM(KS_SVM)、SMOTE+隨機欠采樣+BP神經網絡(S_BP)、改進的SMOTE+隨機欠采樣+BP神經網絡(KS_BP)、SMOTE+隨機欠采樣+隨機森林(S_RF)、改進的SMOTE+隨機欠采樣+隨機森林(KS_RF)、SMOTE+隨機欠采樣+粒子群算法優化的隨機森林(S_PSO_RF)以及改進的SMOTE+隨機欠采樣+粒子群算法優化的隨機森林(KS_PSO_RF)。將Accuracy、AUC、G-mean和F-value作為少數類分類性能的評價指標,繪制模型的結果對比情況如圖3所示。

圖 3 十大模型結果對比
圖3中與由SMOTE和欠采樣組成的舊混合采樣處理過的數據相比,由改進的SMOTE算法和欠采樣組成的新混合采樣提高了Bagging、支持向量機、BP神經網絡和隨機森林模型對少數類的分類效果。4類模型在Accuracy、AUC、G-mean、F-value等指標上均有顯著提升,大多數指標值經改進的SMOTE算法和欠采樣處理后達到90%以上,其中隨機森林的分類效果最優,經改進后大部分指標達95%以上。經觀察,單獨的Bagging、SVM、BP神經網絡和隨機森林發現模型的F-value都非常低,主要是由于這些模型自身對非均衡的分類問題敏感過度,從而導致少數類很難被正確預測,在經過改進的SMOTE和欠采樣組成的新混合采樣處理之后,整體的F-value都有很明顯提高。
對比S_RF和S_PSO_RF可以發現,經過粒子群算法調參后,模型在目標AUC值提升的基礎上,G-mean、F-value和整體Accuracy均有一定提升;對比KS_RF和KS_PSO_RF兩類模型發現,除目標AUC值提升外,G-mean有小幅提升,Accuracy和F-value有微弱下降。由此表明,粒子群算法在樣本數據質量不同的條件下調優效果不同,并且在提升目標AUC值的同時會提升G-mean,整個模型對少數類的辨認度也得到提高。從Accuracy、AUC、G-mean、F-value等4類指標整體來看,KS_PSO_RF模型在10種模型中的分類效果最優。
為深入研究改進的SMOTE算法及欠采樣組成的新混合采樣和粒子群算法對模型分類結果的影響,針對新混合采樣和粒子群優化的隨機森林組合模型,引入平衡精確率(SP)、平衡召回率(SR)、和平衡F-value(SF)等新指標對其進行評價。以SMOTE算法+隨機欠采樣+隨機森林組合模型(S_RF)為對照組,基于Accuracy、AUC、G-mean、F-value值、SP、SR和SF等7類指標對改進的SMOTE+隨機欠采樣+隨機森林(KS_RF)、SMOTE+隨機欠采樣+粒子群算法優化的隨機森林(S_PSO_RF)和改進的SMOTE+隨機欠采樣+粒子群算法優化的隨機森林(KS_PSO_RF)共4類模型進行指標層面的對比,以評價分類的精確性和穩定性。分別設定α=0(圖4a和b)、α=1(圖4c和d)和α=-1(圖4e和f),基于3種調節系數繪制模型分類的2種代表情況如圖4所示。



圖 4 評價指標的評判結果
情形一 圖4a、c和e代表SMOTE系列模型和改進的SMOTE系列模型兩類經粒子群算法優化后,傳統指標(Accuracy、AUC、G-mean、F-value)均有部分提升。
情形二 圖4b、d和f代表SMOTE系列模型經粒子群算法優化后,傳統指標(Accuracy、AUC、G-mean、F-value)均有部分提升,但改進的SMOTE系列模型僅AUC和G-mean提升,Accuracy和F-value均下降。
兩類情形對比發現,情形二更能凸顯粒子群算法的優化效果,粒子群算法基于適應度AUC值優化的目標,能使G-mean與AUC始終保持同向增長,表明多數類樣本和少數類樣本的召回率均得到提升,使得SR同步增長。
圖4b、d和f都能展現出粒子群算法的優化效果,可以發現在不同模型下優化效果不同。在SMOTE系列模型中SP、SR、SF值均有提升,模型穩定性較高。在改進的SMOTE系列模型中,總體效果SP和SF下降,模型穩定性有微弱降低,但少數類的準確分類使得SR顯著提升,特別是在圖4f(α=-1)中,樣本的數量分布對總體分類結果的影響被強化。同時,在圖4中可以看出,相較于SMOTE算法和欠采樣組合的舊混合采樣,改進后的SMOTE算法與欠采樣組合的新混合采樣大幅提高了7類評價指標值。
針對公司財務困境預測中常出現的數據不均衡問題,本文提出一種基于混合采樣和隨機森林的財務預警模型。首先利用基于K-means改進的SMOTE算法過采樣增加少數類的樣本數量,然后選擇適當比例欠采樣獲得多數類樣本以構建新的平衡數據集,在新的數據集上訓練分類模型。對比由SMOTE算法和隨機欠采樣組合的舊混合采樣和由改進的SMOTE算法和隨機欠采樣組合的新混合采樣在不同模型中的表現,結果表明:在Bagging、SVM、BP神經網絡以及隨機森林模型中,新混合采樣和隨機森林的組合模型性能最佳;在組合模型的基礎上,通過粒子群算法對模型參數進行優化,引入新指標SP、SR、SF對模型進行評價,本文提出的新混合采樣和粒子群算法優化的隨機森林模型(KS_PSO_RF)對少數類和整體都具有較好的分類性能。