曾曙蓮 王濤 (教授) 段亞窮 (湖北民族大學 湖北恩施 445000)
近幾年,世界經濟的不穩定增加了企業經營的不穩定性,2021年僅制造業就有四家上市公司陷入了財務危機,包括 *ST寶德(300023)、*ST德新(603032)、*ST東網(002175)、ST松煬(603863)。對于上市公司而言,面對外部條件不確定性增強的現狀,如何有效識別、規避、分散和防范風險是企業穩定發展的重要一環。其中對財務風險的管控應著眼于企業經營的各個環節,而財務風險預警研究作為企業風險管理的重要課題,通過建立科學有效的財務風險預警模型進行分析預測,能夠幫助企業在財務工作中提前發現可能存在的風險跡象,降低潛在的財務風險,輔助投資者規避風險,同時也有利于證券市場的健康發展。因此,上市公司財務預警問題對于企業自身以及投資者、政府監管機構等各方利益相關者具有較強的現實意義。
在研究上市公司的財務狀況時,根據證監會對經營狀況惡化的上市公司實施特別處理(Sepecial Treatment,ST)制度,大多數學者通常以上市公司是否被ST作為財務出現危機的標準,依據該標準,ST公司和非ST公司的兩組研究樣本是典型的二分類數據。如何建立一個準確率較高的預測分類模型是財務風險預警的重點(王小燕和姚佳含,2020)。從模型構建來看,最初多采用單變量財務風險預警判定模型。Fitzpatrick(1932)利用單個財務指標判斷不超過20家公司的財務狀況,通過單變量分析得到股東權益/負債、凈利潤/股東權益判斷最為準確。隨著市場條件的變化,財務風險逐漸多樣化,有學者在單一變量模型的基礎上提出了多元變量預警模型,即通過對多個財務變量指標進行加權處理構造出多元函數來進行預測分析。Altman(1968)選取了22個財務指標,采用多元性判別方法進行判別分析,得到五個最佳判別指標構建多元財務預警Z-score模型。在此基礎上,我國學者結合我國國情建立了F-Score模型,如周首華等(1996)考慮了企業現金流量變動情況,替換了部分傳統財務指標。多元性判別方法需要樣本服從正態分布,但實際中收集到的數據并不完全遵循這一特征,且對樣本指標的要求較多,邏輯回歸模型對樣本的要求則更為寬松。吳世農和盧賢義(2001)將樣本容量均為70的經營良好與處于財務困境的企業進行對比實驗,運用Fisher判定法、多元判定法及Logistic回歸分析法展開預警分析,得到Logistic回歸分析法誤判率最低的結論,僅為6.47%。雖然上述統計模型所需參數少、訓練時間短、結構不復雜,但有嚴格的統計假設限制及數據分布,且多重共線性也會影響結果。隨著信息技術的發展,機器學習的應用為財務預警的研究提供了新思路,例如決策樹(宋宇和李鴻禧,2020)、隨機森林(孫玲莉等,2021)、神經網絡(Mselmi et al,2017)等方法。
然而,考慮到我國市場上被ST的企業所占比例的實際情況,被ST的上市公司和非ST上市公司的數量差異較大,實驗往往需要大量的數據。而傳統的分類模型基于數據平衡分布假設(平瑞等,2020),應用不平衡數據時,結果會發生偏移,導致模型的準確率降低,失去預警功能。有學者通過采用數據預處理或提出改進的新算法,減少類不平衡對分類產生的影響,例如重采樣方法、代價敏感法、分類器集成法等。SMOTE(Synthetic Minority Oversampling Technique)算法由Chawla于2002年提出,目前廣泛應用于醫學診斷識別、信用卡欺詐檢測等領域,較少應用于財務預警領域。
綜上所述,本文在XGBoost模型的基礎上引入SMOTE算法,從數據預處理著手,改進數據的不平衡性,構建SMOTE-雙層XGBoost模型,并用于我國A股上市公司的財務風險預警研究,以相同數據集為例,與KNN、隨機森林、邏輯回歸、決策樹的預測準確性相比較,分析不同模型的預警效果。
SMOTE算法是在樸素隨機采樣基礎上的改進,由于樸素隨機采樣算法是通過簡單的復制來增加樣本數量,沒有對少數類樣本產生新的有用信息,容易出現模型過擬合問題,繼而導致模型的泛化性變低。而SMOTE算法是通過計算少數類樣本中每一個樣本的歐氏距離,得到K近鄰,再根據數據樣本不平衡比例確定采樣率,從K近鄰中選擇隨機若干樣本和原少數樣本生成“少數類樣本”,即“合成少數類過采樣”。如圖1中五角星為少數類、圓圈為多數類,方塊則為生成的“少數類樣本”,即式1中的xnew。


