張志敏
[提要] 本文以A股上市公司作為研究對象,運(yùn)用python中的sklearn模塊,以隨機(jī)森林算法對上市公司財務(wù)危機(jī)預(yù)警指標(biāo)進(jìn)行選取,并與依據(jù)顯著性相關(guān)性選取出的指標(biāo)進(jìn)行對比,找出兩者在指標(biāo)選取上存在的差異,并依據(jù)選取的財務(wù)指標(biāo)分別建立隨機(jī)森林模型;與此同時,還分別構(gòu)建Logistic回歸模型、SVM支持向量機(jī)模型、決策樹模型,并進(jìn)行展開比較。分析表明:充分利用隨機(jī)森林展開上市公司財務(wù)危機(jī)預(yù)警研究比傳統(tǒng)的方式更準(zhǔn)確,更能夠精確預(yù)判上市公司財務(wù)危機(jī)。
關(guān)鍵詞:特征遞歸消除;隨機(jī)森林;logistic回歸;財務(wù)危機(jī)預(yù)警
中圖分類號:F23 文獻(xiàn)標(biāo)識碼:A
收錄日期:2020年7月2日
一、引言
近年來,我國A股市場每年都會出現(xiàn)許多被特殊處理的公司,且上市公司在資本市場上占有很重要的地位,因此,對上市公司的財務(wù)危機(jī)預(yù)警展開研究有著重要的戰(zhàn)略意義。上市公司作為推動經(jīng)濟(jì)發(fā)展的重要主體,對其進(jìn)行財務(wù)危機(jī)預(yù)警規(guī)避財務(wù)風(fēng)險顯得尤為重要,出現(xiàn)財務(wù)危機(jī)既不利于公司的穩(wěn)定發(fā)展,還減少了經(jīng)營管理者及投資人的合法利益,通過財務(wù)危機(jī)預(yù)警分析模型可以對公司財務(wù)展開預(yù)估,給扭轉(zhuǎn)財務(wù)危機(jī)局面提供充裕的空間,減少公司倒閉的概率。隨著機(jī)器學(xué)習(xí)算法、大數(shù)據(jù)、人工智能的發(fā)展,越來越多的學(xué)者將其引入到風(fēng)險識別及危機(jī)預(yù)警中,并有研究表明機(jī)器學(xué)習(xí)算法在風(fēng)險識別及危機(jī)預(yù)警方面具有較大的優(yōu)勢。
二、隨機(jī)森林概述
隨機(jī)森林算法是有由Leo Breiman和Adele Cutler(2001)最早提出的,是一種集成學(xué)習(xí)算法,它將不同的決策樹進(jìn)行組合,利用這種組合降低單一決策樹有可能帶來的片面性和判斷不準(zhǔn)確性,它也是目前機(jī)器學(xué)習(xí)算法和數(shù)據(jù)挖掘算法最為熱門的研究領(lǐng)域之一。他的基本思想是:首先利用Bootstrap重抽樣方法從N個原始訓(xùn)練樣本中抽取n(n 本文會用到隨機(jī)森林的一大特點,即利用OOB評估來評估模型的分類效果。所謂OOB評估是指:當(dāng)采用Bootstrap重抽樣方法時,原始訓(xùn)練樣本中每個樣本未被選取的(1-1/N)N,N表示訓(xùn)練集樣本的個數(shù)。當(dāng)N足夠大時,根據(jù)重要極限的推到,(1-1/N)N將近似收斂于1/e≈36.8,這表示原始訓(xùn)練集中會有將近37%的樣本不會出現(xiàn)在Bootstrap樣本中,這些數(shù)據(jù)被稱為袋外數(shù)據(jù)。由于有接近37%的誤差不會出現(xiàn)在訓(xùn)練集中,所以O(shè)OB數(shù)據(jù)也可以起到測試集作用,檢驗?zāi)P皖A(yù)測效果。 另外,本文還利用隨機(jī)森林模型的另一個特點變量重要性的度量來對原始變量做篩選,從而建立合理的指標(biāo)體系。 鑒于以上對隨機(jī)森林的介紹,本文建立基于隨機(jī)森林遺傳算法的財務(wù)危機(jī)預(yù)警模型。在已有文獻(xiàn)研究中,充分利用組合分類算法進(jìn)行研究的學(xué)者還較少,而隨機(jī)森林作為一種集成學(xué)習(xí)算法,具有不易過擬合、善于處理高維度數(shù)據(jù)、對存在噪聲和缺失的樣本具有很好的魯棒性、具有較高的預(yù)測精度等優(yōu)點。 三、研究樣本、研究變量和研究設(shè)計 (一)研究樣本。為保證數(shù)據(jù)的真實性和可靠性,所選數(shù)據(jù)全部來自于國泰安數(shù)據(jù)庫。以公司是否被特殊處理即是否被ST及*ST為標(biāo)識,選取2019年首次被特殊處理的82家公司及1990~2019年上市以來從未被特殊處理過的2,859家公司為研究對象。由于企業(yè)在第T年被宣布ST或者*ST是由于公司在第T-1年及第T-2年財務(wù)上出現(xiàn)較差的情況,所以選用公司在第T-3年財務(wù)數(shù)據(jù)指標(biāo)基礎(chǔ)上進(jìn)行建模,當(dāng)公司在2019年被特殊處理時賦值為1,否則賦值為0。即,選擇2,941家樣本公司在2016年所有可以獲取的財務(wù)數(shù)據(jù)指標(biāo)進(jìn)行建模。 (二)研究變量。財務(wù)危機(jī)預(yù)警模型包含兩個主要工作:一是從初始財務(wù)指標(biāo)中篩選出危機(jī)預(yù)警指標(biāo),即存在財務(wù)危機(jī)的企業(yè)都含有怎樣的特征組合;二是進(jìn)行預(yù)警模型算法的選擇。前者是對企業(yè)財務(wù)危機(jī)預(yù)警信息進(jìn)行深層次的挖掘,后者是對財務(wù)危機(jī)預(yù)警算法技術(shù)的應(yīng)用,兩者同時對企業(yè)財務(wù)危機(jī)預(yù)警產(chǎn)生影響。目前,危機(jī)預(yù)警理論還缺乏系統(tǒng)的理論支持,學(xué)者們對企業(yè)危機(jī)預(yù)警的研究大都是從可獲得的實際數(shù)據(jù)出發(fā),采用實際經(jīng)驗進(jìn)行研究討論,用試錯的方法,逐個考察變量的組合在實際訓(xùn)練樣本數(shù)據(jù)中的體現(xiàn),挑選出能夠突出判斷能力的變量組合來構(gòu)建最終的預(yù)估分析模型。 本文借鑒已有學(xué)者的研究,選取了能代表企業(yè)償債能力、經(jīng)營能力、盈利能力、發(fā)展能力、企業(yè)現(xiàn)金流量、比率結(jié)構(gòu)這六類指標(biāo)下29個具體的財務(wù)指標(biāo),具體變量如表1所示。(表1) (三)隨機(jī)森林模型的構(gòu)建。分析預(yù)警模型構(gòu)建之前應(yīng)該對于數(shù)據(jù)展開預(yù)處理,包括異樣系數(shù)缺失系數(shù)的處理、訓(xùn)練樣本不太平衡的處理、經(jīng)濟(jì)指標(biāo)正態(tài)性檢驗、相關(guān)性顯著性檢驗。 1、樣本缺失值異常值的處理。對于缺失值,一般可以選擇用這一列數(shù)據(jù)的“平均值”、“中位數(shù)”、“眾數(shù)”進(jìn)行填補(bǔ),也可以對缺失數(shù)據(jù)進(jìn)行整行刪除。但由于本文是以機(jī)器學(xué)習(xí)算法進(jìn)行建模,是在大數(shù)據(jù)的基礎(chǔ)上進(jìn)行建模,如果樣本量過少,會造成模型精度的降低,所以對于缺失值,本文沒有進(jìn)行刪除,而是以樣本均值對缺失值進(jìn)行填補(bǔ)。 2、類別不均衡的處理。由于2019年首次被ST公司只有82家,只占所選樣本的2.8%,出現(xiàn)數(shù)據(jù)偏斜,即樣本不均衡。樣本不均衡會造成樣本量低的分類所包含的特征過少,并很難從中提取規(guī)律,即使得到分類模型,也很容易產(chǎn)生過度依賴于有限的數(shù)據(jù)而導(dǎo)致過擬合的問題,當(dāng)模型應(yīng)用到新的數(shù)據(jù)上時,模型的準(zhǔn)確性將會很差。本文通過利用python中的SMOTE算法對樣本不均衡進(jìn)行過采樣處理。SMOTE算法的基本原理為:合成新的少數(shù)類樣本,合成的策略是對少數(shù)類樣本a,從它的最近鄰中隨機(jī)選一個樣本b,然后在a、b之間的連線上隨機(jī)選一點作為新合成的少數(shù)類樣本。進(jìn)行SMOTE處理后的樣本分布如圖2。(圖1、圖2)
3、隨機(jī)森林模型的構(gòu)建。在構(gòu)建危機(jī)預(yù)警分析模型時,不能將所選用的所有初始財務(wù)指標(biāo)均作為預(yù)警模型的輸入變量,倘若初始指標(biāo)很多,反而可能由于指標(biāo)間的相關(guān)關(guān)系等問題降低模型的預(yù)測性能。
特征遞歸消除的隨機(jī)森林算法(RFE-RF)把需要的特征集合初始化為整個數(shù)據(jù)集合,每次去掉一個排序準(zhǔn)則分?jǐn)?shù)最小的數(shù)據(jù),直到取得最后的特征集,由此可知RFE-RF應(yīng)是一個基于RF的最大間隔原理的序列后向選擇算法。
在本文中,首先根據(jù)各指標(biāo)對模型的貢獻(xiàn)程度進(jìn)行排序,可以看到排在最前面的指標(biāo)即貢獻(xiàn)度最大的指標(biāo)為X27全部現(xiàn)金回收率,排在最末尾的是X16營業(yè)利潤率。然后,我們利用python中的序列后向選擇算法逐一刪除指標(biāo),并計算出在該指標(biāo)下的模型精確度。由圖3我們可以看出,當(dāng)隨機(jī)森林的輸入變量為9個時,此時所挑選的指標(biāo)最少且模型的精確度較高,由圖4我們可以看出,每個指標(biāo)對上市公司危機(jī)預(yù)警的重要程度及重要性排名。(圖3、圖4)
本文選取圖4中排名前9位的財務(wù)變量作為隨機(jī)森林的輸入變量,分別為X27、X5、X28、X4、X13、X26、X8、X24、X6,模型的輸出結(jié)果為0.95979,說明他的識別精度為0.95979。
4、進(jìn)一步檢驗。為了進(jìn)一步驗證隨機(jī)森林在進(jìn)行上市公司財務(wù)危機(jī)預(yù)警時的準(zhǔn)確性,本文又進(jìn)行了進(jìn)一步的研究。在選擇企業(yè)財務(wù)預(yù)警指標(biāo)時選用傳統(tǒng)的相關(guān)性顯著性方式選取指標(biāo),比較其與充分利用隨機(jī)森林展開指標(biāo)選取時的差異,進(jìn)而進(jìn)一步驗證隨機(jī)森林的精確性。
(1)財務(wù)指標(biāo)的正態(tài)性檢驗。在展開顯著檢驗之前,應(yīng)當(dāng)考察樣本的分布情況,并以此來確定使用哪種方法來進(jìn)行預(yù)警指標(biāo)的差異顯著性檢驗。本文使用算法來做K-S檢驗,來判斷各個財務(wù)指標(biāo)是否服從正態(tài)分布,檢驗結(jié)果在所有的P值均小于0.05,說明所有的財務(wù)指標(biāo)均不服從正態(tài)分布。對于不遵從正態(tài)分布的財務(wù)指標(biāo)的差異顯著性檢驗應(yīng)當(dāng)選用非參數(shù)的檢驗方法。
(2)財務(wù)指標(biāo)的差異顯著性檢驗。選用Mannwhitneyu檢驗法,對2個獨(dú)立樣本進(jìn)行非參數(shù)檢驗。找出對于分辨ST公司和非ST公司有貢獻(xiàn)的財務(wù)指標(biāo)。檢驗結(jié)果如表2所示。可以看出,財務(wù)指標(biāo)X1、X2、X3、X4、X5、X6、X7、X8、X10、X12、X14、X15、X16、X23、X24、X26、X28的P值均小于0.05,通過了顯著性檢驗,剩余其他指標(biāo)均予以剔除。(表2)
(3)財務(wù)指標(biāo)的相關(guān)性顯著性檢驗。通過Mannwhitneyu顯著性檢驗的指標(biāo)可能存在相關(guān)關(guān)系,且本文的財務(wù)指標(biāo)數(shù)據(jù)均不服從正態(tài)分布,因而本文選擇用斯皮爾曼相關(guān)性檢驗方法。通過檢驗,發(fā)現(xiàn)X1、X2、X3具有高度關(guān)聯(lián)性,去掉X2、X3;X4、X5具有高度關(guān)聯(lián)性,去掉X5;X7、X8具有高度關(guān)聯(lián)性,X8、X10具有高度關(guān)聯(lián)性,去掉X8;X12、X14、X15、X16具有高度關(guān)聯(lián)性,去掉X1、X15、X16;X23、X26具有高度關(guān)聯(lián)性,去掉X23。最后剩余的指標(biāo)為X1、X4、X6、X7、X10、X12、X24、X26、X28。其中,X1、X4為償債能力指標(biāo),X6、X7、X10為經(jīng)營能力指標(biāo),X12為盈利能力指標(biāo),X24、X26為發(fā)展能力指標(biāo),X28為企業(yè)的比率結(jié)構(gòu)。
(4)隨機(jī)森林模型的構(gòu)建。將通過顯著顯著性檢驗的指標(biāo)輸入到隨機(jī)森林中建模,得到模型的識別精度為0.94732。將此結(jié)果與利用隨機(jī)森林的遞歸特征指標(biāo)篩選法篩選的指標(biāo)的建模結(jié)果進(jìn)行比較,發(fā)現(xiàn)利用隨機(jī)森林篩選出的指標(biāo)識別率更高些,而且利用隨機(jī)森林篩選特征更簡單些。
四、模型比較
現(xiàn)階段,關(guān)于危機(jī)預(yù)警的分析模型已有很多,但是以往的分析模型一多半采納的是多元線性判斷分析模型,少部分開始采納機(jī)器學(xué)習(xí)算法分析模型,如決策樹模型、支持向量機(jī)模型等,因此為了進(jìn)一步驗證隨機(jī)森林在危機(jī)預(yù)警識別上的優(yōu)勢及準(zhǔn)確性,本文又分別建立了Logistic、svm向量機(jī)、決策樹模型。并比較各個模型在accuracy_score、precision_score、recall_score、f1_score、auc_score上的差異,其中accuracy_score表示模型精度,precision_score表示模型準(zhǔn)確率,recall_score表示模型召回率,f1_score表示模型F1得分,auc_score表示ROC曲線下面積。(表3)
表3結(jié)果表明,在所有財務(wù)指標(biāo)度量中,隨機(jī)森林也體現(xiàn)出較高的精確性,從而意味著隨機(jī)森林分析模型可以將盡量多的存有企業(yè)財務(wù)經(jīng)營風(fēng)險的公司找出來。
五、結(jié)論
本文的財務(wù)危機(jī)預(yù)警是針對我國A股市場所有上市公司開展的,在借鑒已有學(xué)者研究的基礎(chǔ)上,從償債能力、發(fā)展能力、經(jīng)營能力、每股指標(biāo)、盈利能力及比率結(jié)構(gòu)這6個方面構(gòu)建財務(wù)危機(jī)預(yù)警指標(biāo),并采用隨機(jī)森林算法構(gòu)建財務(wù)危機(jī)預(yù)警模型。一方面指標(biāo)的選用對于企業(yè)財務(wù)危機(jī)預(yù)警具有至關(guān)重要的影響,本文統(tǒng)計已有研討文獻(xiàn)中選用頻次較高的辦法,一定程度上可以提升企業(yè)財務(wù)預(yù)警指標(biāo)的可靠性。與此同時,研討中不但考慮到預(yù)警的正確率,并且重點剖析了特性指標(biāo)的選用,得知隨機(jī)森林在妥善處理高維數(shù)據(jù)指標(biāo)上具備很大的優(yōu)勢,而且通過實證得知隨機(jī)森林遺傳算法比Logistic回歸、svm方程機(jī)、決策樹分析模型更適合展開危機(jī)預(yù)警,原因是隨機(jī)森林遺傳算法是一種集成學(xué)習(xí)遺傳算法,在對我國所有上市公司樣本展開危機(jī)預(yù)警時,不但能夠確保不會預(yù)警過分。另一方面對處于危機(jī)中的公司有較高的準(zhǔn)確率。研究表明,隨機(jī)森林算法在企業(yè)財務(wù)危機(jī)預(yù)警中具有較高的性能,為學(xué)術(shù)界進(jìn)行危機(jī)預(yù)警及風(fēng)險識別的研究提供了一種新方法,也為股東、債權(quán)人、企業(yè)經(jīng)營管理者和監(jiān)管層的決策分析提供了一種合理的技術(shù)手段。
主要參考文獻(xiàn):
[1]石先兵.基于PCA-SVM的企業(yè)財務(wù)危機(jī)預(yù)警模型構(gòu)建[J].財會通訊,2020(10).
[2]張培榮.基于XGBoost模型的企業(yè)財務(wù)危機(jī)預(yù)警研究[J].財會通訊,2019(35).
[3]宋彪,朱建明,李煦.基于大數(shù)據(jù)的企業(yè)財務(wù)預(yù)警研究[J].中央財經(jīng)大學(xué)學(xué)報,2015(06).