仵曉溪,李云飛
(西華師范大學數學與信息學院,四川 南充637009)
隨著近年來我國證券市場的快速發展,市場是否規范化、資源配置是否合理化、信息是否對稱化等問題逐漸涌現,這不僅會對投資者的利益造成影響,還會有損我國金融市場的正常運行,因而針對上市公司進行信用風險評估,獲得財務預警就顯得尤為重要。
為解決該問題,國內外學者紛紛對上市公司的信用風險評估展開深入研究。 最初,該研究基本停留在簡單的定性分析階段,主要運用傳統的信用分析方法進行評估,比如5C法、LAPP 法以及五級分類法等,這些評價方法雖比較簡單,但主觀性太強。 于是越來越多的學者逐漸選擇多元統計分析方法對此展開研究,較為典型的就是Logistic 模型,這一類方法具有科學實用和客觀性等特點,但它要求評價指標滿足非多重共線性,恰好與上市公司的財務指標存在高度相關性不符,所以對計算結果的精確性有一定影響。 隨著計算機技術的日漸成熟,人工智能方法順勢而生,越來越多的學者將人工智能領域中的機器學習算法引入到企業的信用風險評估研究中。 Odom 和Sharda 最早使用神經網絡模型預測企業信用風險情況,他們使用5 個財務指標作為解釋變量構建神經網絡模型,結果表明該模型的正判率明顯優于多元判別分析方法;Tam 和Kiang 還將人工神經網絡模型運用于銀行破產的研究中,為了提高模型預測的準確性,他們對神經網絡學習過程的權值進行了修改,效果十分顯著;此外,Boritz、Chris Charalambous 等眾多學者在前人的研究基礎上,又不斷完善、深化了人工神經網絡在信用風險評估方向的運用研究。 近年來,人工神經網絡也深受國內學者的青睞,楊保安等人針對統計方法中判別分析方法在企業信用風險評估研究中存在的問題,提出了神經網絡在該研究方向的優勢與潛力;吳德勝等人通過研究不同模型在衡量企業風險情況中的實際使用效果,構建了符合我國企業財務狀況的評價指標體系,同時驗證了BP 神經網絡的可行性和有效性;何欣等人將徑向基神經網絡和BP 神經網絡模型分別應用于中小上市公司信用風險研究,對比結果發現BP 神經網絡相較于徑向基神經網絡的預測效果高出11 個百分點。
在上述方法中,BP 神經網絡是應用最為廣泛的神經網絡模型,且它的預測效果較佳,所以選擇BP 神經網絡對上市公司的信用風險進行評估,并結合L-M 算法對網絡進行優化以提高收斂速度。
將上市公司作為研究對象,遵循指標選取的系統性、科學性、客觀性、可比性及可操作性等原則,從盈利能力、償債能力、成長能力、營運能力這四個方面構建信用風險評估指標體系。 現從網易股票網站中的數據欄目①http:/ /quotes.money.163.com/old/#query=YLNL&DataType=yynl&sort=MGSY_T&order=desc&count=25&page=0.隨機截取了滬、深兩市100 家上市公司2018 年的年報數據,其中包含了22個財務指標數據,如表1 所示。 這100 家上市公司中包含50家“非ST”企業,50 家“ST”或“?ST”企業,滿足數據選擇的平衡性。 其中,“非ST”企業表示其財務狀況良好,且信用評級較高,違約可能性較低,所以把這類企業劃分為“低風險企業”;“ST”或“?ST”企業表示其財務狀況較差,且信用評級較低,違約可能性較高,所以又把這類企業劃分為“高風險企業”。

表1 財務指標體系
由于上市公司的各個財務指標之間可能存在相關關系,導致信息重疊或冗余,不利于對研究問題的分析與開展,因此決定對22 個財務指標進行篩選,選擇最能綜合反映各公司財務狀況的指標。
首先觀察獲取的22 個財務指標數據,發現每股凈資產這項指標數據缺失過多,故刪除該項指標,剩余21 個指標;隨后利用SPSS 軟件對缺失的數據進行補充,由于剩余的21個指標數據大部分完整或只存在少量缺失,故SPSS 中的5種替換缺失值的方法區別不大,此處選擇“臨近點的平均值”進行替換;最后可采用統計學中常用的因子分析法,將相同本質的變量歸入一個因子,從而減少變量數目,以達到篩選指標的目的。
在進行因子分析前先利用SPSS 對100 家公司的21 個指標數據進行相關性分析,將相關度高的財務指標聚為一個大類,于是產生了13 個分類,分類結果如表2 所示。 每一個大類的指標都具備獨立的代表意義,遵循指標選取的全面性原則,每個大類中的指標至少需要保留一個,故隨后只需再利用SPSS 對前面5 個大類的指標數據進行因子分析,根據KMO 檢驗值大于0.6 且Bartlett 球體檢驗的顯著性P值小于0.05 判斷是否適合做因子分析,對于以上兩個檢驗均通過的大類選擇保留主因子載荷量最大的指標,剔除其余指標。 結果表明只有第一類和第二類指標數據適合做因子分析,檢驗結果如表3所示,這兩類分別篩選出的兩個指標為:息稅前利潤率、每股銷售收入,其因子載荷矩陣分別如表4 和表5 所示。