圖1 SMOTE算法原理圖
XGBoost是由華盛頓大學的陳天奇博士于2015年在GBDT的基礎上改進而來的,屬于boosting迭代型,出現得較晚,應用較少。相對于GBDT算法,XGBoost算法損失函數進行了二階泰勒展開提高了求解效率,在損失函數中引入正則項提升了泛化能力,因其具有運行處理速度快、效果好、穩健性強、能較好地控制誤差等優點而備受關注。在實際應用中支持多種語言、支持自定義損失函數,更具便利性。具體的目標函數如下:

本文利用XGBoost的特征重要性分析和回歸模型建立雙層XGBoost模型,其中第一層為數據處理層,利用XGBoost對預警指標分析降維,對財務預警指標約簡;第二層為分類層,并聯合SMOTE算法建立SMOTE-雙層XGBoost財務風險預警模型。
本文的財務指標數據選擇范圍限制在我國A股市場的非金融業上市公司。本文依照企業是否被ST作為財務出現危機的標準來判斷上市公司的財務狀況,需要說明的是,相對于ST企業,*ST企業更具退市風險,其財務風險特征較為明顯,因此,本文以*ST即“帶星摘帽”的上市公司為研究對象,研究的區間為2007—2019年。研究樣本的選取分為兩個步驟,首先選取2010—2020年首次被特別處理的250家上市公司,為了能夠較為系統地代表上市公司,研究樣本來自不同行業,具有不同的規模。第二步,根據數據收集的完整情況及按照相同年度、同一行業、資產規模相近的原則等進行分析,以1∶2的比例選取500家正常經營的上市公司作為樣本數據。以企業首次被特別處理的當年作為基期,即第T年,例如基礎數據為2010年時,則ST的前一年2009年為T-1期,2008年為T-2期,2007年為T-3期。本文使用T-1期、T-2期、T-3期的財務數據預測基期的上市公司財務風險狀態。
在獲取原始樣本集后,一般而言,由于數據集中存在大量的空值,所以要進行空值處理,大多數文獻選擇利用各個指標的中位數或眾數填充,而插值會對結果產生影響,為避免這一情況,本文選擇刪除缺失值的方式進行處理。
在數據可獲取的前提下,在選取財務指標時應盡量全面地反映企業的財務狀況,本文借鑒以往文獻中指標的選取,從盈利能力(企業獲取利潤的能力)、償債能力(企業償還債務的能力)、成長能力(企業未來發展趨勢以及發展速度)、營運能力(企業通過自身人力資源和生產資料的配置組合創造價值的能力)以及現金流量(一段時間內企業的現金增減變動,反映企業的資產變現能力)、比率結構(企業某項經濟指標在整體中所占比重)這六個方面來選取財務預警指標。通過初步篩選得到具有代表性的財務指標共51個,如表1所示。

表1 財務預警變量初選特征編號列表
由于財務指標具有多樣性和信息性,其包含的經濟意義不盡相同,而部分財務指標之間的相關性比較強,結構錯綜復雜,51個預警指標的選取過程存在一定的主觀性。此外,若將收集的所有指標直接用于預警模型,會出現模型冗余、信息重合和計算結果不易解釋等問題,影響分類結果。因此,在建立模型前有必要對51個預警指標進行降維,選擇出信息含量較高且相關性較低的指標。
本文利用XGBoost模型對數據特征進行分析降維,首先根據初始數據集訓練模型,計算得出51個預警指標的重要性。如圖2所示,橫坐標為51個預警指標的特征編號,與表1的特征編號相對應,縱坐標為XGBoost特征重要性分析進行加權求和平均得到的重要性得分,51個預警指標得分加總為100。一般來說,重要性得分用來衡量某一特征在模型構建中的價值,本文利用XGBoost模型對初選的51個預警指標進行重要性排序,凈資產收益率、資產凈利率、銷售費用率、財務費用率、非籌資性現金凈流量與負債總額的比率、存貨周轉率、經營現金凈流量、無形資產比率等重要性程度較高;流動比率、速動比率、產權比率、營業收入現金含量、資產負債率等重要性程度相對較低。其中,凈資產收益率(Return on Equity,ROE)用來衡量企業運用自有資本獲得利潤的能力,其綜合性較強,反映了管理者的綜合管理水平,是杜邦分析中的核心指標,也是衡量企業盈利能力的重要指標。

