前言:企業陷入財務風險是一個循序漸進的過程,不同程度的財務風險,其症狀和表現不一。隨著大數據時代的到來,信息的重要性越來越受到決策者的重視。我國上市公司在飛速發展的同時,也不斷地受到各種外界風險的衝擊,如何能夠對上市公司的財務風險進行有效預警,是許多決策者和研究者面臨的難題。本文介紹智能財務風險預警方法——BP神經網絡。「大數據與人工智慧環境下的智能財務風險預警方法」系列推文二:BP神經網絡
近年來,AlphaGo擊敗了人類職業圍棋選手,激起了全球範圍內對人工智慧的關注。作為目前最接近實現人工智慧的算法,機器學習隨之興起形成熱潮。可以看出隨著學習程度的深入AlphaGo的技術變得更為高級,甚至變得更為「人性化」的有的放矢。其實在其他領域也是一樣,隨著神經網絡學習資料庫的範圍變大,學習程度的深入,使得神經網絡在更多領域得到運用,神經網絡正在成為一種有效的工具。由於財務風險預警的複雜性以及對決策的重要影響,國內外有大量的研究預測工作,採用各種方法來優化財務風險預警模型。大數據時代到來,IT技術發展使得信息化程度越來越高,各種信息湧向企業,在激烈的市場競爭中,誰的信息化管理水平高,誰就能掌握主動權
1.BP神經網絡原理
人工神經網絡是一種數學模型,它具有人類神經網絡的一些特質,並且有自學習的能力,一般由MATLAB軟體來實現。與傳統統計方法不同之處是神經網絡是通過訓練實驗來找到解決問題的路徑。神經網絡的訓練過程,由特定的算法構成,提供了理想的學習樣本,訓練後,輸入和輸出足夠數量的例子,知道達到收斂。直至使神經網絡的輸出和理想輸出之間的誤差達到極小的狀態。就可以將經過訓練的模型用於解決相同類型的問題了。人工神經網絡各層結構之間的關係是非線性的映射。非線性等的分類問題也可以通過神經網絡來解決。人工神經網絡有著優秀的自學習能力,可以任意精度逼近我們所設定的非線性函數關係。神經網絡的傳播方式有兩種,即正向和反向。正向傳播是指神經網絡從輸入層到隱藏層,經過信號傳播到輸出層,將輸出層得到的結果與期望值對比,如果是最後所希望的結果,則該算法終止,否則反向傳播。反向傳播是逆運算,誤差信號輸出樣本和網絡出口按原連接路徑通道以前權值和閾值調整,誤差信號將描述採用一般梯度下降法來計算反向連接,用於調節還原。BP神經網絡模型一般的結構有三層包括輸入(input)、、輸出(output layer)和隱層(hide layer)。如圖所示:
反向傳播是通過一個層級來計算每層級中的輸出誤差輸出層神經元已經從第一層開始,誤差梯度下降算法調整每一層和閾值的功率,因此,對網絡內部的不斷修正可使最終輸出可以接近到預期。
2.BP神經網絡的優勢與不足
構建企業的智能財務風險預警模型,可以使企業儘可能的避免財務風險帶來的損失,預防經營失敗的情況出現。相比於以往的財務風險預警方法,BP神經網絡準確性高,誤差更小,BP神經網絡更可貴的一點是它具有收斂性,可以讓系統誤差達到任何我們所要求的精度。
通過對目標數據的學習,不斷調整模型內各個參數,找到最優參數組合,達到穩定的低誤差狀態,而正是這種自學習能力使研究避免了人為賦權等非客觀因素的出現,大大提高了預測的準確性、科學性。BP神經網絡具備非線性映射能力,實質上實現了一個從輸入到輸出的映射功能,數學理論證明三層的神經網絡就能夠以任意精度逼近任何非線性連續函數。這使得其特別適合於求解內部機制複雜的問題。
此外BP神經網絡在訓練時,能夠通過學習自動提取輸出、輸出數據間的「合理規則」,並自適應的將學習內容記憶於網絡的權值中。即BP神經網絡具有高度自學習和自適應的能力。還可以進行動態性預測,如果需要隨時加入或者減少比較樣本,該模型可以進一步學習並且進行動態跟蹤比較。
隨著應用範圍的逐步擴大,BP神經網絡也暴露出了越來越多的缺點和不足,比如局部極小化問題,從數學角度看,傳統的 BP神經網絡為一種局部搜索的優化方法,它要解決的是一個複雜非線性化問題,網絡的權值是通過沿局部改善的方向逐漸進行調整的,這樣會使算法陷入局部極值,權值收斂到局部極小點,從而導致網絡訓練失敗。加上BP神經網絡對初始網絡權重非常敏感,以不同的權重初始化網絡,其往往會收斂於不同的局部極小,這也是很多學者每次訓練得到不同結果的根本原因。
BP 神經網絡算法的收斂速度慢:由於BP神經網絡算法本質上為梯度下降法,它所要優化的目標函數是非常複雜的,因此,必然會出現「鋸齒形現象」,這使得BP算法低效;又由於優化的目標函數很複雜,它必然會在神經元輸出接近0或1的情況下,出現一些平坦區,在這些區域內,權值誤差改變很小,使訓練過程幾乎停頓;BP神經網絡模型中,為了使網絡執行BP算法,不能使用傳統的一維搜索法求每次迭代的步長,而必須把步長的更新規則預先賦予網絡,這種方法也會引起算法低效。以上種種,導致了BP神經網絡算法收斂速度慢的現象。
除此之外,還存在結構選擇不一、預測能力和訓練能力的矛盾、對樣本依賴性等問題。
雖然神經網絡模型的理論較為抽象,科學性和準確性有待提高,以及會出現局部極小化、收斂速度慢等問題,但諸多學者的研究已經證明了神經網絡方法所構建的模型比多元判別分析模型、邏輯模型以及決策樹模型等具有更精確、更穩定的特點,而且沒有嚴格假設,有很強的容錯性、學習能力和糾錯能力。因此,在構建智能財務風險預警模型時選擇使用BP神經網絡能夠克服傳統集成預測方法的不足,為公司高管提供有效的決策信息。
3.BP神經網絡的設計和創建
與多數神經網絡不同,BP神經網絡是多隱含層的,隱層至少在一個或者一個以上,而其他大部分神經網絡是給定網絡結構層數的,搭建一個完整的BP 神經網絡一般需要對六個方面明確,分別是輸入層、輸入層與隱含層之間的傳遞函數、隱含層、隱含層與輸出層之間的傳遞函數、輸出層和網絡參數。
首先,設計輸入層 ,BP神經網絡的輸入層節點個數一般等於輸入向量的維數,網絡的各個輸入數據常常具有不同的物理意義和不同的量綱,變化範圍各異,尺度變換使網絡訓練一開始就給各輸入分量以同等重要的地位,一般來說,輸入量的選取對輸出量影響大而且能夠檢測。
輸出層代表系統要實現的目標功能,實際上是網絡訓練的期望輸出,分類問題中的輸出變量多為語言變量。設計智能財務風險預警模型,可以將企業財務狀況劃分為財務正常、財務危機兩種狀態,則可以將輸出層的節點數目設定為1,輸出「1」代表公司存在財務危機,輸出「0」代表公司財務正常。
隱含層單元數並沒有統一的理論指導,只能通過反覆調試最終確定。節點太少,不能體現樣本中的規律;節點過多,又可能出現「過度吻合」的現象,需要對 BP 神經網絡反覆調試。理論分析已經證明,在不限制隱層節點的前提條件下,具有單隱層的前饋神經網絡可以映像所有連續函數。在設計多層前饋網絡時,一般來說先考慮設計一個隱層。雖然說增加隱層數可以降低網絡誤差,提高精度,但是也會使網絡複雜化,從而增加了網絡的訓練時間甚至有「過擬合」的傾向。但是實際上,我們可以同時增加隱層的節點來改善這個問題,不需要多設置一個隱層。隱含層節點的作用是從樣本中提取並儲存其內在的規律,每個節點有若干個權值,而每個權值都是增強網絡映像能力的一個參數。一般來說,如果一個神經網絡的隱含層包含有無數隱含層節點,那麼該神經網絡可以實現從輸入到輸出的任意精度的非線性映像。但是現實中我們無法實現無數個隱含層節點,我們必需根據需要確定隱含層節點數。一方面,如果節點數設置的太少,網絡從樣本中獲取信息的能力就差,不足以概括和體現訓練集中的樣本規律;另一方面,隱含層節點數量過多,則有可能把非規律性的內容,如噪音也學會記牢,從而出現「過擬合」的現象,反而降低了神經網絡的泛化能力。此外,隱含層節點數量太多還會增加訓練時間。因此,設置多少個隱含層節點取決於訓練樣本的多少、樣本噪聲的大小以及樣本中蘊含規律的複雜程度。確定最佳隱含層節點數的一個常用的方法成為試湊法,可以先設置較少的隱含節點訓練網絡,然後逐漸增加隱含層節點數,用同一樣本集進行訓練,從中確定網絡誤差最小時對應的隱含層節點數。在適用試湊法的時候,可以用一些確定隱含層節點數的經驗公式。
傳遞函數:神經元的傳遞函數反映了神經元輸出與其啟動狀態之間的關係,例如tansig,其功能是正切sigmoid傳遞函數,而purelin是純線性傳遞函數。BP神經網絡的學習規則,即權值和閉值的調節規則採用的是誤差反向傳播算法。算法實際上是一算法在多層前向神經網絡中的推廣網絡的權值和閉值,通常是沿著網絡誤差變化的負梯度方向進行調節,最終使網絡誤差達到極小值或最小值,即在這一點誤差梯度為零。限於梯度下降算法的固有缺陷,標準的BP學習算法通常具有收斂速度慢、易陷入局部極小值等缺點。MATLAB神經網絡工具箱提供了一系列快速學習算法,一類是採用啟發式學習算法,如引入動量因子的學習算法函數(traingdm)、變學習速率學習算法(traingda)和「彈性」學習算法(trainrp)等。另一類則是採用更有效的數值優化算法,該算法優點是收斂最快,佔用空間又小,但性能只隨網絡訓練誤差減小而變差。如共軛梯度學習算法(包括traincgf、traincgp、trainscg、traincgb),quasi-Newton算法包括trainlm等,其中trainlm算法優點在於收斂快且誤差小,但佔用存儲空間較大,性能隨網絡規模增大而變差。
設計網絡參數,即對目標誤差、學習速率、訓練最大循環迭代次數進行確定。最後用MATLAB語言構建一個的BP神經網絡結構作為財務預警模型。
4.BP神經網絡的訓練和檢驗
設計完成預警模型之後,就需要將樣本用於訓練和檢測。神經網絡的性能與訓練用的樣本密切相關,設計一個好的訓練樣本集既要注意樣本規模,又要注意樣本質量。第一,訓練樣本數的確定。一般來說訓練樣本越多,訓練結果越能正確反映其內在的規律。但樣本的收集整理又往往受到客觀條件的限制。此外,當樣本數量多到一定程度的時候,網絡的精度也很難再提高。實踐表明,網絡訓練所需樣本數取決於輸入輸出非線性映像的複雜程度,映像關係越複雜,樣本中含的噪聲就越大,為保證一定映像精度,所需要的樣本數就越多,而網絡的規模也越大。因此,一般訓練樣本應當是網絡連接權總數的五倍到十倍。第二,樣本的選擇與組織。一個待建模系統的輸入輸出就是神經網絡的輸入輸出變量。訓練和檢驗的樣本要具有一定的代表性,在儘可能考慮樣本模式間的平衡前提下,正確評價網絡模型的性能和泛化能力。通過對神經網絡模型進行學習和仿真,對檢驗樣本得到綜合正確率的理想效果,通過檢驗結果,判斷模型對公司的財務風險識別效果。
BP算法程序流程圖如下:
5.BP神經網絡應用於智能財務風險預警
智能財務風險預警體系,首先要建立起預警指標體系。建立科學有效的財務預警功能的關鍵在於找出哪些財務指標能夠揭示或預示公司財務狀況的變化。在多指標體系中,各個指標之間具有不同的單位、不同的數量級,所以基於這種情況是不能直接用來比較分析的,所以在處理數據的第一步就是將原始數據進行標準化處理,使之具有相同可比的數量級,有了這個基礎,才能順利地進行後續的研究。
通常在償債能力、盈利能力、營運能力、現金相關指標、資本結構、資產管理能力、擴張能力、市場價值維度、公司治理指標等方面以及引入非財務因素選擇一級指標。根據構建智能風險預警模型的思路篩選指標,也可以通過一些科學方法對指標進行篩選,例如運用Kruskal-Walis H檢驗指標對於公司財務風險的預測是否顯著。最後從總項目抽取相應的指標,組成智能財務風險預警指標體系。通過層次聚類分析法將公司的財務風險等級進行分類,並通過顯著性檢驗。BP神經網絡的結構設計主要是確定輸入輸出層節點數和網絡的隱層數、隱層節點數。隱層數及隱層節點數的選擇要視指標而定,避免進行局部最小,由指標選擇數確定輸入層節點數,通過綜合功效係數所在的警度區間選擇輸出節點數。對於多層前饋網絡來說,隱層節點數的確定是成敗的關鍵。若數量太少,則網絡所能獲取的用以解決問題的信息太少;若數量太多,不僅增加訓練時間,更重要的是隱層節點過多還可能出現所謂「過渡吻合」(Overfitting)問題,即測試誤差增大導致泛化能力下降,因此合理選擇隱層節點數非常重要。關於隱層數及其節點數的選擇比較複雜,一般原則是:在能正確反映輸入輸出關係的基礎上,應選用較少的隱層節點數,以使網絡結構儘量簡單。假設有 n 個輸入節點,m 個輸出節點,則根據經驗公式選擇隱層節點數為:
式中: a 為 1 到 10 之間的常數。
傳遞函數是一個神經元及網絡的核心,網絡解決問題的能力與功效除了與網絡的結構有關,在很大程度上取決於所採用的傳遞函數。通過上文介紹的方法,找到最佳參數組合之後,對設計的BP神經網路模型進行檢驗,經過多次迭代,將每次得出的結果進行統計,最後分析 BP 神經網絡模型用於公司的智能財務風險預警的準確率及可行性。財務風險的預警有助於投資者進行投資決策、有助於企業管理層加強內部控制並改善經營管理。智能財務風險預警體系利用BP神經網絡的非線性映射能力和自學習能力,通過分析歷史財務指標數據,進行風險預警,也很好的解決了對指標賦權過於主觀化的不足。
經邦大數據致力於數字賦能用戶,實現風險可控下的運營價值最大化。目前已經在集團企業決策支持平臺、AI分析建模平臺、移動應用平臺和大數據集成平臺上取得豐碩成果,司企共建一批全國樣板客戶案例,獲得業界良好口碑。基本企業全面風險管控體系的基礎內控系統建設梳理與諮詢指導、核心風控系統的開發建設與實施落地、評價優化系統的監督評價與優化改進等服務,最終實現企業風控目標與戰略目標的統一。