仵曉溪,李云飛
(西華師范大學(xué)數(shù)學(xué)與信息學(xué)院,四川 南充637009)
隨著近年來我國證券市場的快速發(fā)展,市場是否規(guī)范化、資源配置是否合理化、信息是否對稱化等問題逐漸涌現(xiàn),這不僅會對投資者的利益造成影響,還會有損我國金融市場的正常運(yùn)行,因而針對上市公司進(jìn)行信用風(fēng)險(xiǎn)評估,獲得財(cái)務(wù)預(yù)警就顯得尤為重要。
為解決該問題,國內(nèi)外學(xué)者紛紛對上市公司的信用風(fēng)險(xiǎn)評估展開深入研究。 最初,該研究基本停留在簡單的定性分析階段,主要運(yùn)用傳統(tǒng)的信用分析方法進(jìn)行評估,比如5C法、LAPP 法以及五級分類法等,這些評價(jià)方法雖比較簡單,但主觀性太強(qiáng)。 于是越來越多的學(xué)者逐漸選擇多元統(tǒng)計(jì)分析方法對此展開研究,較為典型的就是Logistic 模型,這一類方法具有科學(xué)實(shí)用和客觀性等特點(diǎn),但它要求評價(jià)指標(biāo)滿足非多重共線性,恰好與上市公司的財(cái)務(wù)指標(biāo)存在高度相關(guān)性不符,所以對計(jì)算結(jié)果的精確性有一定影響。 隨著計(jì)算機(jī)技術(shù)的日漸成熟,人工智能方法順勢而生,越來越多的學(xué)者將人工智能領(lǐng)域中的機(jī)器學(xué)習(xí)算法引入到企業(yè)的信用風(fēng)險(xiǎn)評估研究中。 Odom 和Sharda 最早使用神經(jīng)網(wǎng)絡(luò)模型預(yù)測企業(yè)信用風(fēng)險(xiǎn)情況,他們使用5 個(gè)財(cái)務(wù)指標(biāo)作為解釋變量構(gòu)建神經(jīng)網(wǎng)絡(luò)模型,結(jié)果表明該模型的正判率明顯優(yōu)于多元判別分析方法;Tam 和Kiang 還將人工神經(jīng)網(wǎng)絡(luò)模型運(yùn)用于銀行破產(chǎn)的研究中,為了提高模型預(yù)測的準(zhǔn)確性,他們對神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)過程的權(quán)值進(jìn)行了修改,效果十分顯著;此外,Boritz、Chris Charalambous 等眾多學(xué)者在前人的研究基礎(chǔ)上,又不斷完善、深化了人工神經(jīng)網(wǎng)絡(luò)在信用風(fēng)險(xiǎn)評估方向的運(yùn)用研究。 近年來,人工神經(jīng)網(wǎng)絡(luò)也深受國內(nèi)學(xué)者的青睞,楊保安等人針對統(tǒng)計(jì)方法中判別分析方法在企業(yè)信用風(fēng)險(xiǎn)評估研究中存在的問題,提出了神經(jīng)網(wǎng)絡(luò)在該研究方向的優(yōu)勢與潛力;吳德勝等人通過研究不同模型在衡量企業(yè)風(fēng)險(xiǎn)情況中的實(shí)際使用效果,構(gòu)建了符合我國企業(yè)財(cái)務(wù)狀況的評價(jià)指標(biāo)體系,同時(shí)驗(yàn)證了BP 神經(jīng)網(wǎng)絡(luò)的可行性和有效性;何欣等人將徑向基神經(jīng)網(wǎng)絡(luò)和BP 神經(jīng)網(wǎng)絡(luò)模型分別應(yīng)用于中小上市公司信用風(fēng)險(xiǎn)研究,對比結(jié)果發(fā)現(xiàn)BP 神經(jīng)網(wǎng)絡(luò)相較于徑向基神經(jīng)網(wǎng)絡(luò)的預(yù)測效果高出11 個(gè)百分點(diǎn)。
在上述方法中,BP 神經(jīng)網(wǎng)絡(luò)是應(yīng)用最為廣泛的神經(jīng)網(wǎng)絡(luò)模型,且它的預(yù)測效果較佳,所以選擇BP 神經(jīng)網(wǎng)絡(luò)對上市公司的信用風(fēng)險(xiǎn)進(jìn)行評估,并結(jié)合L-M 算法對網(wǎng)絡(luò)進(jìn)行優(yōu)化以提高收斂速度。
將上市公司作為研究對象,遵循指標(biāo)選取的系統(tǒng)性、科學(xué)性、客觀性、可比性及可操作性等原則,從盈利能力、償債能力、成長能力、營運(yùn)能力這四個(gè)方面構(gòu)建信用風(fēng)險(xiǎn)評估指標(biāo)體系。 現(xiàn)從網(wǎng)易股票網(wǎng)站中的數(shù)據(jù)欄目①http:/ /quotes.money.163.com/old/#query=Y(jié)LNL&DataType=y(tǒng)ynl&sort=MGSY_T&order=desc&count=25&page=0.隨機(jī)截取了滬、深兩市100 家上市公司2018 年的年報(bào)數(shù)據(jù),其中包含了22個(gè)財(cái)務(wù)指標(biāo)數(shù)據(jù),如表1 所示。 這100 家上市公司中包含50家“非ST”企業(yè),50 家“ST”或“?ST”企業(yè),滿足數(shù)據(jù)選擇的平衡性。 其中,“非ST”企業(yè)表示其財(cái)務(wù)狀況良好,且信用評級較高,違約可能性較低,所以把這類企業(yè)劃分為“低風(fēng)險(xiǎn)企業(yè)”;“ST”或“?ST”企業(yè)表示其財(cái)務(wù)狀況較差,且信用評級較低,違約可能性較高,所以又把這類企業(yè)劃分為“高風(fēng)險(xiǎn)企業(yè)”。
表1 財(cái)務(wù)指標(biāo)體系
由于上市公司的各個(gè)財(cái)務(wù)指標(biāo)之間可能存在相關(guān)關(guān)系,導(dǎo)致信息重疊或冗余,不利于對研究問題的分析與開展,因此決定對22 個(gè)財(cái)務(wù)指標(biāo)進(jìn)行篩選,選擇最能綜合反映各公司財(cái)務(wù)狀況的指標(biāo)。
首先觀察獲取的22 個(gè)財(cái)務(wù)指標(biāo)數(shù)據(jù),發(fā)現(xiàn)每股凈資產(chǎn)這項(xiàng)指標(biāo)數(shù)據(jù)缺失過多,故刪除該項(xiàng)指標(biāo),剩余21 個(gè)指標(biāo);隨后利用SPSS 軟件對缺失的數(shù)據(jù)進(jìn)行補(bǔ)充,由于剩余的21個(gè)指標(biāo)數(shù)據(jù)大部分完整或只存在少量缺失,故SPSS 中的5種替換缺失值的方法區(qū)別不大,此處選擇“臨近點(diǎn)的平均值”進(jìn)行替換;最后可采用統(tǒng)計(jì)學(xué)中常用的因子分析法,將相同本質(zhì)的變量歸入一個(gè)因子,從而減少變量數(shù)目,以達(dá)到篩選指標(biāo)的目的。
在進(jìn)行因子分析前先利用SPSS 對100 家公司的21 個(gè)指標(biāo)數(shù)據(jù)進(jìn)行相關(guān)性分析,將相關(guān)度高的財(cái)務(wù)指標(biāo)聚為一個(gè)大類,于是產(chǎn)生了13 個(gè)分類,分類結(jié)果如表2 所示。 每一個(gè)大類的指標(biāo)都具備獨(dú)立的代表意義,遵循指標(biāo)選取的全面性原則,每個(gè)大類中的指標(biāo)至少需要保留一個(gè),故隨后只需再利用SPSS 對前面5 個(gè)大類的指標(biāo)數(shù)據(jù)進(jìn)行因子分析,根據(jù)KMO 檢驗(yàn)值大于0.6 且Bartlett 球體檢驗(yàn)的顯著性P值小于0.05 判斷是否適合做因子分析,對于以上兩個(gè)檢驗(yàn)均通過的大類選擇保留主因子載荷量最大的指標(biāo),剔除其余指標(biāo)。 結(jié)果表明只有第一類和第二類指標(biāo)數(shù)據(jù)適合做因子分析,檢驗(yàn)結(jié)果如表3所示,這兩類分別篩選出的兩個(gè)指標(biāo)為:息稅前利潤率、每股銷售收入,其因子載荷矩陣分別如表4 和表5 所示。
表2 財(cái)務(wù)指標(biāo)分類結(jié)果
表3 KMO 與Bartlett 檢驗(yàn)
表4 第一類指標(biāo)的因子載荷矩陣
表5 第二類指標(biāo)的因子載荷矩陣
因此,經(jīng)過因子分析進(jìn)行篩選后,最終保留16 個(gè)指標(biāo),分別為:息稅前利潤率、每股銷售收入、流動(dòng)比率、速動(dòng)比率、主營業(yè)務(wù)增長率、主營利潤增長率、凈利潤增長率、每股收益增長率、主營業(yè)務(wù)利潤率、利息保障數(shù)、資產(chǎn)負(fù)債率、應(yīng)收賬款周轉(zhuǎn)率、存貨周轉(zhuǎn)率、固定資產(chǎn)周轉(zhuǎn)率、總資產(chǎn)周轉(zhuǎn)率、凈資產(chǎn)周轉(zhuǎn)率。
BP 神經(jīng)網(wǎng)絡(luò)是1986 年由Rumelhart 和McClelland 為首的科學(xué)家提出的概念,它是一種多層前饋神經(jīng)網(wǎng)絡(luò),主要特點(diǎn)為信息前向傳遞,誤差反向傳播,是目前應(yīng)用較為廣泛的神經(jīng)網(wǎng)絡(luò)之一。 由于BP 神經(jīng)網(wǎng)絡(luò)連接權(quán)值的調(diào)整是利用實(shí)際輸出與期望輸出的誤差,對網(wǎng)絡(luò)的各層連接權(quán)值由后向前逐層進(jìn)行校正的計(jì)算方法,故將它稱為反向傳播學(xué)習(xí)算法,也簡稱BP 算法。 BP 神經(jīng)網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)如圖1 所示。
圖1 BP 神經(jīng)網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)圖
由于目前并沒有確切的文獻(xiàn)研究說明BP 神經(jīng)網(wǎng)絡(luò)的層數(shù)越多擬合效果越好,故優(yōu)先考慮三層網(wǎng)絡(luò),即含有一個(gè)輸入層、一個(gè)隱含層、一個(gè)輸出層。 對于簡單的三層BP 神經(jīng)網(wǎng)絡(luò)模型,設(shè)網(wǎng)絡(luò)的輸入為X = (x1,x2,…,xn)和期望輸出為D = (d1,d2,…,dl),初始化各層神經(jīng)元之間的連接權(quán)值為vij、wjk,初始化隱含層閾值為a,輸出層閾值為b。 具體的學(xué)習(xí)算法及公式如下:
(1)隱含層輸出計(jì)算
隱含層中第i 個(gè)神經(jīng)元的輸出為:
其中,m 為隱含層節(jié)點(diǎn)數(shù),f ·( )為隱含層的傳遞函數(shù),以下推導(dǎo)采用最為常見的Sigmoid 傳遞函數(shù),即
(2)輸出層的輸出計(jì)算
輸出層中第k 個(gè)神經(jīng)元的輸出可推導(dǎo)為:
(3)誤差計(jì)算
根據(jù)網(wǎng)絡(luò)實(shí)際輸出O 與期望輸出D,計(jì)算網(wǎng)絡(luò)總體誤差E 為:
其中,期望輸出D =(d1,d2,…,dl),實(shí)際輸出O =(O1,O2,…,Ol)。
(4)權(quán)值更新
根據(jù)網(wǎng)絡(luò)總體誤差E,更新網(wǎng)絡(luò)連接權(quán)值vij、wjk的公式為:
通過上述的BP 神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)算法就可以對訓(xùn)練樣本數(shù)據(jù)進(jìn)行訓(xùn)練,通過誤差反向傳播,根據(jù)網(wǎng)絡(luò)總誤差是否達(dá)到精度要求來決定當(dāng)前學(xué)習(xí)是否結(jié)束。
BP 神經(jīng)網(wǎng)絡(luò)無論在網(wǎng)絡(luò)理論還是在性能方面都已比較成熟,由于其具有很強(qiáng)的非線性映射能力和柔性網(wǎng)絡(luò)結(jié)構(gòu)的優(yōu)點(diǎn)讓它被廣泛運(yùn)用。 但是傳統(tǒng)的BP 算法是一種有監(jiān)督的學(xué)習(xí)算法,采用的是負(fù)梯度下降算法,這種算法有兩個(gè)明顯的缺點(diǎn),一個(gè)是收斂速度較慢,另一個(gè)是容易陷入局部極小值。針對這兩個(gè)缺陷,出現(xiàn)了多種改進(jìn)的BP 算法,如:動(dòng)量反傳的梯度下降法、動(dòng)態(tài)自適應(yīng)學(xué)習(xí)率的梯度下降法、彈性梯度下降法、L-M(Levenberg-Marquardt)法,在MATLAB 中的相應(yīng)訓(xùn)練函數(shù)分別為:traingdm、traingda、trainrp、trainlm。 對于不同的實(shí)際問題,算法的選擇也不同,主要取決于以下因素:訓(xùn)練樣本的數(shù)量、網(wǎng)絡(luò)權(quán)值和閾值的數(shù)量、網(wǎng)絡(luò)的用途、誤差目標(biāo)要求等。 由于L-M 算法結(jié)合了梯度下降法和高斯-牛頓法,其收斂速度較快,均方誤差較小,適合中小型網(wǎng)絡(luò)的設(shè)計(jì),故選擇L-M 算法對傳統(tǒng)的BP 神經(jīng)網(wǎng)絡(luò)進(jìn)行改進(jìn)。
L-M 算法允許在迭代的過程中沿著誤差惡化的方向搜索,并且能夠自適應(yīng)地調(diào)整來改變權(quán)值,從而使網(wǎng)絡(luò)更加有效。 L-M 算法的改進(jìn)公式為:
其中,比例系數(shù)μ>0 且μ 為常數(shù),J 是誤差對權(quán)值微分的雅克比矩陣,I 為單位矩陣,e 為迭代過程中的誤差向量。
參考尤璞等的研究成果,將選取的100 家上市公司作為樣本,以3∶1 的比例劃分為75 個(gè)訓(xùn)練樣本(非ST 公司38 家,ST 或?ST 公司37 家),25 個(gè)測試樣本(非ST 公司12 家,ST或?ST 公司13 家)。
由于不同的指標(biāo)數(shù)據(jù)具有不同的單位尺度,如果直接輸入模型會影響后續(xù)評估的準(zhǔn)確性,故需要對數(shù)據(jù)進(jìn)行歸一化處理。 上述經(jīng)篩選后的16 個(gè)指標(biāo)中大部分為正向指標(biāo),中性指標(biāo)有3 個(gè),分別為:流動(dòng)比率、速動(dòng)比率、資產(chǎn)負(fù)債率,但由于選擇的上市公司來源于各個(gè)行業(yè),這3 個(gè)指標(biāo)的適中值也會根據(jù)行業(yè)不同而有所區(qū)別,所以并不好統(tǒng)一一個(gè)適中值進(jìn)行處理,并且在BP 神經(jīng)網(wǎng)絡(luò)中,為有效避開激勵(lì)函數(shù)的飽和區(qū)以提高訓(xùn)練速度,一般要求輸入數(shù)據(jù)的值在 -1,1[ ]之中,因此,此處選擇如下的線性函數(shù)轉(zhuǎn)換法:
其中,xt代表原始樣本數(shù)據(jù),xmin和xmax分別代表樣本數(shù)據(jù)中的最小值和最大值,代表歸一化后的值。
現(xiàn)將建立一個(gè)三層的BP 神經(jīng)網(wǎng)絡(luò)模型,由于所選樣本包含16 個(gè)指標(biāo),故輸入層的節(jié)點(diǎn)數(shù)為16;輸出層為所評估的上市公司的風(fēng)險(xiǎn)狀態(tài),可設(shè)置節(jié)點(diǎn)數(shù)為1,用二分類變量0-1表示,0 表示高風(fēng)險(xiǎn)的企業(yè),即ST 或?ST 的上市公司,1 表示低風(fēng)險(xiǎn)的企業(yè),即非ST 的上市公司,實(shí)際操作中可將輸出值與0.5 做比較,大于或等于0.5 的判定為低風(fēng)險(xiǎn)企業(yè),其取值為1,小于0.5 的判定為高風(fēng)險(xiǎn)企業(yè),其取值為0;隱含層的節(jié)點(diǎn)數(shù)可根據(jù)公式來確定,其中s 為隱含層的節(jié)點(diǎn)數(shù),m 和n 分別為輸入輸出層的節(jié)點(diǎn)數(shù),a 為1~10 之間的常數(shù),故隱含層節(jié)點(diǎn)數(shù)范圍在6~15 之間,經(jīng)過多次嘗試最終選擇設(shè)置為10 的擬合效果最佳。 最大訓(xùn)練次數(shù)設(shè)置為1000,隱含層的激勵(lì)函數(shù)設(shè)置為tansig 函數(shù),輸出層的激勵(lì)函數(shù)設(shè)置為purelin 函數(shù),訓(xùn)練函數(shù)設(shè)置為trainlm 函數(shù),學(xué)習(xí)函數(shù)設(shè)置為learngdm 函數(shù),誤差函數(shù)設(shè)置為均方誤差MSE,目標(biāo)值設(shè)定為1×10-4,其余參數(shù)取默認(rèn)值。
首先利用MATLAB 軟件編寫基于傳統(tǒng)BP 算法的神經(jīng)網(wǎng)絡(luò)程序,將訓(xùn)練函數(shù)設(shè)置為traingd,其余參數(shù)設(shè)置如上所述值,運(yùn)行后發(fā)現(xiàn)在設(shè)定的1000 次訓(xùn)練后無法達(dá)到收斂要求,于是逐漸增減訓(xùn)練次數(shù),直至5000 次依舊無法達(dá)到收斂要求。 由于隨著訓(xùn)練次數(shù)的增加,網(wǎng)絡(luò)的收斂速度會越來越慢,故停止繼續(xù)增加訓(xùn)練次數(shù),嘗試改變網(wǎng)絡(luò)的誤差值,經(jīng)過多次運(yùn)行發(fā)現(xiàn)誤差設(shè)置為1×10-1時(shí)才終于完成收斂要求,此時(shí)的訓(xùn)練次數(shù)為2284 次,訓(xùn)練過程如圖2 所示,該模型對于訓(xùn)練樣本與測試樣本的判定與預(yù)測結(jié)果分別如圖3 和圖4所示,為更加直觀地分析模型的準(zhǔn)確率,將上述結(jié)果總結(jié)如表6 所示。 觀察圖表,分析可知該模型的收斂速度較慢,預(yù)測準(zhǔn)確率亦不高,為更好地評估對上市公司的信用風(fēng)險(xiǎn),下面嘗試對此模型進(jìn)行改進(jìn)。
圖2 traingd 函數(shù)訓(xùn)練過程
圖3 traingd 函數(shù)下訓(xùn)練樣本預(yù)測結(jié)果圖
圖4 traingd 函數(shù)下測試樣本預(yù)測結(jié)果圖
表6 傳統(tǒng)BP 神經(jīng)網(wǎng)絡(luò)模型判定及預(yù)測結(jié)果表
再次利用MATLAB 軟件編寫優(yōu)化后的BP 神經(jīng)網(wǎng)絡(luò)程序,將訓(xùn)練函數(shù)依次設(shè)置為traingdm、traingda、trainrp 和trainlm,其余參數(shù)值均按上述參數(shù)設(shè)計(jì)所述設(shè)置,訓(xùn)練過程分別如圖5、圖6、圖7 和圖8 所示,可以發(fā)現(xiàn)前三個(gè)訓(xùn)練函數(shù)下的網(wǎng)絡(luò)經(jīng)過1000 次訓(xùn)練后也沒有達(dá)到收斂要求,只有trainlm函數(shù)下的網(wǎng)絡(luò)經(jīng)過了48 次訓(xùn)練就完成了所設(shè)定的誤差目標(biāo)值,收斂速度比較快,初步體現(xiàn)了基于L-M 算法優(yōu)化后的BP神經(jīng)網(wǎng)絡(luò)對于上市公司風(fēng)險(xiǎn)評估研究的可行性。
圖5 traingdm 函數(shù)訓(xùn)練過程
圖6 traingda 函數(shù)訓(xùn)練過程
圖7 trainrp 函數(shù)訓(xùn)練過程
圖8 trainlm 函數(shù)訓(xùn)練過程
接下來利用建立好的基于L-M 算法優(yōu)化后的BP 神經(jīng)網(wǎng)絡(luò)對訓(xùn)練樣本進(jìn)行仿真模擬,隨后再運(yùn)用該網(wǎng)絡(luò)對測試樣本進(jìn)行預(yù)測,從而綜合分析檢驗(yàn)此模型的應(yīng)用準(zhǔn)確性。 經(jīng)過MATLAB 軟件運(yùn)行上述程序后,模型對于訓(xùn)練樣本與測試樣本的判定與預(yù)測結(jié)果分別如圖9 和圖10 所示,為更好地評判模型性能,將以上結(jié)果總結(jié)如表7 所示。
圖9 trainlm 函數(shù)下訓(xùn)練樣本預(yù)測結(jié)果圖
圖10 trainlm 函數(shù)下測試樣本預(yù)測結(jié)果圖
表7 L-M 算法優(yōu)化后的BP 神經(jīng)網(wǎng)絡(luò)模型判定及預(yù)測結(jié)果表
觀察上述結(jié)果,可以發(fā)現(xiàn)基于L-M 算法優(yōu)化后的BP 神經(jīng)網(wǎng)絡(luò)對訓(xùn)練樣本的預(yù)測準(zhǔn)確率無論是對高風(fēng)險(xiǎn)企業(yè)還是低風(fēng)險(xiǎn)企業(yè)都是100%,進(jìn)一步說明了其判斷能力較好且準(zhǔn)確率高,非常適合評估上市公司的風(fēng)險(xiǎn)狀況;對測試樣本而言,預(yù)測準(zhǔn)確率為84%,也尚可接受。 與前文的傳統(tǒng)BP 神經(jīng)網(wǎng)絡(luò)算法相比較,發(fā)現(xiàn)L-M 算法優(yōu)化后的模型在收斂速度和預(yù)測準(zhǔn)確率上均有明顯的提升,充分體現(xiàn)了改進(jìn)后模型的優(yōu)勢。
信用風(fēng)險(xiǎn)評估對于上市公司而言一直是一個(gè)重要的研究問題,可靠有效的評估結(jié)果不僅有助于投資者進(jìn)行投資決策,同時(shí)也有助于企業(yè)內(nèi)部的管理與改善,但目前依舊沒有一個(gè)統(tǒng)一的評估方法供大家使用。 因此,可以運(yùn)用人工智能中的BP 神經(jīng)網(wǎng)絡(luò)模型,并通過L-M 算法對它進(jìn)行優(yōu)化,建立一個(gè)合理且有效的信用風(fēng)險(xiǎn)評估模型。
但文章也存在一些不足,其一,由于所獲取的數(shù)據(jù)必須真實(shí)可靠,評估結(jié)果才具備參考價(jià)值,但在實(shí)際操作中不能排除上市公司有做假賬的可能性,這必定會對預(yù)測結(jié)果產(chǎn)生一定的影響;其二,在信用風(fēng)險(xiǎn)評價(jià)指標(biāo)的選取上不夠全面,上述所建立的模型僅僅是根據(jù)定量指標(biāo)進(jìn)行研究分析,而忽略了定性指標(biāo)對于上市公司信用風(fēng)險(xiǎn)的考量也存在或多或少的影響。