圖2 特征重要性
其次,依據各個指標的重要性程度排序結果,最初采用重要性程度最高的一個指標進行訓練,得到預測精度;第二次增加為重要性程度排序前兩位的指標進行訓練并記錄結果;之后從高到低依次遞增進行訓練并記錄,將該步驟的結果可視化形成特征數量與模型精度關系圖,如圖3所示。觀察該折線圖,橫坐標為特征數量,縱坐標為模型精確度,從趨勢線可以看出,隨著特征數量的增加,模型精度在0.80上下波動。當特征數量為28時,精準度最高,為0.83。據此,本文選擇了重要度最高的前28個特征構造數據集。

圖3 特征數量與模型精度關系圖
1.模型評價標準。在完成原始數據集的預處理后,本文將數據以4∶3∶3的比例劃分為訓練集、測試集、驗證集,以檢測模型的預警準確率。為了更好地說明SMOTE-雙層XGBoost模型的效果,本文采用了二分類問題常見的評價指標精準率、召回率、F1得分、ACC四個評價指標來評估模型的預測效果。將關注的ST公司標記為正類,正常公司標記為負類,四種結果真正類、真負類、假正類、假負類如表2所示。

表2 混淆矩陣表
精準率(又稱查準率)描述了全部預測為ST公司的樣本中實際為ST公司的樣本量,而召回率(又稱查全率)則是描述實際為ST公司的樣本中有多少被正確預測。由于前兩項評價指標有時存在矛盾的情況,加入F1的得分,即在對查準率和查全率重視程度相同的情況下,模型性能的一個定量評估標準。ACC可簡單理解為正確預測的樣本數占所有樣本數的比例,即準確率。由于本文以1∶2的比例選取ST公司和正常公司,數據分布不均衡,簡單地以查準率為評價指標不夠科學全面,因此增加ACC指標。根據表2混淆矩陣表的分類,精準率、召回率、F1、ACC四個評價指標的計算公式分別如下:

2.XGBoost模型與SMOTE-XGBoost模型的預測準確性比較。為了縮小兩類樣本數量的差異,提升模型預測的準確性,本文采用SMOTE算法對標簽1進行過采樣,即生成少數類樣本增加樣本量,先對比加入SMOTE算法前后XGBoost模型的預測能力。本文將未加入SMOTE算法前后的分類結果可視化,如圖4所示,每一列代表預測類別,而每一行代表實際類別,結合表2可知,此時有四種分類:TP、FP、FN、TN,分別與圖中的4個方塊對應,TP、TN對應預測正確的部分,FP、FN則相反。通過觀察XGBoost混淆矩陣(左)圖,能夠迅速判斷存在數據分布不均衡的情況,加入SMOTE后,數據的不平衡性得到改善,如SMOTE-XGBoost混淆矩陣(右)圖所示,且結合表3可知,加入SMOTE后ST公司的精準率提高了6%,總體準確率增加了3%。

圖4 XGBoost混淆矩陣(左)和SMOTE-XGBoost混淆矩陣(右)
表3中標簽0代表正常公司,標簽1代表ST公司,XGBoost模型、SMOTE-XGBoost模型的準確率分別為0.89、0.92。加入SMOTE后,對于ST公司的精準率、召回率、F1分數分別為0.93、0.91、0.92。對于正常公司的精準率、召回率、F1分數分別為0.90、0.93、0.91。對比沒有加入SMOTE的ST公司的精準率、召回率、F1分數分別提高了0.06、0.14、0.10。由實驗可得平衡數據集對于提升XGBoost模型的預測準確率是有效果的。

表3 XGBoost模型與SMOTE-XGBoost模型對照表
3.SMOTE-XGBoost模型與其他模型預測準確性的比較。由SMOTE-XGBoost模型與傳統XGBoost模型的預測準確性比較結果可知,在處理數據階段,加入SMOTE算法能夠提高模型預測的分類性能。為對比不同模型的效果,本文選取機器學習基本分類算法中的邏輯回歸、KNN、決策樹,以及集成分類算法中的隨機森林和XGBoost為代表,均基于加入SMOTE算法后的數據集進行實驗,將得到的結果通過精準率、召回率、F1分數、ACC四個分類評價指標進行評價,結果如表4所示。

