BP神經網絡在城投公司財務預警的應用
時間:2022-09-07 10:57:32
導語:BP神經網絡在城投公司財務預警的應用一文來源于網友上傳,不代表本站觀點,若需要原創文章可咨詢客服老師,歡迎參考。
摘要:近年來,城投公司由于債務規模增長較快,導致地方政府性債務的系統性風險開始積聚。因此,財務預警對于城投公司具有重要的意義。本文以人工神經網絡中的bp神經網絡作為主要工具,構建出一個適合我國城投公司且具有實用價值的財務預警模型。同時,模型對總體樣本預測的正確率為78.15%,說明模型的整體預測效果比較理想,可以為城投公司管理人員提供一種合理有效的解決方案。
關鍵詞:人工智能;BP神經網絡;城投公司;財務預警
一、BP神經網絡概述
BP神經網絡,全稱誤差反向傳播的前饋型神經網絡(ErrorBackpropagationNeuralNetwork,是目前應用最廣泛、發展最成熟的人工神經網絡。BP神經網絡最重要的特點是采用誤差反向傳播算法進行學習。模型通過正反兩個方向進行信息傳遞,其中,數據的傳播路徑是正向的,即從輸入層經過隱含層到輸出層,但訓練結果與目標的誤差是反向傳播的,即輸出層反向經過隱含層到輸入層。隨著學習的不斷深入,可以實現不斷減少輸出誤差的目的。
二、財務預警體系的構建
(一)預警指標的選擇和優化
本文根據城投公司的經營特點和財務特色,從償債能力、盈利能力、資產營運能力、發展能力四個評價維度選擇了25個財務指標。將全國范圍內650家城投公司2019年度的25個財務指標數據導入SPSS進行KMO和巴特利特球形檢驗,得到KMO值為0.637、巴特利特球形檢驗的Sig值為0,符合因子分析的條件進一步的,將上述財務指標數據進行主成分分析后,確定了預警體系評價指標的主成分數量為9個。隨后,通過三輪因子分析,可以確定9個主成分的構成方法(見表1),實現了企業的償債能力、盈利能力、營運能力、發展能力四個評價維度的全覆蓋,具有一定的科學性、合理性。
(二)樣本與預測周期
本文分析采用的數據樣本為全國范圍內隨機篩選出的650家城投公司2019年和2018年的各項財務指標數據。財務風險預警屬于信用風險評價的一個分支,信用風險評價一般注重于短期的評估,通過以一年為評估的時間段。同時,由于城投公司短期流動資金規模和按年付息壓力的存在,以短期一年的跨度來界定預測周期較為合理。因此,本文的預測周期為1年。
三、財務預警模型的設計
(一)網絡拓撲結構設計
1.輸入層節點數輸入層神經元節點數的確定方法相對較為簡單,一般采用樣本的屬性個數作為節點數。由于本文的研究對象為650家城投公司的9個具有代表性的主成分,因此本次建模輸入層節點數為9。2.輸出層節點數輸出層神經元節點數取決于輸出數據的定義屬性或標簽。根據作者從業中的實際經驗來看,一般公司管理者對公司是否出現財務風險的判斷分為兩種,一種為正常,意味著公司經營穩健,短期內不會發生顯著的財務風險,暫時不需要采取相應的措施;另一種為預警,意味著公司的各項財務指標出現了明顯的惡化或發生了風險事件,比如公司自身的財務數據發生的重大變動、被評級公司下調信用評級、被證監會等監管機構提示暫停上市交易的警告或者了相關負面新聞等,當然,有些事件可能最終對公司不會造成實質性的影響,但是從公司管理者的角度來說,有必要對相關事件高度重視,深入分析事件發生的原因,以便于采取進一步的行動來控制財務風險,避免出現財務風險。因此,本文建模輸出層節點數為2,對應“正常”、“預警”兩種情況。輸出層除了需要確定節點數,還需要將期望輸出結果錄入模型,以便于模型將實際輸出與期望輸出的誤差進行前向反饋從而提高模型預測的準確率。作者將輸出為正常的樣本輸出值定義為0,將輸出為預警的樣本輸出值定義為1。由于財務預警模型是針對未來的預警,而樣本是城投公司2018年度和2019年度的主成分,因此,輸出值應采用次年度(即2019年度和2020年度)是否發生財務預警事項來進行分類。財務預警事項一般分為內部因素和外部因素,內部因素一般通過各類財務指標反映。通過上文確定的9個主成分F1~F9,根據各成分中組成部分的各項財務指標代表的經濟意義可以分析出,F1、F2、F8、F9與財務風險呈負相關,即數值越低,財務風險越大,經濟學上的意義為流動資產覆蓋負債的水平、投資盈利能力、利潤對利息費用的覆蓋程度、資產營運能力越低,財務風險越高;F3、F5、F6與財務風險呈正相關,即數值越高,財務風險越大,經濟學上的意義為負債與資產的比重、間接費用對利潤的侵蝕程度、投資支出的現金流量越大,財務風險越高;F4、F7比較特殊,如果值為負數,表示業務發展呈現負增長或者現金不足以支付到期債務,這些都是財務風險的潛在表現。外部因素一般通過信用評級機構等外部機構的信息反映。比如評級機構下調公司的信用評級等級將或評級展望調整為負面、跟蹤評級報告因故延期揭露、監管機構了暫停上市的風險提示公告、公司被司法機關列入失信被執行人名單,這些負面事件的出現都反映了公司發生風險隱患的可能性大幅提高。本文采用內部因素和外部因素相結合的方法來判斷公司是否會出現財務風險,只要出現內部因素或外部因素任何一種因素即認定次年會出現財務風險,其中內部因素的判斷依據為:F4、F7同時小于0且F1、F2、F3、F5、F6、F8、F9中同時有5個及以上數值排名在50%以下;外部因素的判斷依據為:次年評級下調或評級展望為負面、跟蹤評級報告因故延期揭露、被監管機構暫停上市的風險提示公告、被司法機關列入失信被執行人名單四種情況出現任何一種情形。具體分類標準見表2。3.隱含層層數對于一般簡單的數據集,通常采用一或兩層隱含層;對于涉及時間序列或計算機視覺的復雜數據集,則需要額外增加隱含層數。因此,本文模型的隱含層層數設為1。4.隱含層節點數根據確定隱含層神經元節點數的經驗公式(其中為輸入層節點數):Nh=log2Ni可以確定,Nh的取值為4,因此,輸入層節點數確定為4。5.傳遞函數傳遞函數是BP網絡的重要組成部分,實踐中通常采用Sigmoid函數或線性函數作為傳遞函數。Log-Sigmoid函數(簡稱logsig函數)的輸入值可取整個實數集,輸出值在0和1之間。Log-Sigmoid函數公式定義為:線性函數則比較簡單,輸出值與輸入值相等,函數圖像是一條直線。由于本次財務預警模型的期望輸出結果為0或1,因此,選擇Sigmoid函數將輸出結果映射在-1到1的區間內比較合適。經過作者的多次實踐,隱含層的傳遞函數選擇logsig函數,輸出層的傳遞函數選擇tansig函數,可以盡可能實現準確的期望輸出。6.訓練函數BP神經網絡的訓練函數比較豐富,常用的有trainbgf(BFGS擬牛頓法)、traingdm(帶動量的最速梯度下降算法)、trainlm(Levenberg-Marquardt算法的變梯度反向傳播算法)、trainscg(采用量化共軛梯度算法的變梯度反向傳播算法)等。由于Levenberg-Marquardt算法收斂速度最快,均方誤差也較小,因此,trainlm函數的使用最為廣泛。本文模型的訓練函數也選擇trainlm函數。7.其他參數BP神經網絡各種參數的設定沒有固定的規則可循,只能參照專家意見或個人經驗。經過多次實踐,本文模型各項參數設定的值見表3。
(二)數據訓練與測試
由于隱含層和輸出層的傳遞函數均為Sigmoid函數,取值為-1到1的區間內,Matlab軟件采集到的樣本所包含的9個特征值(具體為9個與財務指標相關的主成分)的各數據單位存在不一致,如果直接把樣本輸入模型,過大或者過小的極端值很可能會導致Sigmoid函數進入平坦區,全部趨近于-1或者1,最終造成隱含層和輸出層的輸出全部趨向相同的值,因此,需要對所有樣本的輸入數據進行歸一化處理。另外,由于期望輸出值為0或1,因此,樣本的輸出數據無須進行歸一化處理。Matlab軟件內置的神經網絡工具箱使用最大最小法進行數據歸一化,通過Matlab軟件提供的最新版本的歸一化函數mapminmax對數據進行歸一化后,減少了BP神經網絡的運行時間,同時網絡更容易收斂到正確的最優解。函數公式定義如下:其中:Inputi為輸入的任一樣本值,Inputmax為輸入樣本中的最大值,Inputmin為輸入樣本中的最小值。Matlab軟件在R2007b版本之后對神經網絡工具箱進行了更新,將BP神經網絡的調用函數由過去的newff函數更換成了feedforwardnet函數,newff函數雖然仍可以調用,但是已經不被Matlab官方所推薦,feedforwardnet函數調用格式如下:net=feedforwardnet(hiddenSizes,trainFcn)其中,hiddenSizes為隱含層節點數,默認值為10,trainFcn為訓練函數,默認值為trainlm。BP神經網絡的算法決定網絡運行時第一次迭代使用的連接權值是隨機生成的,造成模型的運行結果具有隨機性和不可重現性,為了避免極端的隨機值造成模型的輸出結果出現偏差,可以通過循環語句進行模型的重復多次運行,統計出平均正確率。得力于現代計算機的極高的運行速度和計算效率,作者將模型的重復運行次數設定為30次。實現的代碼見附錄。值得注意的是,由于BP神經網絡的輸出值是傳遞函數區間內的實數集中的任一實數,因此,需要將實際輸出結果量化為期望的輸出結果0或1,作者以0.5為界,小于0.5的輸出值歸類為0,大于0.5的輸出值歸類為1,以便于統計模型輸出的正確率。
四、模型驗證分析
(一)正確率矩陣
由于BP神經網絡的算法決定網絡運行時第一次迭代使用的連接權值是隨機生成的,造成模型的運行結果具有隨機性和不可重現性,作者將建立的財務預警模型重復運行30次的輸出結果作了整理。通過圖1和表4可以看出,模型重復運行30次的正確率均處于較高的水平,最高正確率為77.85%,最低正確率為71.85%,平均正確率為75.24%。為了進一步驗證模型的錯判程度,作者手工檢驗了測試樣本中被模型錯判比例,表5反映了模型實際輸出的正確率統計情況。從表中可以看出,650個測試樣本中,期望輸出的0(即無財務風險)的樣本數為380個,其中,有337個模型判斷正確,43個判斷錯誤,正確率為88.68%;期望輸出的1(即出現財務預警)的樣本數為270個,其中,有171個模型判斷正確,99個判斷錯誤,正確率為63.33%;模型對總體樣本預測的正確率為78.15%,說明模型的整體預測效果比較理想。
(二)數學表達式
通過上文建立的模型重復運行30次后的平均正確率來看,該模型的輸出能夠達到預期的結果。但是,為了輸出更精確的結果,有必要選擇保存正確率較高時的機器學習網絡模型來進行模型的分析和后續的預測。作者在對訓練樣本和測試樣本反復的學習測試中,得到的最高正確率為82.46%,將本次模型的算法導出后保存為單獨的網絡文件,供以后的預測工作使用。以下分析均以本次建模為基礎。圖2為財務預警模型的最終網絡結構圖,可以看出輸入層神經元節點數為9個,隱含層為1層,神經元節點數為4個,傳遞函數為logsig,輸出層神經元節點數為1個,傳遞函數為tansig。連接權值系數為w,閾值項為b。令w12為第1層(輸入層)到第2層(隱含層)的權值,b2為第2層(隱含層)的閾值,w23為第2層(隱含層)到第3層(輸出層)的權值,b3為第3層(輸出層)的閾值,根據模型的網絡結構(圖2)以及連接權值系數w和閾值項b的輸出值,可以進一步得到模型的表達式。
五、結論
通過分析財務預警模型的表達式可以得出,F7、F8兩個主成分對模型的結果影響的權重值最高,其次為F1、F3兩個主成分權重值較高,F2、F4、F5、F6、F9五個主成分的權重值相對較低。F7、F8是已獲利息倍數和現金到期債務比,分別反映了公司償還債務利息和到期本金的能力,該項被BP神經網絡模型賦予了最高的權重,F1、F3反映了公司的短期償債能力和長期償債能力,該項被BP神經網絡模型賦予了較高的權重,從經濟學的角度考慮,償還債務利息和到期本金的能力考察了公司即時償付債務的能力,短期償債能力和長期償債能力考察了公司潛在償付債務的能力。綜上所述,模型的賦值在經濟學具有一定的價值和意義。
參考文獻:
[1]張曉萍,胡安琴.國內外財務風險預警模型實證研究文獻綜述[J].中國證券期貨,2013(03):109+111.
[2]劉驊,盧亞娟.地方政府融資平臺債務風險預警模型與實證研究[J].經濟學動態,2014(08):63-69.
[3]李曉璐.基于BP神經網絡的企業財務管理風險預測實證分析[J].菏澤學院學報,2020,42(05):52-57.
作者:程寅驍 單位:浙江湖州交通集團
- 上一篇:非物質文化遺產柳編手工藝價值分析
- 下一篇:初中個性化作文教學策略