表2 財務指標分類結果

表3 KMO 與Bartlett 檢驗

表4 第一類指標的因子載荷矩陣

表5 第二類指標的因子載荷矩陣
因此,經過因子分析進行篩選后,最終保留16 個指標,分別為:息稅前利潤率、每股銷售收入、流動比率、速動比率、主營業務增長率、主營利潤增長率、凈利潤增長率、每股收益增長率、主營業務利潤率、利息保障數、資產負債率、應收賬款周轉率、存貨周轉率、固定資產周轉率、總資產周轉率、凈資產周轉率。
BP 神經網絡是1986 年由Rumelhart 和McClelland 為首的科學家提出的概念,它是一種多層前饋神經網絡,主要特點為信息前向傳遞,誤差反向傳播,是目前應用較為廣泛的神經網絡之一。 由于BP 神經網絡連接權值的調整是利用實際輸出與期望輸出的誤差,對網絡的各層連接權值由后向前逐層進行校正的計算方法,故將它稱為反向傳播學習算法,也簡稱BP 算法。 BP 神經網絡的拓撲結構如圖1 所示。

圖1 BP 神經網絡的拓撲結構圖
由于目前并沒有確切的文獻研究說明BP 神經網絡的層數越多擬合效果越好,故優先考慮三層網絡,即含有一個輸入層、一個隱含層、一個輸出層。 對于簡單的三層BP 神經網絡模型,設網絡的輸入為X = (x1,x2,…,xn)和期望輸出為D = (d1,d2,…,dl),初始化各層神經元之間的連接權值為vij、wjk,初始化隱含層閾值為a,輸出層閾值為b。 具體的學習算法及公式如下:
(1)隱含層輸出計算
隱含層中第i 個神經元的輸出為:

其中,m 為隱含層節點數,f ·( )為隱含層的傳遞函數,以下推導采用最為常見的Sigmoid 傳遞函數,即
(2)輸出層的輸出計算
輸出層中第k 個神經元的輸出可推導為:

(3)誤差計算
根據網絡實際輸出O 與期望輸出D,計算網絡總體誤差E 為:

其中,期望輸出D =(d1,d2,…,dl),實際輸出O =(O1,O2,…,Ol)。
(4)權值更新
根據網絡總體誤差E,更新網絡連接權值vij、wjk的公式為:

通過上述的BP 神經網絡學習算法就可以對訓練樣本數據進行訓練,通過誤差反向傳播,根據網絡總誤差是否達到精度要求來決定當前學習是否結束。
BP 神經網絡無論在網絡理論還是在性能方面都已比較成熟,由于其具有很強的非線性映射能力和柔性網絡結構的優點讓它被廣泛運用。 但是傳統的BP 算法是一種有監督的學習算法,采用的是負梯度下降算法,這種算法有兩個明顯的缺點,一個是收斂速度較慢,另一個是容易陷入局部極小值。針對這兩個缺陷,出現了多種改進的BP 算法,如:動量反傳的梯度下降法、動態自適應學習率的梯度下降法、彈性梯度下降法、L-M(Levenberg-Marquardt)法,在MATLAB 中的相應訓練函數分別為:traingdm、traingda、trainrp、trainlm。 對于不同的實際問題,算法的選擇也不同,主要取決于以下因素:訓練樣本的數量、網絡權值和閾值的數量、網絡的用途、誤差目標要求等。 由于L-M 算法結合了梯度下降法和高斯-牛頓法,其收斂速度較快,均方誤差較小,適合中小型網絡的設計,故選擇L-M 算法對傳統的BP 神經網絡進行改進。
L-M 算法允許在迭代的過程中沿著誤差惡化的方向搜索,并且能夠自適應地調整來改變權值,從而使網絡更加有效。 L-M 算法的改進公式為:

其中,比例系數μ>0 且μ 為常數,J 是誤差對權值微分的雅克比矩陣,I 為單位矩陣,e 為迭代過程中的誤差向量。
參考尤璞等的研究成果,將選取的100 家上市公司作為樣本,以3∶1 的比例劃分為75 個訓練樣本(非ST 公司38 家,ST 或?ST 公司37 家),25 個測試樣本(非ST 公司12 家,ST或?ST 公司13 家)。
由于不同的指標數據具有不同的單位尺度,如果直接輸入模型會影響后續評估的準確性,故需要對數據進行歸一化處理。 上述經篩選后的16 個指標中大部分為正向指標,中性指標有3 個,分別為:流動比率、速動比率、資產負債率,但由于選擇的上市公司來源于各個行業,這3 個指標的適中值也會根據行業不同而有所區別,所以并不好統一一個適中值進行處理,并且在BP 神經網絡中,為有效避開激勵函數的飽和區以提高訓練速度,一般要求輸入數據的值在 -1,1[ ]之中,因此,此處選擇如下的線性函數轉換法:

其中,xt代表原始樣本數據,xmin和xmax分別代表樣本數據中的最小值和最大值,代表歸一化后的值。
現將建立一個三層的BP 神經網絡模型,由于所選樣本包含16 個指標,故輸入層的節點數為16;輸出層為所評估的上市公司的風險狀態,可設置節點數為1,用二分類變量0-1表示,0 表示高風險的企業,即ST 或?ST 的上市公司,1 表示低風險的企業,即非ST 的上市公司,實際操作中可將輸出值與0.5 做比較,大于或等于0.5 的判定為低風險企業,其取值為1,小于0.5 的判定為高風險企業,其取值為0;隱含層的節點數可根據公式來確定,其中s 為隱含層的節點數,m 和n 分別為輸入輸出層的節點數,a 為1~10 之間的常數,故隱含層節點數范圍在6~15 之間,經過多次嘗試最終選擇設置為10 的擬合效果最佳。 最大訓練次數設置為1000,隱含層的激勵函數設置為tansig 函數,輸出層的激勵函數設置為purelin 函數,訓練函數設置為trainlm 函數,學習函數設置為learngdm 函數,誤差函數設置為均方誤差MSE,目標值設定為1×10-4,其余參數取默認值。
首先利用MATLAB 軟件編寫基于傳統BP 算法的神經網絡程序,將訓練函數設置為traingd,其余參數設置如上所述值,運行后發現在設定的1000 次訓練后無法達到收斂要求,于是逐漸增減訓練次數,直至5000 次依舊無法達到收斂要求。 由于隨著訓練次數的增加,網絡的收斂速度會越來越慢,故停止繼續增加訓練次數,嘗試改變網絡的誤差值,經過多次運行發現誤差設置為1×10-1時才終于完成收斂要求,此時的訓練次數為2284 次,訓練過程如圖2 所示,該模型對于訓練樣本與測試樣本的判定與預測結果分別如圖3 和圖4所示,為更加直觀地分析模型的準確率,將上述結果總結如表6 所示。 觀察圖表,分析可知該模型的收斂速度較慢,預測準確率亦不高,為更好地評估對上市公司的信用風險,下面嘗試對此模型進行改進。

圖2 traingd 函數訓練過程

圖3 traingd 函數下訓練樣本預測結果圖

圖4 traingd 函數下測試樣本預測結果圖

表6 傳統BP 神經網絡模型判定及預測結果表
再次利用MATLAB 軟件編寫優化后的BP 神經網絡程序,將訓練函數依次設置為traingdm、traingda、trainrp 和trainlm,其余參數值均按上述參數設計所述設置,訓練過程分別如圖5、圖6、圖7 和圖8 所示,可以發現前三個訓練函數下的網絡經過1000 次訓練后也沒有達到收斂要求,只有trainlm函數下的網絡經過了48 次訓練就完成了所設定的誤差目標值,收斂速度比較快,初步體現了基于L-M 算法優化后的BP神經網絡對于上市公司風險評估研究的可行性。

圖5 traingdm 函數訓練過程

圖6 traingda 函數訓練過程

圖7 trainrp 函數訓練過程

圖8 trainlm 函數訓練過程
接下來利用建立好的基于L-M 算法優化后的BP 神經網絡對訓練樣本進行仿真模擬,隨后再運用該網絡對測試樣本進行預測,從而綜合分析檢驗此模型的應用準確性。 經過MATLAB 軟件運行上述程序后,模型對于訓練樣本與測試樣本的判定與預測結果分別如圖9 和圖10 所示,為更好地評判模型性能,將以上結果總結如表7 所示。

圖9 trainlm 函數下訓練樣本預測結果圖

圖10 trainlm 函數下測試樣本預測結果圖

表7 L-M 算法優化后的BP 神經網絡模型判定及預測結果表
觀察上述結果,可以發現基于L-M 算法優化后的BP 神經網絡對訓練樣本的預測準確率無論是對高風險企業還是低風險企業都是100%,進一步說明了其判斷能力較好且準確率高,非常適合評估上市公司的風險狀況;對測試樣本而言,預測準確率為84%,也尚可接受。 與前文的傳統BP 神經網絡算法相比較,發現L-M 算法優化后的模型在收斂速度和預測準確率上均有明顯的提升,充分體現了改進后模型的優勢。
信用風險評估對于上市公司而言一直是一個重要的研究問題,可靠有效的評估結果不僅有助于投資者進行投資決策,同時也有助于企業內部的管理與改善,但目前依舊沒有一個統一的評估方法供大家使用。 因此,可以運用人工智能中的BP 神經網絡模型,并通過L-M 算法對它進行優化,建立一個合理且有效的信用風險評估模型。
但文章也存在一些不足,其一,由于所獲取的數據必須真實可靠,評估結果才具備參考價值,但在實際操作中不能排除上市公司有做假賬的可能性,這必定會對預測結果產生一定的影響;其二,在信用風險評價指標的選取上不夠全面,上述所建立的模型僅僅是根據定量指標進行研究分析,而忽略了定性指標對于上市公司信用風險的考量也存在或多或少的影響。