石 濤
(廣東工業大學 自動化學院,廣東 廣州 510000)
近年來大量小微型企業的活力釋放,小微企業已經成長為國民經濟的重要組成部分,對我國的國際民生產生重要的影響[1]。由于資金、管理、決策等一系列行為導致很多企業都無法長久經營,能否預測出企業的風險對于銀行等借貸機構就顯得非常重要了。銀行準確預測出企業的停業風險就可以合理地投放貸款,減少損失。傳統的大型企業財務信息公開完善,且在銀行等借貸領域的信用記錄也可查詢,使用這些完備的數據便可以預測企業風險;但是小微型企業一般不會公開自己的財務信息,并且獲得的行為數據也都不完整,所以使用傳統的方法分析是行不通的。
為了解決企業數據缺失造成的困難,本文提出了一種使用XGBoost算法的企業風險預測模型。模型針對企業的招聘數據、項目數據、投資數據等9項行為數據分別構建獨立的預測模型,并對每個模型的結果進行線性加權融合,分別計算曲線下面積(Area Under Curve,AUC)值和F1分數作為評分標準,據此預測出企業未來退出市場的概率,以作為其他機構決策的參考。
本文的全部數據來源于全國2 000萬企業抽取一部分,包括企業主體在多方面留下的行為足跡信息數據,數據包括兩種。(1)企業身份信息以及企業在一定時間內的行為數據(見表1)。(2)目標數據,該數據包括企業的經營狀況:停業1,正常0。企業基本信息數據是身份數據,一個企業只有一條數據,而其他數據都是行為數據,一個企業可又有多條數據,也可能一條都沒有。

表1 企業行為數據

續表1
企業身份信息(見表2)包括企業的類型、成立的年度、注冊資本,還有一些給定計算好的指標等信息。這部分數據是表現每個企業最為基本的信息,所以不管在哪個字模型中都會將其作為特征進行計算。行為數據總共包含8種,分別是變更數據、分子機構數、投資數據、權利數據、項目數據、被執行數據、失信數據和招聘數據,分別包含企業的各類行為。

表2 企業身份信息
對數據的預處理是非常必要的環節。由于原始數據存在缺失值,我們先要做的就是填補空值,然后要去除重復行數據。由于XGBoost僅適用于處理數值型向量,因此,處理訓練集和測試集時需要將所有標量數據轉換為數值型向量,獨熱編碼(one-hot)是常用的轉換方式[2]。本文數據集中的ETYPE和HY等數據都需要經one-hot編碼后才能進行訓練。
XGBoost是一種迭代回歸樹算法,是在GBDT算法基礎上的改進,但二者皆屬于Boosting提升方法。XGBoost可支持多線程并發任務,這是因為特征列排序后以塊的形式存儲在內存中,在迭代中可以重復使用;雖然Boosting算法迭代必須串行,但是在處理每個特征列時就可以做到并行,因此,實現并行化后在同等條件下比同類算法速度提升10倍以上[3]。XGBoost考慮了訓練數據為稀疏值的情況,可以為缺失值或者指定的值指定分支的默認方向,這能大大提升算法的效率。XGBoost內部包含大量的CART回歸樹,使用殘差來提升模型,內部的正則化防過擬合技術可以保證模型的魯棒性。XGBoost算法可自定義損失函數,且支持多種語言編程,因此非常靈活。下面是該算法的一些重要推導公式。


因為我們要求的是這個目標函數的最小值,(2)式后面的常數項constant是無用的,可以直接去掉。而Ω這項表示的是一個正則化項,可以表示為:

有了(3)式,將其帶入(2),然后再做變形:

對ω求導,可得最優系數,而obj*是對樹結構的一個評價函數,值越小,代表誤差越小:

我們的數據是全國2 000多萬企業中篩選出部分作為樣本,根據所提供的數據,預測出企業未來兩年是否由于經營不善而退出市場。由于行為數據涉及多個方面,為了進行對比,我們先對每種行為數據分別訓練模型,觀察模型的AUC分數,這樣就可以確定出哪些數據的影響比較大。同時我們還將數據帶入隨機森林算法中,將其結果與XGBoost算法的結果對比,從而選出最合適的預測模型。實驗結果如表3所示。
由實驗結果可以發現,不同的行為數據對模型精度有很大影響。變更數據,項目數據,被執行數據,招聘數據對XGBoost算法和隨機森林算法都有比較大的影響;而分支機構數據,投資數據,權利數據則出現比較大的反差。這是由于模型對不同的特征的靈敏度造成的差異。由于隨機森林算法引入的隨機性,使得其對噪聲不敏感,不容易導致過擬合[4],泛化性能也就非常好,所以我們會發現它的結果波動不會非常大。而XGBoost算法是對殘差進行迭代優化,所以擬合結果效果非常好。綜合比較兩種算法的效果,我們選用XGBoost算法作為基本算法來做模型融合。
模型融合的思想是在單一模型的預測結果上,再使用模型融合方法來進一步提高模型預測的準確率[5]。多模型融合是取得優秀分析能力的有效途徑[6]。具體來說,上面的步驟已經算出了各個子模型的參數,也知道了各個模型對于預測樣本的結果。據此我們可以使用投票法對結果進行表決,如果這幾個分類器中有多數的結果是1(停業),那結果就是停業,否則就是正常;同時我們也可以對模型的預測概率作平均,公式如下:

其中,n表示模型的個數,Weighti表示該模型權重,Pi表示模型i的預測概率值。其中投票法太過簡單,所以選用參數取平均法作融合。當然還有其他一些復雜的方法來實現,此處不再贅述。經實驗,使用多種行為數據作模型融合,10次結果取平均的AUC值為0.916,且結果波動范圍大大減小,只有3.3%。以上分析結果說明,采用XGBoost算法作模型融合可以實現預測企業倒閉的概率,對于指導行業正常發展有一定的意義。
本文基于一種XGBoost的回歸樹模型,使用不同的行為數據記錄,對全國的小型企業的未來是否會正常經營進行預測,對結果參數取平均作模型融合,并用AUC值進行評估。結果顯示對比使用隨機森林算法,此方法得出的結果正確率相對較高,性能相對穩定,對相關行業具有實際的指導意義。
[參考文獻]
[1]陳志朋.科學發展觀視域下中國小微企業發展研究[D].長春:長春師范大學,2014.
[2]黃達文,方梵嵐.基于XGBoost算法的用電電量預測的實踐應用[J].現代信息科技,2017(4):10-12.
[3]葉倩怡,饒泓,姬名書.基于Xgboost的商業銷售預測[J].南昌大學學報(理科版),2017(3):275-281.
[4]李貞貴.隨機森林改進的若干研究[D].廈門:廈門大學,2013.
[5]李巧.模型融合算法的研究及應用[D].武漢:湖北大學,2016.
[6]馬健.多模型融合學習方法與應用[D].南京:南京大學,2016.