王英博,聶娜娜,李仲學
(1.北京科技大學 金屬礦山高效開采與安全教育部重點實驗室,北京100083;2.遼寧工程技術大學 軟件學院,遼寧 葫蘆島125105)
財務危機[1]預警通過對財務指標綜合評價,深入揭示企業運行規律以達到危機預警的目的。財務危機是企業危機中最為綜合和顯著的表現,如不能采取措施加以防范將對企業經營管理產生重大危害,甚至會引發破產。在經濟全球化日益加深,國際競爭日益加劇的今天,我國企業也正經歷著內部經濟體制改革逐步深化,外部經濟一體化逐步加快的深刻變革。在如此復雜多變的經營環境中,未來企業若想占據優勢并發展壯大必然面臨各種困難和危機。為防止企業財務危機引發金融風暴,不管是經濟發達國家還是新興發展中國家都更加致力于這一問題的研究。因此,企業財務危機預警問題已經成為現代企業管理和財務管理的重要內容和熱點探索。
目前對企業財務預警方面的研究主要從支持向量機、模糊優選、神經網絡等方面建立預測模型和研究,并取得一定成果,但仍存在不足。本文在基本和聲搜索算法基礎上提出了一種新的搜索方法HSDM,該算法將基本和聲搜索算法與微分進化算法相結合,在音調調節階段衍生出優于基本和聲搜索算法的新動態擾動操作以配合適應不同搜索階段的全局搜索過程。
通過數值實驗進行分析比較,HSDM預測準確率和成功率優于其它對比算法,將此算法應用于企業財務危機預警中旨在提高財務預警的實用性和準確性。
基本和聲搜索算法[2]自其發明伊始就得到了相當廣泛的關注,如今已發展成啟發式算法中一個獨立研究分支。如式 (1)所示為一個和聲記憶庫HM,由HMS (即和聲記憶庫大?。﹤€候選解組成,包括D個決策變量xi= [xi(1),…,xi(D)],i∈{1…..HMS}。通過以下3個即興操作獲得全局最優解,O1:和聲記憶庫保留操作,O2:隨機選擇操作,O3:音調調節操作。同時還包括替換和更新和聲記憶庫,式 (1)中f(x)作為目標函數用于衡量解的優良性
首先,將一個具有固定大小的和聲記憶庫在解空間內進行隨機初始化。然后,通過O1或O2操作創建出一個新的和聲xnew以概率HMCR和1-HMCR來分別確定決策變量xnew(d)的值,d∈{1,…,D}。接下來,將O1操作產生的解以概率PAR擾動完成O3操作。HMCR和PAR分別代表和聲記憶庫保留概率和音調調節率。O3操作應用到的參數BW表示帶寬,決定改進最大值范圍 (即變異步長)。若產生的新和聲優于現存和聲庫中最差和聲,將其替換。和聲創建與替換操作會不斷地重復直到滿足最后的確定標準。
通過下面HS算法解決最小化問題的偽代碼具體說明。其中,U(0,1)表示0和1之間均勻分布隨機數,xU(d)和xL(d)分別表示相對于d個決策變量解空間的上界和下界。
步驟1 設置HS的參數:HMS,HMCR,PAR和BW
步驟2 隨機初始化HM
FOR (i=1to HMS)
FOR (d=1to D)
xi(d)=xL(d)+U(0,1)(xU(d)-xL(d))
End
Evaluate f(xi)
End
步驟3 利用3個即興創作操作O1,O2,O3創建新和聲xnew= [xnew(1),……,xnew(D)]
For(d=1to D)
If(U(0,1)<=HMCR)
xnew(d)=xr(d),ris random from {1,……,HMS}
//O1
If(U (0,1)<=PAR)
If(U (0,1)<=0.5) //O3
xnew(d)=xnew(d)+U(0,1)×BW
Else
xnew(d)=xnew(d)-U(0,1)×BW
End
End
Else
xnew(d)=xL(d)+U(0,1)(xU(d)-xL(d)) //O2
End
End
Evaluate f(xnew)
步驟4 利用產生的xnew更新和聲記憶庫
Worst=argmax (f(xi))
xworst=xnew,if f(xnew)<f(xworst)
步驟5 若達到終止條件,則返回最優和聲,否則返回到步驟3繼續執行。
微分進化法[3]是一個簡單且功能強大的隨機性搜索算法,以種群為基礎,為各種優化問題做出卓越貢獻。通過變異,交叉,替換3個操作步驟獲得具有全局最優候選解的種群。并通過特定目標函數來確定最后的候選解。
首先,在解空間內初始化具有固定大小的候選解種群。其次,種群中的每一個候選解,即所謂的目標向量會分別按順序進行如下操作:
變異:先利用種群成員產生一個基矢量決定突變的參考點。經隨機抽樣的種群成員矢量差不包括保留目標矢量會被比例化并添加到基矢量中產生突變矢量。且存在不同方式產生基矢量與矢量差對應于不同突變策略。
交叉:通過存在于上述產生的突變矢量和保留下的目標向量之間的概率,應用交叉操作產生一個試驗向量。DE中的兩個典型的交叉方案包括二項式 (統一)交叉和指數(圓形雙點)交叉。
替代:如果試驗向量比保留下的目標向量效果更佳,會自動取代目標向量進入下一代種群。否則目標向量仍保存于下一代種群中。
種群應用這3個操作不斷地進行迭代更新直到達到最終的確定標準。
微分進化的成功主要歸功于變異操作中獨特的差分突變,從而區分于其它現存的啟發式算法。微分突變使用一到兩對隨機抽樣種群成員如下所示
一對差分突變
兩對差分突變
其中,r1,r2,r3,r4為隨機選擇種群成員互斥指數,F是控制突變步長比例縮放因子。
涉及所有種群成員可能對矢量差適應當前全局屬性,從而提供上佳可調步長突變方向平衡局部和全局搜索。具體而言,初期搜索階段,種群成員遍布整個解空間。因此,差矢量長度大有利于全局搜索。隨著進化推移,種群大小逐步縮減到解空間小區域上來,因此,局部搜索提倡小長度微分矢量。比例縮放因子有利于保存整個搜索過程探究和開發能力。
正如前面提到,基本和聲搜索算法的音調調節操作內在地反映了預先設定執行概率的固定步長突變不能適應各類問題在不同搜索階段的全局搜索。另一方面,微分進化中差分突變為全局搜索提供了一個自發式的自適應搜索模式。因此將差分突變引入到HS的音調調節操作中非??扇?。
綜上,本文提出一種基于差分突變進行音調調整的和聲搜索算法—HSDM。它取代了基本和聲搜索算法中O3操作應用固定步長調節音調,而是利用式 (3)中兩對差分突變得到一個新的音調調節方法。比例因子F從平均值為0.5標準偏差為0.3的正態分布中隨機抽樣。操作執行概率在搜期間從集合 {0.0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1.0}隨機選擇,其值均勻的分布在 (0,1)之間。
根據文獻 [4]中提出的中心極限定理,兩對差分突變比一對差分突變擾動有更好的性能,兩對差分變量隨機變化會略向高斯方向轉移形成許多高效突變操作。利用兩對差分變量的優越性在粒子群優化算法相關文章[5]中也曾討論過。實驗結果表明,種群中所有可能一對差分變量總和統計分布呈三角形,而所有可能兩對差分變量總和分布成鐘罩形,通常被認為具有更好的擾動性。
文獻 [6]中提到,從一個平均值是0.5標準差是0.3的正態分布中抽樣的比例因子值可保持在-0.4到1.4的概率是0.99。如此,整個搜索過程可同時保持探索和開發能力。
不同的Onew3執行概率可以維持自然良好的開發能力,當分別應用大或小概率時,決定變量值會在整個搜索過程中通過和聲記憶庫保留操作O1產生。
如下所示是利用HSDM算法解決最小化問題的偽代碼,U(0,1)表示0、1之間的隨機數,N(0.5,0.3)表示平均值為0.5,標準差為0.3的正態分布,xU(d)和xL(d)分別表示相對于d個決策變量解空間的上界和下界。
步驟1 設置HSDM參數:HMS、HMCR
步驟2 隨機初始化HM
For(i=1to HMS)
For(d=1to D)
xi(d)=xL(d)+U(0,1)×(xU(d)-xL(d))
End
Evaluate f(xi)
End
步驟3 利用3個和聲即興創作操作O1,O2和創建一個新的和聲:xnew= [xnew(1),…,xnew(D)]。
創建一個兩對差分突變向量:xmut=N(0.5,0.3)×(xr1-xr2+xr3-xr4)其中r1,r2,r3和r4隨機產生于{1,…,HMS}且相互排斥。
從集合 {0.0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1.0}中隨機選擇PAR的值。
For(d=1to D)
If(U(0,1)<=HMCR)
xnew(d)=xr(d),r is random from {1,…,HMS}
//O1
If(U(0,1)<=PAR) //Onew3
xnew(d)=xnew(d)+xmut(d)
END
Else
xnew(d)=xL(d)+U (0,1)× (xU(d)-xL(d))
//O2
END
END
Evaluate f(xnew)
步驟4 利用xnew更新和聲記憶庫
Worst=argmax (f(xi))
xworst=xnew,if f(xnew)<f(xworst)
步驟5 滿足終止條件則返回最優和聲,否則返回步驟3繼續執行。
在現有改進HS算法中,有兩種方法與本文提出的HSDM存在一些聯系。自適應和聲搜索算法 (SaSH)[7]修改HS原有音調調節操作O3在和聲記憶庫內使用和聲分布。假設xmax(d)和xmin(d)分別代表原有和聲記憶庫中d個變量最大最小值。SaSH采用以下間距調整操作取代O3:
If(U(0,1)<=0.5)
xnew(d)=xnew(d)+U(0,1)· (xmax(d)-xnew(d))
Else
xnew(d)=xnew(d)-U(0,1)· (xmax(d)-xmin(d))
End
此操作也可適應搜索過程中不同階段全局搜索。然而使用HM中值范圍不能準確表達全局屬性特別是其輪流變換時,因此不會提供可觀突變方向。
差分和聲搜索算法DHS遵循[9]中規則動態改變音調調節執行概率PAR如下所示
此處t,PAR(t),PARmax和PARmin分別代表當前函數測試數目,擾動概率,擾動概率最大最小值。
DHS將差分突變以不同方式引入到HS中。即DHS跳過原來音調調節操作O3并應用式 (2)中一對差分突變在保留操作O1和隨機選擇操作O2上產生決策變量。預先給定確切的差分突變執行概率值,比例縮放因子在統一分布中抽樣,且介于0、1之間。
事實上,應用差分突變在隨機選擇操作O2上產生決策變量未必合理。它只能在當前HM次區域內提供有效突變,然而O2操作產生決定變量往往超出這個范圍。
將HSDM性能與HS、SaSH、和DHS進行比較和評估,使用文獻 [8]中的5個常用的測試函數對算法進行測試全局復雜性在10到30個維度 (即10D到30D),其表達式如下所示:
(1)Rosenbrock函數
(2)Rastrigin函數
(3)Griewank函數
(4)Ackley函數
(5)Schwefel函數
HS參數設置的經驗準則取定如下[3,4]:HMS=50,HMCR=0.98,PAR=0.3,BW=0.01。SaSH 參數設置按文獻 [7]選取即:HMS=50,HMCR=0.98,PARmin=0.0,PARmax=1.0。DHS的參數根據文獻 [9]設置:HMS=50,HMCR=0.98,PAR=0.3。HSDM 的參數設置為:HMS=50,HMCR=0.98。要注意 HS,SaHS,DHS and HSDM中常用的參數為公平會設置相同。
以Matlab為開發環境,在處理器為Intel Xeon E5520,2.27GHZ、內存為2GB的PC機上進行試驗。
每種算法利用5個測試函數以不同隨機初始值開始執行,且所有4種算法 (HS,SaSH,DHS,HSDM)對于任何一個獨立運行都共享相同隨機初值。
兩種終止標準:①達到函數值的計算最大數量。這里函數值計算最大維度設置為104,即105為10D,3×105為30D。②已產生所有解和全局最優解之間目標函數的差值(即函數誤差EFV)小于10-8時,誤差可忽略不計設為0。通過對標準①達到函數誤差最佳平均值和標準差和標準②得到成功率 (SR)來定量測定優化性能。一種優化算法函數誤差精度小于預先給定值,則成功解決了問題。本文中,測試函數的精度設為10-8。
由于解決問題算法對計算速度有嚴格要求,實際優化問題受其約束對于函數值計算次數成比例??疾煲粋€優化算法有效性涉及各種計算預案 (例:允許最大函數值計算數目),本文利用計算成功次數經驗積累分布函數 (ECDF)來考察測試函數。
圖1 和圖2所示,在維度為10D和30D下,5個測試函數關于各算法函數值計算數的成功率精度在10-8下的經驗積累函數分布??梢钥闯鼋涍^5000(10D)到19000(30D)次迭代后,HSDM總優于其它3種算法。
表1 和表2對比5個測試函數每個分別在維度為10D和30D下,HS,SaSH,DHS,HSDM的優化性能達到最佳函數誤差平均值和標準差和精度為10-8的成功率??梢钥闯鰧嶒灍o論是在10D還是30D維度情況下,HSDM都顯現出比HS、SaSH和DHS更優越的性能。
表2 30D下測試函數的函數誤差EFV、成功率SR
企業財務危機指標的選取應遵從系統性,簡明性,獨立性,可測行,時效性這5個方面。根據[10,11]企業財務危機預警可從五方面劃分即獲利能力指標、償債能力指標、經營能力指標、現金流量指標、成長能力指標??紤]到指標選取會受各方面因素的影響,排除相關性的冗余,選取流動比率、總資產周轉率、資產負債率、銷售利潤率、凈資產收益率、總資產增長率進行預測。對相應的數據進行數據篩選、數據填補、數據歸一化等預處理后,用于HSDM測試。這里將安全危機程度劃分為Ⅰ、Ⅱ、Ⅲ、Ⅳ、Ⅴ,5個等級,等級越大則財務狀況越安全;反之,財務狀況越危險。
以上述指標為依據,選取某企業2001~2011年財務指標歷史數據的相對優屬度進行預測,通過HS、HSDM算法的預測結果與實際安全等級比較如表3,得到基本和聲搜索算法準確率為54.5%,HSDM準確率為81.8%。
本文在基本和聲搜索算法與微分進化方法相互結合的基礎上,提出一種新的差分突變音調調節和聲搜索算法—HSDM。利用微分進化變異操作中獨特的差分突變動態調節基本和聲算法擾動音調。
通過數值對比試驗分析,本文提出的方法性能優于基本HS算法及其它兩種改進HS算法,誤差降低,增強了預測的準確性。通過比較證實了HSDM的預警準確率優于基本HS算法,并將該方法應用于實際的財務預警模型進行預測??紤]到本文算法采用預測指標數據集較小,下一步會加大數據采集做進一步研究。
表3 測試結果
[1]CUI Xuegang,WANG Liyan,XU Hong.Over-speed growth financial crisis and risk forecasting [J].Accounting Research,2007 (12):55-62 (in Chinese).[崔學剛,王立彥,許紅.企業與財務危機關系研究 [J].會計研究,2007 (12):55-62.]
[2]HAN Hongyan,PAN Quanke,LIANG Jing.Application of improved harmony search algorithm in function optimization[J].Computer Engineering,2010,36 (3):245-248 (in Chinese).[韓紅燕,潘全科,梁靜.改進的和聲搜索算法在函數優化中的應用 [J].計算機工程,2010,36 (3):245-248.]
[3]WANG Dingwei,WANG Junfeng.Intelligent optimization algorithm [M].Beijing:Higher Education Press,2007 (in Chinese).[汪定偉,王俊峰.智能優化算法 [M].北京:高等教育出版社,2007.]
[4]LIU Lili,WANG Dingwei,TANG Jiafu.An Immune system based different evolution algorithm using near-neighbor effect in dynamic environments[J].Journal of Control Theory and Applications,2012,10 (4):417-425.
[5]YANG Qiwen,CAI Liang,XUE Yuncan.A survey of differential evolution algorithms [J].Pattern Recognition and Artificial Intelligence,2008,21 (4):506-513 (in Chinese).[楊啟文,蔡亮,薛云燦.差分進化算法綜述 [J].模式識別與人工智能,2008,21 (4):506-513.]
[6]Qin A K,Huang V L,Suganthan P N.Differential evolution algorithm with strategy adaptation for global numerical optimization [J].IEEE Transactions on Evolutionary Computations,2009,13 (2):398-417.
[7]Chakraborty P,Roy G G,Das S,et al.An improved harmony search algorithm with differential mutation operator[J].Fundamenta Informaticae-Swarm Intelligence,2009,95(4):401-426.
[8]LIANG Xu.Modern hybrid intelligent optimization algorithm and its application [M].Beijing:Electronics Industry Press,2011:11-20(in Chinese).[梁旭.現代智能優化混合算法及其應用 [M].北京:電子工業出版社,2011:11-20.]
[9]Wang C M,Huang Y F.Self-adaptive harmony search algorithm for optimization [J].Expert Systems with Applications,2010,37 (4):2826-2837.
[10]LIU Guofeng.Indicator system established by financial crisis warning [J].Modern Accounting,2009 (3):153-156 (in Chinese).[劉國風.企業財務危機預警應確立的指標體系[J].商業研究,2009 (3):153-156.]
[11]QUAN Chunguang,CHENG Xiaojuan.Study on screening warning indicators of enterprises’s financial crisis [J].Contemporary Economy and Management,2010,32 (8):36-39(in Chinese).[全春光,程曉娟.企業財務危機預警指標篩選探究 [J].當代經濟管理,2010,32 (8):36-39.]