陳雨芳 趙英杰 吳昕劼
(長春大學(xué) 理學(xué)院應(yīng)用統(tǒng)計(jì)系,吉林 長春 130024)
近幾年來,財(cái)務(wù)造假事件依然持高不下,操作手法更是多種多樣。據(jù)統(tǒng)計(jì)展示,2020年國家共查辦上市公司財(cái)務(wù)造假事件59起,約占信息處理總案件的1/4,為了保證市場的正常穩(wěn)定發(fā)展,查除上市公司財(cái)務(wù)造假問題不可懈怠。面對上市公司多年的財(cái)務(wù)數(shù)據(jù)報(bào)告,如何通過合理數(shù)據(jù)指標(biāo)篩選進(jìn)行跟蹤分析和研究,根據(jù)有效的理論構(gòu)建良好的財(cái)務(wù)造假識別模型,從而避免投資者踩雷,并能有效的解決市場監(jiān)督機(jī)構(gòu)和廣大投資者共同關(guān)心的問題。學(xué)者劉君和王理平(2006)[1],依據(jù)上市公財(cái)務(wù)數(shù)據(jù),使用徑向基概率神經(jīng)網(wǎng)絡(luò)算法構(gòu)建財(cái)務(wù)造假識別模型。陳國欣、呂占甲等(2007)[2],使用邏輯回歸模型,使用等同的造假與非造假上市公司的29個財(cái)務(wù)數(shù)據(jù)建模,結(jié)果顯示Logistic回歸的識別率為95%。此外,也有學(xué)者試圖使用多種模型進(jìn)行研究。李康(2011)[3],利用組合模型思想,構(gòu)建邏輯回歸模型和神經(jīng)網(wǎng)絡(luò)的組合預(yù)測模型。對上市公司財(cái)務(wù)數(shù)據(jù)進(jìn)行建模,認(rèn)為組合模型比單個模型識別效果更好。成雪嬌(2018)[4],構(gòu)建多個識別模型進(jìn)行綜合,使用投票法機(jī)制對上市公司是否造假進(jìn)行決策。國外諸多學(xué)者也進(jìn)行了研究,國外學(xué)者 Green(1997)[5],F(xiàn)anning 和 Cogger(1998)[6],在此方面研究較早,使用神經(jīng)網(wǎng)絡(luò)DNN對上市公司財(cái)務(wù)數(shù)據(jù)進(jìn)行實(shí)證分析,利用公司資產(chǎn)、壞賬準(zhǔn)備、盈利等指標(biāo)構(gòu)建財(cái)務(wù)造假識別模型。區(qū)別于使用單個模型,Ophir Gottlieb(2006)[7],以美國上市公司財(cái)務(wù)數(shù)據(jù)為研究對象,分別構(gòu)建Logistic回歸、SVM和貝葉斯模型,對比得出Logistic回歸和SVM 效果較好。P.Ravisankar等人(2010)[8],對比了多種數(shù)據(jù)挖掘方法,最終發(fā)現(xiàn)概率神經(jīng)網(wǎng)絡(luò)(PNN)構(gòu)建的模型識別效果最好等。
基于模型組合這一個研究思路,本文在構(gòu)建公司財(cái)務(wù)造假識別模型中,不僅包含有常用的機(jī)器學(xué)習(xí)模型,比如RL、DT等模型,也使用了比較火熱的集成學(xué)習(xí)算法XGBoost進(jìn)行建模,同時使用Voting和Stacking算法進(jìn)行模型融合,以模型的AUC值和Accuracy作為評估指標(biāo),對比不同機(jī)制下模型的準(zhǔn)確率,最終發(fā)現(xiàn)使用Stacking融合得到的模型效果最好,并以此作為最終預(yù)測模型。本文通過上市公司財(cái)務(wù)造假識別的研究,使得投資者識別了財(cái)務(wù)造假的公司,保障了投資者的權(quán)益,避免“黑天鵝”事件的發(fā)生,降低投資者的盲目性。同時也能給監(jiān)管部門提供相應(yīng)建議,給出上市公司在財(cái)務(wù)造假上更加傾向的財(cái)物指標(biāo)作為重要核對對象。
圖1:文章整體框架圖
本文實(shí)驗(yàn)原始數(shù)據(jù)源于第九屆泰迪杯競賽中披露的11310組真實(shí)財(cái)務(wù)報(bào)表數(shù)據(jù),包含了363項(xiàng)數(shù)據(jù)指標(biāo),其中前10個指標(biāo)為無關(guān)變量指標(biāo),因此真實(shí)有用的財(cái)務(wù)數(shù)據(jù)指標(biāo)共353項(xiàng)。選取0(財(cái)務(wù)正常)和1(財(cái)務(wù)造假)作為目標(biāo)變量。
在財(cái)務(wù)數(shù)據(jù)的處理過程中,參考資料得知,現(xiàn)有的填補(bǔ)方法包括常值插法、熱卡插值法、回歸插值法等缺失值填補(bǔ)法都存在一定不足,比如使用均值填補(bǔ)的時候會改變數(shù)據(jù)的原始分布,造成一定的抽樣誤差,因?yàn)椴煌局g規(guī)模大小不同,財(cái)務(wù)情況也不會完全相同,所以使用均值填充的時候會損失一部分信息,不能很好地表示每個公司之間的差別,此外公司間的財(cái)務(wù)結(jié)算標(biāo)準(zhǔn)可能存在差異,均值填充不能很好地體現(xiàn)出缺失值的不確定性。本文做了缺失值填補(bǔ)效果的對比性分析,通過在正常數(shù)據(jù)中隨機(jī)取點(diǎn),記錄下非空點(diǎn)值。將該位置重新賦值為空,通過多種缺失值填補(bǔ)方法,計(jì)算扣取點(diǎn)的真實(shí)值與填補(bǔ)值之間的誤差,對比MSE和MAE的結(jié)果。結(jié)果如下表1所示,認(rèn)為隨機(jī)森林填補(bǔ)缺失值的方法最為有效?;谝陨峡紤],本次填補(bǔ)缺失值我們選擇的是機(jī)器學(xué)習(xí)中的隨機(jī)森林算法。
表1:各方法缺失值填充效果對比表
建立模型之前需要進(jìn)行數(shù)據(jù)預(yù)處理,對于缺失比例過多的指標(biāo),如果選擇使用小部分已知數(shù)據(jù)去填補(bǔ)大部分未知的數(shù)據(jù),可能會造成填補(bǔ)的數(shù)據(jù)偏離數(shù)據(jù)的真實(shí)情況,對模型預(yù)測產(chǎn)生干擾,因此刪除是比較可靠的方法。本文對指標(biāo)數(shù)據(jù)缺失大于50%的指標(biāo)選擇剔除,對于缺失數(shù)量較少的指標(biāo),經(jīng)過對比填充效果,選擇使用隨機(jī)森林進(jìn)行缺失值填補(bǔ),最終得到建模數(shù)據(jù)集。
對于模型來說,指標(biāo)分為相關(guān)指標(biāo)、無關(guān)指標(biāo)、冗余指標(biāo),因此我們需要對其進(jìn)行指標(biāo)篩選工作,剔除一部分無關(guān)和冗余的特征,留下含有較大信息量的相關(guān)特征。由于提供的財(cái)務(wù)數(shù)據(jù)中財(cái)務(wù)指標(biāo)比較齊全,包含了大部分常見的財(cái)務(wù)特征,因此本文不選擇使用特征構(gòu)造的方法,認(rèn)為提供的特征能很好識別財(cái)務(wù)造假情況。剔除冗余和不相關(guān)的特征能夠使得模型更加精確,同時在模型訓(xùn)練過程中也可以更好更快發(fā)現(xiàn)數(shù)據(jù)中隱含的信息和規(guī)律。指標(biāo)選擇的方法有很多,比如:嵌入式(embedding)、包裹式(wrapper)、過濾式(filter)等。
在使用Lasso算法篩選變量的時候,得到的變量只有三個,使用三個變量進(jìn)行建模會損失很多信息,因此Lasso篩選結(jié)果僅作為參考。然后使用正態(tài)性檢驗(yàn)(KS檢驗(yàn)和W檢驗(yàn))檢測各指標(biāo)是否服從正態(tài)分布,結(jié)果顯示大部分指標(biāo)是不符從正態(tài)分布的。接著使用曼惠特尼非參數(shù)方法,篩選出在造假數(shù)據(jù)和非造假數(shù)據(jù)中存在顯著區(qū)別的指標(biāo)變量,一共47個指標(biāo)。接著使用隨機(jī)森林進(jìn)行進(jìn)一步指標(biāo)篩選,根據(jù)各個指標(biāo)對隨機(jī)森林每一棵樹的貢獻(xiàn)程度,得到占據(jù)總得分80%的指標(biāo)作為建模指標(biāo),一共篩選出29個指標(biāo)如表2所示。
表2:最終篩選財(cái)務(wù)指標(biāo)
未分配利潤 0.035864741 應(yīng)付職工薪酬 0.023144投資活動產(chǎn)生的現(xiàn)金流量凈額 0.033201561 取得投資收益收到的現(xiàn)金 0.021956銷售費(fèi)用 0.033164612 收到其他與經(jīng)營活動有關(guān)的現(xiàn)金 0.021564收到其他與投資活動有關(guān)的現(xiàn)金 0.033079546 分配股利、利潤或償付利息支付的現(xiàn)金 0.017263應(yīng)付利息 0.032806095 少數(shù)股東損益 0.016675投資活動現(xiàn)金流出小計(jì) 0.031568338 實(shí)收資本(或股本) 0.016544支付的各項(xiàng)稅費(fèi) 0.024197018 營業(yè)收入 0.016466支付給職工和為職工支付的現(xiàn)金 0.023953429 營業(yè)成本 0.016066非流動負(fù)債合計(jì) 0.023901551 經(jīng)營活動現(xiàn)金流入小計(jì) 0.0157歸屬于少數(shù)股東的綜合收益總額 0.021085614
SHAP主要作用是量化每個特征對模型所作預(yù)測的貢獻(xiàn)情況,主要思想是博弈論中Shapley值的方法,通過計(jì)算每個特征對prediction的貢獻(xiàn),對模型判斷結(jié)果進(jìn)行解釋,該方法的整體框架如圖2所示。
圖2:SHAP框架圖
目前多數(shù)解釋機(jī)器學(xué)習(xí)模型的都是基于簡單模型(比如線性回歸模型),而一些復(fù)雜常用的機(jī)器學(xué)習(xí)模型是不容易理解的。對于樹模型,SHAP使用Shapley值作為一種可加特征歸因方法,并滿足三大屬性:局部準(zhǔn)確性(Local accuracy),一致性(Consistency)和缺失性(Missingness)。隨機(jī)森林模型衡量特征重要性的指標(biāo)有信息增益(Gain)、分裂次數(shù)(Weight)、節(jié)點(diǎn)樣本量(Cover)。不同的重要特征指標(biāo)選擇會導(dǎo)致特征重要性排序不一致,雖然通過重要性排序可以基本看出特征維度在模型中要重要性。但該指標(biāo)沒有給出重要性的積極或負(fù)向影響,無法判斷特征與最終預(yù)測結(jié)果的關(guān)系是如何的。SHAP值則彌補(bǔ)了目前樹模型算法可解釋性的不足,很好的展示了變量對模型起到的正負(fù)性影響。
首先對一個label為1的樣本(即存在財(cái)務(wù)造假的數(shù)據(jù))進(jìn)行SHAP值可視化分析,結(jié)果圖3所示(黑白展示下,SHAP值可視化圖片做了特殊處理,便于查看)。
圖3:label為1的樣本SHAP值可視化
接著對label為0的某一樣本進(jìn)行SHAP值可視化分析,結(jié)果如圖4所示。
圖4:label為0的樣本SHAP值可視化
上圖4中右側(cè)淺色斜線部分表示該特征的貢獻(xiàn)是負(fù)向的,左側(cè)深色部分表示該特征那個的貢獻(xiàn)是正向的,而寬度表示的是該特征對于目標(biāo)變量的影響程度,寬度越寬,說明該特征的影響越大。從兩個圖中可以看出,在圖3中可以看出可供出售金融資產(chǎn)指標(biāo)(AVAIL_FOR_SALE_FA)為深色正向排在最前面,而且長度最長,說明在造假公司的數(shù)據(jù)中可供出售金融資產(chǎn)特征起到的作用是最大的,說明該特征對于公司造假具有很強(qiáng)的識別能力。兩圖對比展示了特征在非造假公司的數(shù)據(jù)與造假公司作用的區(qū)別,因此從結(jié)果上可以看出使用非參數(shù)方法+隨機(jī)森林的組合方法篩選得到的特征具有很強(qiáng)的財(cái)務(wù)造假識別能力。
由于篩選出的變量數(shù)據(jù)中存在嚴(yán)重的數(shù)據(jù)不平衡問題,其中造假公司數(shù)據(jù)與非造假公司的比例約為250∶1。如果未處理該問題,訓(xùn)練出的模型就會傾向于樣本量較多的數(shù)據(jù),這樣得到的模型結(jié)果偏差較大甚至毫無意義。因此在建模之前使用SMOTE算法對少數(shù)類樣本重抽樣,使得造假數(shù)據(jù)和非造假數(shù)據(jù)的比例為1∶1,避免機(jī)器學(xué)習(xí)模型對少數(shù)類樣本欠學(xué)習(xí)。
SMOTE算法主要步驟如下:
1、使用歐式距離計(jì)算少數(shù)類(需要采樣的類Smin)中每個樣本xi到該類中其他樣本的距離,得出k個最近位置。
2、根據(jù)設(shè)定采樣比例N確定不平衡樣本需采樣的數(shù)量,接著從k個最近位置中隨機(jī)選擇若干個樣本。
3、根據(jù)隨機(jī)選擇出的緊鄰樣本xj,與原樣本x計(jì)算構(gòu)建新樣本。
對財(cái)務(wù)造假的研究過程中發(fā)現(xiàn),財(cái)務(wù)造假的重要影響因素可以歸納為財(cái)務(wù)指標(biāo)因素和非財(cái)務(wù)指標(biāo)因素兩種,而財(cái)務(wù)因素大致又可以分為償債能力,成長能力,盈利能力,運(yùn)營能力以及現(xiàn)金流量等方面,這些因素在一定程度上可以反映出公司的財(cái)務(wù)和經(jīng)營狀況。本文選擇XGBoost模型、邏輯回歸模型(Logistic Regression)以及決策樹模型(Decision Tree)對上述指標(biāo)進(jìn)行深入挖掘分析,建立財(cái)務(wù)造假識別模型,以下是對這三種機(jī)器學(xué)習(xí)模型以及模型評價指標(biāo)進(jìn)行簡要說明。
1、決策樹模型(DT)
決策樹是一種具有分類與回歸作用的算法,本文建立的是財(cái)務(wù)識別分類算法,因此主要討論的是分類樹。分類決策樹是一種描述分類的樹形結(jié)構(gòu),旨在基于訓(xùn)練數(shù)據(jù)學(xué)習(xí)經(jīng)驗(yàn)對目標(biāo)分類做出判斷。決策樹從根節(jié)點(diǎn)開始,在生長過程中需要選擇合適的分裂節(jié)點(diǎn),最終得到一棵完整樹模型。常用的選擇標(biāo)準(zhǔn)如下:
(1)純度。純度可以理解為數(shù)據(jù)之間的相似度,純度越高作分裂節(jié)點(diǎn)越好;
(2)信息熵。信息論中表示信息的不確定度,定義為:
(3)信息增益。表示在得知X信息后Y信息不確定性的減少程度,其中特征A對集合D的信息增益g(D,A) =H(D)-H(D|A),其中H(D)表示集合D的信息熵,H(D|A)表示為特征A信息已知后集合D的經(jīng)驗(yàn)條件熵。
(4)信息增益比。為改正信息增益會偏重選擇分類較多的特征作為分裂節(jié)點(diǎn),使用帶來更大信息增益比值的特征進(jìn)行分裂更加合理,即:
(5)基尼指數(shù)。描述數(shù)據(jù)的純度,集合D的基尼指數(shù)為:
其中屬于第k類的數(shù)據(jù)子集用CK表示,K表示類的數(shù)量。得到的基尼指數(shù)值越大,樣本集合的不確定性就越大。
本文使用基尼指數(shù)的方式利用上市公司財(cái)務(wù)數(shù)據(jù)建立CART分類決策樹,使用預(yù)剪枝的方式對完整決策樹進(jìn)行修改,減少過擬合情況的發(fā)生,更大程度提升模型的泛化能力。
2、邏輯回歸模型(LR)
邏輯回歸模型中雖然帶有回歸二字,卻是經(jīng)典的分類模型。二分類問題上,Logistic通過對特征數(shù)據(jù)壓縮至0和1之間達(dá)到分類的效果,模型的條件概率分布為:
模型使用極大似然估計(jì)法來求得w參數(shù),對應(yīng)似然函數(shù)為:
對L(w)求極大值,得到w值的估計(jì)。
3、XGBoost模型
XGBoost模型是一種集成模型,通過將多個基學(xué)習(xí)器(比如單棵決策樹)組合成一個各項(xiàng)性能都有所提升的強(qiáng)學(xué)習(xí)器。XGBoost的思想是一種提升樹模型,通過前向分布算法,每次擬合前一個樹的殘差學(xué)習(xí)K棵決策樹的加法模型,并通過貪心算法找到局部的最優(yōu)解。
每一次迭代中,尋找使整體損失值下降最大的特征建樹,因此目標(biāo)函數(shù)可以寫成:
接著使用泰勒展開對目標(biāo)參數(shù)求取近似值:
樹模型中復(fù)雜度可以使用樹的深度、中間節(jié)點(diǎn)數(shù)量、弱學(xué)習(xí)器的個數(shù)等衡量。XGBoost中加入了L2正則項(xiàng)來防止模型過擬合,假設(shè)一棵樹中包含T個葉子節(jié)點(diǎn),每個葉子節(jié)點(diǎn)上的樣本權(quán)重為ωj,則模型的復(fù)雜度Ω(f)定義為:
其中復(fù)雜度的第一部分控制著樹結(jié)構(gòu),第二部分為正則項(xiàng),可以通過判斷葉子節(jié)點(diǎn)的數(shù)量T來判斷樹的深度,γ為自定義控制葉子數(shù)量的參數(shù)。帶入正則項(xiàng)后,最終XGBoost的目標(biāo)函數(shù)為:
4、Voting算法
投票法,常用的有加權(quán)投票法和簡單投票法,通過加權(quán)重的方式將多個模型得到的結(jié)果進(jìn)行投票表決,票數(shù)多的結(jié)果獲勝,避免了單一模型的精度不足問題,同時一定程度可以防止過擬合的發(fā)生。
5、Stacking算法
Stacking是對訓(xùn)練數(shù)據(jù)建立單學(xué)習(xí)器預(yù)測結(jié)果的二次學(xué)習(xí),使用真實(shí)結(jié)果與單學(xué)習(xí)器的預(yù)測結(jié)果訓(xùn)練一個相對簡單的學(xué)習(xí)器,對測試數(shù)據(jù)輸出進(jìn)行整合。
6、模型評估指標(biāo)
(1)混淆矩陣。展示了數(shù)據(jù)的真實(shí)類別與預(yù)測結(jié)果之間的關(guān)系。
表3:混淆矩陣
(2)識別準(zhǔn)確率(Accuracy)
(3)識別反饋率(Recall)
(4)ROC曲線。受試者工作特性(Receiver Operating Characteristic ROC)曲線是由橫軸為假正例率與縱軸為真正例率構(gòu)成的曲線圖,可以反映出分類模型的效果,是二分類問題的常用評價指標(biāo)。其中ROC曲線下的面積大小就是AUC值,反映分類器正確分類的統(tǒng)計(jì)概率,AUC值越接近1表明模型分類效果越好。
使用 XGBoost模型、Logistic模型、決策樹模型、Voting和Stacking等方法結(jié)合篩選出來的變量建立財(cái)務(wù)造假識別模型,經(jīng)過網(wǎng)格搜索和交叉驗(yàn)證等方法得到性能最優(yōu)的模型,各個模型在測試集上的結(jié)果如下表4所示。
表4:單個模型和stacking融合效果對比
圖5:Logistic模型的ROC曲線
圖6:決策樹模型的ROC曲線
圖7:XGBoost模型的ROC曲線
圖8:Voting和Stacking效果對比圖
通過對比模型效果,可以看出單個模型中XGBoost模型得到的效果很好,AUC的值和準(zhǔn)確率都很高,表示模型可以很好地學(xué)習(xí)到數(shù)據(jù)中的規(guī)律。雖然XGBoost中加入了正則項(xiàng)來控制模型的過擬合,但是模型還是存在一定程度上的過擬合,其他單個模型都有各自的優(yōu)點(diǎn),得到的預(yù)測效果也不盡相同。對比與單個模型,Voting融合得到的結(jié)果相較于全部模型平均來說會更好一點(diǎn),在預(yù)測精度方面得到了一定的提高。表現(xiàn)效果最好的是Stacking融合得到的結(jié)果,通過二次建模,將單個模型的預(yù)測結(jié)果進(jìn)行整合,最終得到更加準(zhǔn)確的結(jié)果。
本文使用制造業(yè)上市公司財(cái)務(wù)數(shù)據(jù)結(jié)合機(jī)器學(xué)習(xí)算法及模型融合思想,建立了財(cái)務(wù)造假識別模型,主要目的是構(gòu)建最優(yōu)的分類預(yù)測模型來識別制造業(yè)中上市公司的財(cái)務(wù)數(shù)據(jù)中是否存在造假情況。通過對比指標(biāo)篩選的結(jié)果可以看出,財(cái)務(wù)是否造假與支付其他與籌資活動有關(guān)的現(xiàn)金、投資支付的現(xiàn)金、收到的稅費(fèi)返還、營業(yè)外支出、未分配利潤、應(yīng)付利息、投資活動現(xiàn)金流出小計(jì)、支付的各項(xiàng)稅費(fèi)、應(yīng)付職工薪酬、少數(shù)股東損益等等有著顯著關(guān)系,在判斷是否存在財(cái)務(wù)造假方面具有較強(qiáng)區(qū)分能力。本文在識別模型選取上,使用XGBoost、決策樹、Logistics回歸這三種建模方法??紤]到單模型的魯棒性、識別能力和泛化能力可能存在不足,本文選擇使用組合模型的思想,結(jié)合上述三種模型采用Voting投票方法和Stacking層疊方法進(jìn)行建模,這樣建立的模型較為穩(wěn)定,不存在嚴(yán)重過擬合且效果較好。結(jié)果顯示Voting算法得到的ACC為98.5%,而Stacking得到的ACC為99.1%,Stacking策略的效果更好,對于財(cái)務(wù)造假的識別能力更強(qiáng)。綜上所述,本文通過篩選影響指標(biāo)構(gòu)建融合的上市公司財(cái)務(wù)造假識別模型具有較高的識別準(zhǔn)確性及現(xiàn)實(shí)意義,在能夠給投資者提供投資參考的同時,也能給監(jiān)管者提出相關(guān)建議,使得公司財(cái)務(wù)數(shù)據(jù)得到更好地監(jiān)管。