康彩紅,王秋萍,肖燕婷
(西安理工大學(xué) 理學(xué)院,西安 710054)
近年來,在經(jīng)濟(jì)全球化的大背景下,上市公司所處的經(jīng)營環(huán)境瞬息萬變,使得不少公司正面臨著越來越激烈的市場競爭.因此,上市公司的財(cái)務(wù)危機(jī)管控和及時(shí)監(jiān)測就顯得尤為重要,不僅能有效準(zhǔn)確評估上市公司的財(cái)務(wù)狀況和及時(shí)預(yù)測其存在的財(cái)務(wù)風(fēng)險(xiǎn),而且可有效幫助上市公司提前預(yù)防危機(jī)的發(fā)生,增強(qiáng)上市公司化解危機(jī)的主動性,對保護(hù)廣大投資者和債權(quán)人的利益、維護(hù)上市公司健康發(fā)展和提高公司科學(xué)化管理具有重要的現(xiàn)實(shí)意義.財(cái)務(wù)預(yù)警模型包括單變量財(cái)務(wù)預(yù)警模型、條件概率預(yù)測模型和多變量財(cái)務(wù)預(yù)警模型等[1,2].隨著智能優(yōu)化算法的研究發(fā)展,研究者開始將財(cái)務(wù)預(yù)警模型和智能優(yōu)化算法相結(jié)合,通過優(yōu)化模型參數(shù)來修正模型,從而達(dá)到理想的預(yù)測效果[3,4].
2011年6月臺灣學(xué)者Wen-Tsao Pan博士受果蠅覓食行為的啟發(fā)提出了果蠅優(yōu)化算法(Fruit fly Optimization Algorithm,FOA)[5,6],然后用FOA來優(yōu)化多變量預(yù)測模型中的傳統(tǒng)Z-Score財(cái)務(wù)預(yù)警模型的參數(shù),雖然優(yōu)化參數(shù)后的預(yù)測結(jié)果比傳統(tǒng)Z-Score財(cái)務(wù)預(yù)警模型好,但因FOA算法易陷入局部最優(yōu)、穩(wěn)定性不強(qiáng)等缺陷,使得預(yù)測結(jié)果并不理想.
鑒于此,本文對基本FOA算法進(jìn)行改進(jìn),對果蠅尋優(yōu)步長進(jìn)行自適應(yīng)調(diào)控,采用步長縮進(jìn)的控制策略來避免算法陷入局部最優(yōu)及提高穩(wěn)定性等,提出了基于個(gè)體差異的自適應(yīng)步長果蠅優(yōu)化算法(Self-Adaptive Fruit fly Optimization Algorithm based on the individual differences,SA-FOA),然后用于對Z-Score模型參數(shù)的優(yōu)化,進(jìn)而提出基于改進(jìn)FOA算法的上市公司的ZScore模型.用修正后的模型分析20家上市公司的財(cái)務(wù)風(fēng)險(xiǎn)狀況[5],結(jié)果表明將改進(jìn)FOA算法應(yīng)用于優(yōu)化Z-Score財(cái)務(wù)預(yù)警模型的參數(shù)效果比較顯著.
為了有效檢驗(yàn)和規(guī)避風(fēng)險(xiǎn),使公司能夠在損失之前及時(shí)采取應(yīng)對措施以及損失達(dá)到最小,保證上市公司的可持續(xù)發(fā)展,美國紐約大學(xué)教授愛德華·奧特曼(Edward Altman)提出Z-Score財(cái)務(wù)預(yù)警模型[7].根據(jù)Altman教授長期的實(shí)證研究,選取企業(yè)的獲利能力、償還能力、流動性、周轉(zhuǎn)能力和財(cái)務(wù)杠桿這5個(gè)財(cái)務(wù)指標(biāo)作為分析變量,并給這5個(gè)指標(biāo)變量乘以不同權(quán)重,建立Z-Score財(cái)務(wù)預(yù)警模型式(1),通過Z-Score模型可分析出上市公司的風(fēng)險(xiǎn)概況[8].
式 (1)中,Z為 Z-Score,X1、X2、X3、X4和X5分別代表Altman教授提出的5個(gè)不同的財(cái)務(wù)指標(biāo)變量.其中,這5個(gè)Z值模型的指標(biāo)變量解釋見表1.
表1 Z值模型變量解釋
Altman教授的Z-Score臨界值見表2.
表2 臨界值的說明
FOA算法是一種向最優(yōu)個(gè)體不斷靠近來實(shí)現(xiàn)解空間尋優(yōu)的新方法.果蠅覓食的基本原理: ① 嗅覺搜索階段: 由嗅覺分辨食物氣味的來源,并朝這個(gè)方向飛去;② 視覺定位階段: 當(dāng)逼近食物位置附近后,利用敏銳的視覺來準(zhǔn)確判斷食物源以及其它同伴聚集的準(zhǔn)確位置,最后飛向食物源.FOA步驟如下[6]:
2)對果蠅個(gè)體通過嗅覺尋找食物的方向與距離進(jìn)行賦值:
3)因無法得知食物源的具體位置,故需先估計(jì)與原點(diǎn)之間的距離然后再計(jì)算味道濃度判定值Si:
4)將式(4)中計(jì)算出的味道濃度判定值Si代入味道濃度判斷函數(shù)(Fitness function),此時(shí)就可以求得果蠅個(gè)體的味道濃度值(即適應(yīng)值):
5)找出果蠅種群中味道濃度最低的一個(gè)(求最小值):
7) 重復(fù)執(zhí)行步驟2)~ 5),并與前一代最佳味道濃度值作對比,是否優(yōu)于前一代最佳味道濃度值,且當(dāng)前迭代數(shù)是否小于最大迭代數(shù)若是,則執(zhí)行步驟6); 否則,結(jié)束算法.
當(dāng)使用基本FOA算法求解各種優(yōu)化問題時(shí),在其步驟2)的迭代過程中,由于給予每個(gè)果蠅個(gè)體搜尋食物的方向與距離這一參數(shù)賦予的值是隨機(jī)的,而影響它的唯一一個(gè)因素就是在搜索中采用的固定步長,再加上算法個(gè)體之間的信息交互能力較弱,從而一定程度上限制了算法的搜索尋優(yōu)能力.由此可知,迭代過程中并未考慮每個(gè)果蠅個(gè)體當(dāng)前所處位置優(yōu)劣的差異性,如果采用固定的搜索迭代步長,則限制了果蠅群體的搜索能力,將會致使果蠅個(gè)體中迭代步長較小的個(gè)體收斂緩慢,造成算法早熟而陷入局部極值; 而搜索迭代步長較大的個(gè)體則又容易引起迭代后期強(qiáng)烈的振蕩以及局部尋優(yōu)能力的降低.因此為了得到較理想的優(yōu)化效果,在文獻(xiàn)[9–13]的基礎(chǔ)上,本文提出了采用基于個(gè)體差異的自適應(yīng)步長果蠅優(yōu)化算法(Self-Adaptive Fruit fly Optimization Algorithm based on the individual differences,SA-FOA).
SA-FOA算法下步長值主要通過兩部分來實(shí)現(xiàn)調(diào)控,見式 (8).首先衰減部分,這部分根據(jù)當(dāng)前迭代次數(shù)變化形成一個(gè)指數(shù)衰減量; 其次根據(jù)每個(gè)果蠅個(gè)體當(dāng)前所處位置的差異性,將前一代果蠅個(gè)體位置的味道濃度值和前一代群體最優(yōu)值同時(shí)考慮進(jìn)去,這樣可使迭代步長值隨著果蠅個(gè)體當(dāng)前所處的位置需求進(jìn)而來實(shí)現(xiàn)搜索步長的自適應(yīng)更新,通過這兩部分的調(diào)控關(guān)系可使果蠅個(gè)體根據(jù)自身所處位置情況來選擇不同的步長.由式 (8)可知,該方式下搜索步長值總體是呈遞減趨勢,且位置較差的果蠅個(gè)體能獲得相對更長的搜索步長值,使得果蠅群體兼具較強(qiáng)的全局勘探和局部開發(fā)能力,從而增強(qiáng)整個(gè)算法的搜索尋優(yōu)能力.
對果蠅個(gè)體通過嗅覺覓食的隨機(jī)方向與距離公式更新如下:
這樣,通過上述改進(jìn)便可使算法在迭代初期保持一個(gè)較大的搜索步長,果蠅個(gè)體可以在大范圍內(nèi)進(jìn)行粗搜索,從而更快搜索到全局最優(yōu)的范圍; 而算法到了迭代后期,隨著群體移動步長自適應(yīng)地減小,算法便具有更強(qiáng)的局部搜索能力與更快的收斂速度.
為驗(yàn)證SA-FOA算法的尋優(yōu)效果,以Schaffer函數(shù)為例做模擬分析,如式(11):
Schaffer函數(shù)的特點(diǎn)是在定義域內(nèi)存在一個(gè)全局最小值點(diǎn)和無限個(gè)局部極小值點(diǎn).在MATLAB中分別用SA-FOA、PSO和FOA算法測得其曲線收斂如圖1所示.由圖1可看出,SA-FOA算法的收斂效果優(yōu)于PSO和FOA算法,尋優(yōu)效果較好.
圖1 Schaffer函數(shù)適應(yīng)度進(jìn)化曲線
本文利用SA-FOA算法良好的尋優(yōu)能力,將ZScore模型參數(shù)與SA-FOA算法中食物的味道濃度值建立一定關(guān)系,通過模仿果蠅覓食行為,對模型參數(shù)進(jìn)行優(yōu)化選擇.在保持5個(gè)原變量不變的情況下,將隨機(jī)生成的SA-FOA優(yōu)化參數(shù)代入式 (12) 中.以預(yù)測值與目標(biāo)值的均方根誤差(Root Mean Squared Error,RMSE)最小為目標(biāo),優(yōu)化后模型的參數(shù)分別記為T1、T2、T3、T4和T5.SA-FOA算法優(yōu)化Z-Score模型的參數(shù)時(shí),以RMSE為適應(yīng)度函數(shù)如式 (13):
SA-FOA優(yōu)化Z-Score模型的流程如圖2所示.
圖2 SA-FOA優(yōu)化Z-Score模型流程圖
采用SA-FOA算法和FOA算法優(yōu)化Z-Score模型參數(shù)的實(shí)驗(yàn)原理就是: 首先,將5群果蠅群體進(jìn)行初始化,分別指派給參數(shù)T1、T2、T3、T4和T5; 然后,給它們每個(gè)群體設(shè)定有20只果蠅,并且將隨機(jī)初始化果蠅群體的位置區(qū)間設(shè)置為[0,1],進(jìn)行迭代時(shí),將果蠅搜尋食物的隨機(jī)方向和距離區(qū)間設(shè)置為[–1,1]; 最后,通過100次迭代搜尋得到最佳模型的優(yōu)化參數(shù)T1、T2、T3、T4和T5,這樣會使優(yōu)化后的Z-Score財(cái)務(wù)預(yù)警模型所得到的結(jié)果逐漸趨近于目標(biāo)值Y.
本文以20家上市公司的財(cái)務(wù)數(shù)據(jù)作為研究分析對象,它的財(cái)務(wù)指標(biāo)數(shù)據(jù)見表3.其中,X1、X2、X3、X4和X5分別表示不同的財(cái)務(wù)指標(biāo)變量,Y則表示上市公司的財(cái)務(wù)狀況(0代表危機(jī)公司; 1代表正常公司).
測試實(shí)驗(yàn)環(huán)境為內(nèi)存8.00 GB,機(jī)器主頻3.60 GHz,操作系統(tǒng)為Windows7,用Matlab編程在Matlab R2014a實(shí)現(xiàn).
根據(jù)傳統(tǒng)Z-Score模型對表3中的20家企業(yè)進(jìn)行財(cái)務(wù)預(yù)警仿真實(shí)驗(yàn).測得這20家上市公司的ZScore值的測試數(shù)據(jù)結(jié)果見表4,并將表4結(jié)果與表3中的目標(biāo)值Y進(jìn)行對比,發(fā)現(xiàn)通過傳統(tǒng)的Z-Score財(cái)務(wù)預(yù)警模型來預(yù)測上市公司的財(cái)務(wù)狀況時(shí),有第3、7、8、9、10、12和第17家上市公司的財(cái)務(wù)狀況的預(yù)測值不正確,其預(yù)測準(zhǔn)確率為65%.
4.2.1 仿真實(shí)驗(yàn)與結(jié)果分析
根據(jù)表4的預(yù)測結(jié)果,我們發(fā)現(xiàn)傳統(tǒng)Z-Score財(cái)務(wù)預(yù)警模型對上市公司的財(cái)務(wù)危機(jī)預(yù)警能力并不高,存在不足.因此,傳統(tǒng)的Z-Score模型在預(yù)測財(cái)務(wù)危機(jī)預(yù)警時(shí),其判定能力有進(jìn)一步優(yōu)化和改善的空間.
4.2.2 FOA優(yōu)化Z-Score模型參數(shù)的仿真實(shí)驗(yàn)
采用基本FOA算法對表3中的20家企業(yè)進(jìn)行財(cái)務(wù)預(yù)警仿真實(shí)驗(yàn).算法的參數(shù)設(shè)置: 果群規(guī)模最大迭代數(shù)為了便于分析對比,本文采用參考文獻(xiàn)[6]中的方法設(shè)置FOA算法優(yōu)化Z-Score模型的判定臨界值,在FOA算法優(yōu)化模型參數(shù)中0.5對應(yīng)2.675,若預(yù)測結(jié)果高于0.5(亦即高于2.675)為正常公司,反之則狀況不佳.FOA算法優(yōu)化后的Z-Score值的測試數(shù)據(jù)結(jié)果見表5,并將表5結(jié)果與表3中的目標(biāo)值Y進(jìn)行對比,發(fā)現(xiàn)通過FOA算法優(yōu)化Z-Score模型參數(shù)來預(yù)測上市公司的財(cái)務(wù)狀況時(shí),第3、7、8、9、10和12家上市公司的財(cái)務(wù)狀況的預(yù)測值不正確,其預(yù)測準(zhǔn)確率為70%.
表3 20家上市公司財(cái)務(wù)數(shù)據(jù)
表4 20家上市公司的Z-Score值
4.2.3 SA-FOA優(yōu)化Z-Score模型參數(shù)的仿真實(shí)驗(yàn)
采用SA-FOA算法對表3中的20家企業(yè)進(jìn)行財(cái)務(wù)預(yù)警仿真實(shí)驗(yàn).算法的參數(shù)設(shè)置: 果群規(guī)模sizepop=20,最大迭代數(shù)初始步長C0=0.2,衰減常量τ=0.005,正常量=2,判定臨界值對比標(biāo)準(zhǔn)同上.用SA-FOA算法優(yōu)化Z-Score模型參數(shù)來預(yù)測上市公司的財(cái)務(wù)狀況時(shí),從表6可看出,有第、、和家上市公司的財(cái)務(wù)狀況的預(yù)測值不正確,其預(yù)測準(zhǔn)確率為80%.
根據(jù)表5的預(yù)測結(jié)果,我們發(fā)現(xiàn)用基本FOA算法優(yōu)化Z-Score模型參數(shù)進(jìn)行財(cái)務(wù)預(yù)警時(shí),準(zhǔn)確率雖有所改變,但因FOA算法易陷入局部最優(yōu)及穩(wěn)定性不強(qiáng)的問題,使預(yù)測效果還有待提高.
表5 20家上市公司的FOA優(yōu)化Z-Score值
由表7RMSE分析可知,SA-FOA算法優(yōu)化ZScore獲得的RMSE較小,表明其預(yù)測效果較好.
表6 20家上市公司的SA-FOA優(yōu)化Z-Score值
表7 兩種算法優(yōu)化下的RMSE值對比結(jié)果
從圖3基本FOA算法優(yōu)化Z-Score模型參數(shù)和SA-FOA算法優(yōu)化Z-Score模型參數(shù)的RMSE尋優(yōu)收斂圖可知,隨著迭代次數(shù)的增加,SA-FOA算法優(yōu)化ZScore模型參數(shù)的能力優(yōu)于FOA算法優(yōu)化Z-Score模型參數(shù)的能力,收斂時(shí)對應(yīng)的迭代次數(shù)明顯小于基本FOA算法優(yōu)化Z-Score模型所對應(yīng)的數(shù)值,且速度較快.
圖3 RMSE收斂圖
綜合以上對比分析結(jié)果,表明了采用SA-FOA算法優(yōu)化后的Z-Score財(cái)務(wù)預(yù)警模型的準(zhǔn)確性和高效性.經(jīng)SA-FOA算法優(yōu)化Z-Score模型參數(shù),當(dāng)其適應(yīng)度達(dá)到最小值時(shí),其優(yōu)化后的Z-Score模型參數(shù)T1、T2、T3、T4和T5分別為: 0.3275、0.2907、0.3180、0.2206和0.2337.
為了提高傳統(tǒng)Z-Score財(cái)務(wù)預(yù)警模型的預(yù)警能力,本文提出了一種基于改進(jìn)FOA算法的上市公司的ZScore財(cái)務(wù)預(yù)警模型.通過對基本FOA算法的移動步長進(jìn)行改進(jìn),并將其與傳統(tǒng)的Z-Score財(cái)務(wù)預(yù)警模型相結(jié)合,用于對Z-Score模型參數(shù)的優(yōu)化和完善.經(jīng)仿真實(shí)驗(yàn)表明優(yōu)化后的財(cái)務(wù)預(yù)警模型具有較好的預(yù)測效果.