表4 SMOTE-XGBoost模型與其他模型對照表
從評價指標ACC看,準確率從高到低依次為:XGBoost、隨機森林、決策樹、KNN、邏輯回歸,準確率依次為0.92、0.88、0.87、0.65、0.64。分類效果最好的是XGBoost,主要參數均好于其他分類算法,能夠更好地用于財務風險預測,對于ST公司的精準率、召回率、F1分數分別為0.93、0.91、0.92;對于正常公司的精準率、召回率、F1分數分別為0.90、0.93、0.91。其次是隨機森林,對于ST公司的精準率、召回率、F1分數分別為0.85、0.90、0.88;對于正常公司的精準率、召回率、F1分數分別為0.91、0.86、0.88。效果較差的有邏輯回歸,對于ST公司的精準率、召回率、F1分數分別為0.44、0.74、0.55;對于正常公司的精準率、召回率、F1分數分別為 0.84、0.60、0.70,對比 SMOTE-XGBoost模型的預測結果,SMOTE-XGBoost模型預測的準確率明顯較高,提高了28%。其中對于ST公司精準率、召回率、F1分數分別增長了49%、17%、37%;對于正常公司精準率提高了6%,召回率提升了33%,F1分數提升了21%。
黨的十九大報告指出“堅決打好防范化解重大風險的攻堅戰”。為增強企業應對風險的能力,健全風險控制機制,本文針對財務預警中存在的樣本數據不平衡、預警指標具有客觀性等難題,提出了SMOTE-雙層XGBoost財務風險預警模型,并將其與XGBoost模型進行對比分析,最后利用加入SMOTE的數據集,將XGBoost、KNN、隨機森林、邏輯回歸、決策樹五種模型的精準率、召回率、F1分數進行對比分析。得到的主要結論如下:一是企業財務狀況受多方面因素影響,本文利用XGBoost對財務指標數據特征進行了篩選,避免了選取財務指標時的主觀性,經過數值分析發現,降維后構建的模型對于分類的準確性提高了,同時也避免了因特征維度過高產生特征冗余;二是加入SMOTE算法后XGBoost模型能夠處理數據不平衡的問題,有效提升模型的預測分類性能,使得財務預警模型提升效果表現得更好,優于傳統XGBoost模型;三是通過對機器學習算法中XGBoost、KNN、隨機森林、邏輯回歸、決策樹五種模型進行比較分析和綜合研究,為管理者和利益相關者選擇最優模型提供參考,XGBoost和隨機森林作為集成分類算法要明顯優于基本分類算法,而XGBoost作為Boosting迭代型,性能要明顯優于其他方法。該模型擴展了XGBoost模型在不同領域的應用,同時也為上市公司財務風險預警研究提供了新視角。在實踐中,可為企業管理層和財務部門、市場監督部門防范可能出現的財務風險提供分析工具和方法。
基于以上三點主要結論,本文提出以下建議:對于企業管理者來說,應組織完善企業內部控制體系建設、保障經濟活動合法合規及財務信息的真實完整,以確保財務預警模型的有效性;對于企業財務人員來說,應關注財務要素的變動,例如凈資產收益率、資產凈利率、財務費用率的變動,及時報告,增強預警意識。企業財務風險的成因復雜多樣,且是一個漸進的過程,存在于企業管理的各個方面,隨著大數據、人工智能等新一代信息技術的出現,財務風險預警方法也在不斷改進,作為投資者,應運用上市公司對外發布的財務報表、相關企業的輿情信息等,結合財務風險預警模型對企業未來財務狀況做出判斷并進行投資策略的調整。此外,在互聯網時代,技術的迭代為企業帶來了機遇,同時,世界經濟環境的全球化和信息化為企業帶來了挑戰,由于市場環境因素、法律法規及相關政策的變化、輿情信息的傳播速度加快等原因,均給企業的財務狀況帶來了不確定性,本文在選取預警指標時僅考慮了企業內部的財務信息,均為結構化數據,未考慮到企業外部一些非結構化數據對企業財務狀況的影響,如市場特征及行情、產業信息、利率、信貸、輿情、政策導向等,如何將非結構化數據轉換為結構化數據、從中提取有效的特征并進行風險預測是今后的研究重點。