王正陽(yáng)
(國(guó)網(wǎng)江蘇省電力有限公司連云港供電分公司,江蘇 連云港 222000)
隨著我國(guó)綜合國(guó)力和經(jīng)濟(jì)實(shí)力的提升,電力企業(yè)作為國(guó)家發(fā)展的經(jīng)濟(jì)命脈,其健康發(fā)展是國(guó)民經(jīng)濟(jì)穩(wěn)定發(fā)展的重要基礎(chǔ),對(duì)電力企業(yè)進(jìn)行審計(jì)工作有利于企業(yè)正常運(yùn)營(yíng)[1-2],因此研究電力企業(yè)審計(jì)風(fēng)險(xiǎn)評(píng)估,對(duì)提高審計(jì)效率和提升企業(yè)競(jìng)爭(zhēng)力具有重要意義[3]。
賬項(xiàng)基礎(chǔ)、制度基礎(chǔ)和風(fēng)險(xiǎn)導(dǎo)向是企業(yè)審計(jì)工作的三要素,其中風(fēng)險(xiǎn)導(dǎo)向是審計(jì)工作規(guī)避風(fēng)險(xiǎn)的有效措施。通過(guò)分析電力企業(yè)審計(jì)風(fēng)險(xiǎn)因素,能夠有效避免企業(yè)經(jīng)營(yíng)中潛在的財(cái)務(wù)危機(jī)[4]。王鑫根[5]采用層次分析法確定電力企業(yè)風(fēng)險(xiǎn)評(píng)估指標(biāo),采用天牛須搜索算法對(duì)BP神經(jīng)網(wǎng)絡(luò)的參數(shù)進(jìn)行優(yōu)化,深入挖掘?qū)徲?jì)風(fēng)險(xiǎn)與影響因素間的關(guān)系,提出一種基于數(shù)據(jù)挖掘的電力企業(yè)審計(jì)風(fēng)險(xiǎn)評(píng)估模型,但天牛須搜索算法在尋優(yōu)過(guò)程中易陷入局部極值[6]。
該文采用鯨魚優(yōu)化算法對(duì)BP神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值進(jìn)行優(yōu)化,建立基于鯨魚算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的電力企業(yè)風(fēng)險(xiǎn)評(píng)估模型,用該模型對(duì)電力企業(yè)審計(jì)風(fēng)險(xiǎn)進(jìn)行準(zhǔn)確評(píng)估,通過(guò)實(shí)際算例對(duì)所提模型的正確性和實(shí)用性進(jìn)行驗(yàn)證。
鯨魚優(yōu)化算法[7](Whale Optimization Algorithm,WOA)是數(shù)學(xué)家Mirjalili等根據(jù)鯨魚捕食過(guò)程提出的一種群體智能算法。鯨魚是一種群居生活的大型哺乳動(dòng)物,通過(guò)相互合作驅(qū)趕和圍捕獵物。鯨魚發(fā)現(xiàn)獵物后,會(huì)制造螺旋狀上升的泡泡,獵物隨著泡泡不斷地收縮,最終被鯨魚捕獲,因此鯨魚捕食獵物的過(guò)程主要包括包圍獵物、氣泡攻擊和搜索獵物3個(gè)階段。
當(dāng)鯨魚種群中有個(gè)體發(fā)現(xiàn)獵物所在位置時(shí),獵物位置信息會(huì)在鯨魚種群中共享,鯨魚獲得信息后向獵物靠攏,并不斷縮小搜索范圍,假設(shè)獵物位置為鯨魚種群中適應(yīng)度值最好的個(gè)體,鯨魚個(gè)體的位置更新如公式(1)和公式(2)所示。
式中:k為算法當(dāng)前迭代次數(shù);X(k)為鯨魚個(gè)體在第k次迭代時(shí)的位置;X(k+1)為鯨魚個(gè)體在第k+1次迭代時(shí)的位置;Xp(k)為獵物位置;A、C均為鯨魚位置調(diào)整系數(shù),計(jì)算如公式(3)和公式(4)所示。
式中:r1、r2為取值在[0,1]的隨機(jī)數(shù);a為控制因子,控制因子的取值與算法迭代次數(shù)有關(guān),如公式(5)所示。
式中:kmax為算法最大迭代次數(shù)。
當(dāng)圍捕獵物時(shí),鯨魚通過(guò)制造螺旋狀上升的泡泡,包圍獵物并不斷搜索,最終捕獲獵物,計(jì)算過(guò)程如公式(6)所示。
式中:b為常數(shù),可以控制螺旋形狀;l為隨機(jī)數(shù),取值區(qū)間均為[0,1]。
為找到全局最優(yōu)解,鯨魚搜索獵物的階段的策略為隨機(jī)搜索。該階段與包圍獵物階段不同,為便于區(qū)分,用|A|值判斷,如果|A|≥1,則表明鯨魚在隨機(jī)搜索的同時(shí)不斷縮小搜索區(qū)域,其好處是算法能夠及時(shí)跳出局部最優(yōu)解,能全局尋優(yōu),從而提高尋優(yōu)精度。搜索獵物階段鯨魚位置更新如公式(7)和公式(8)所示。
式中:Xrand(k)為鯨魚在第k次迭代時(shí)隨機(jī)選擇的位置。
與遺傳算法和粒子群算法等傳統(tǒng)優(yōu)化算法相比,WOA算法在尋優(yōu)過(guò)程中不易陷入局部極值,優(yōu)化效果更好,目前被廣泛應(yīng)用于參數(shù)尋優(yōu)和目標(biāo)尋優(yōu)等相關(guān)領(lǐng)域。WOA算法的偽代碼見(jiàn)表1。
反向傳播神經(jīng)網(wǎng)絡(luò)(Back Propagation Neural Network,BPNN)是一種前饋監(jiān)督學(xué)習(xí)算法[8]。BPNN主要由輸入層、隱含層和輸出層組成,各層間采用多個(gè)神經(jīng)元節(jié)點(diǎn)進(jìn)行連接,具有較強(qiáng)的非線性擬合能力,BPNN的網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。
BPNN的訓(xùn)練過(guò)程包括正向傳播和反向傳播,在訓(xùn)練過(guò)程中不斷更新BPNN的權(quán)值和閾值,使輸出結(jié)果與實(shí)際值的誤差最小,從而完成網(wǎng)絡(luò)訓(xùn)練。
正向傳播過(guò)程的傳輸方向是從輸入層到輸出層,通過(guò)輸入與輸出的映射關(guān)系完成數(shù)據(jù)正向傳播。在傳播過(guò)程中,輸入層和相關(guān)網(wǎng)絡(luò)參數(shù)都需要線性調(diào)整,并采用激活函數(shù)完成線性到非線性轉(zhuǎn)換,得到輸出值。各層神經(jīng)元的正向計(jì)算如公式(9)和公式(10)所示。
式中:i、j分別為BP神經(jīng)網(wǎng)絡(luò)的神經(jīng)元節(jié)點(diǎn);ωij為節(jié)點(diǎn)i和節(jié)點(diǎn)j間的權(quán)值;bj為節(jié)點(diǎn)j的閾值;xi為節(jié)點(diǎn)i的輸入值;f為激活函數(shù);yj為節(jié)點(diǎn)的輸出值。
反向傳播過(guò)程是誤差傳播,從輸出層開始反向計(jì)算每層神經(jīng)元的計(jì)算誤差,并更新參數(shù)。令輸出層結(jié)果為yj,損失函數(shù)的計(jì)算如公式(11)所示。
損失函數(shù)反映實(shí)際值與BP神經(jīng)網(wǎng)絡(luò)擬合值間的差異,為使二者更接近,采用梯度下降法更新BPNN的權(quán)值和閾值,如公式(12)和公式(13)所示。
式中:η為學(xué)習(xí)率,其值決定權(quán)值和閾值的調(diào)整幅度。
常用的激活函數(shù)為Sigmoid函數(shù)和tanh函數(shù),該文采用Sigmoid函數(shù)進(jìn)行計(jì)算,如公式(14)所示。
對(duì)公式(14)進(jìn)行求導(dǎo)后,如公式(15)所示。
由此可以分析權(quán)值和閾值的導(dǎo)數(shù)的表達(dá)式,如公式(16)~公式(18)所示。
綜上所述,可以得到BPNN的權(quán)值和閾值更新公式,如公式(19)~和公式(20)所示。
BPNN結(jié)構(gòu)簡(jiǎn)單,適合解決非線性分類和回歸等問(wèn)題,目前廣泛應(yīng)用于交通、能源和醫(yī)療等領(lǐng)域中。
審計(jì)工作對(duì)電力企業(yè)的發(fā)展有很大影響,正確評(píng)估審計(jì)風(fēng)險(xiǎn)有利于保障電力企業(yè)的資產(chǎn)安全,提升企業(yè)管理水平。因此,該文采用WOA算法對(duì)BPNN的權(quán)值和閾值進(jìn)行優(yōu)化,建立基于WOA-BPNN的電力企業(yè)風(fēng)險(xiǎn)評(píng)估模型,WOABPNN模型的建模流程如圖2所示。
輸入電力企業(yè)審計(jì)數(shù)據(jù),組成樣本數(shù)并進(jìn)行歸一化處理,如公式(21)所示。
式中:xi為某特征值;xmax為某特征值的最大值;xmin為某特征值的最小值。
確定BPNN的網(wǎng)絡(luò)結(jié)構(gòu),設(shè)置傳遞函數(shù),并根據(jù)建模需要確定輸入層、隱含層和輸出層神經(jīng)元的數(shù)量。初始化WOA算法,并設(shè)置相關(guān)參數(shù),包括鯨魚種群數(shù)量、算法最大迭代次數(shù)和收斂因子等。
采用WOA算法對(duì)BP神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值進(jìn)行尋優(yōu),并根據(jù)適應(yīng)度函數(shù)計(jì)算鯨魚個(gè)體適應(yīng)度值,適應(yīng)度函數(shù)采用訓(xùn)練結(jié)果的均方根誤差,計(jì)算如公式(22)所示。
通過(guò)迭代不斷更新BPNN的權(quán)值和閾值,當(dāng)訓(xùn)練結(jié)果的均方根誤差最小時(shí),終止迭代,將最優(yōu)權(quán)值和閾值賦給BPNN。采用BPNN對(duì)電力企業(yè)審計(jì)風(fēng)險(xiǎn)進(jìn)行評(píng)估。
以某大型電網(wǎng)企業(yè)的12家省級(jí)電力企業(yè)審計(jì)風(fēng)險(xiǎn)數(shù)據(jù)作為樣本數(shù)據(jù)進(jìn)行仿真分析。利用Matlab軟件作為仿真平臺(tái),采用Tansig函數(shù)作為BPNN輸入層與隱含層間的連接函數(shù),隱含層和輸出層間采用Logsig函數(shù),訓(xùn)練目標(biāo)精度為10-4。WOA算法的參數(shù)設(shè)置如下[9]:鯨魚種群數(shù)量N=30、算法最大迭代次數(shù)kmax=1000、收斂因子a=30。
電力企業(yè)審計(jì)風(fēng)險(xiǎn)共分為5個(gè)等級(jí),見(jiàn)表2。
表2 電力企業(yè)審計(jì)風(fēng)險(xiǎn)劃分
用Matlab軟件編制WOA-BPNN的計(jì)算程序,WOA-BPNN的收斂曲線如圖3所示。
圖3 WOA-BPNN的收斂曲線
從圖3可以看出,當(dāng)?shù)?jì)算到400次時(shí),WOA-BPNN模型的收斂精度已經(jīng)達(dá)到目標(biāo)精度,采用完成訓(xùn)練的WOABPNN模型對(duì)12家電力企業(yè)審計(jì)風(fēng)險(xiǎn)進(jìn)行評(píng)估,評(píng)估結(jié)果見(jiàn)表3。
表3 電力通信網(wǎng)故障編碼
由表3可知,在12家電力企業(yè)中,2家企業(yè)審計(jì)風(fēng)險(xiǎn)為高風(fēng)險(xiǎn),4家企業(yè)審計(jì)風(fēng)險(xiǎn)為較高風(fēng)險(xiǎn),2家企業(yè)審計(jì)風(fēng)險(xiǎn)為中風(fēng)險(xiǎn),1家企業(yè)審計(jì)風(fēng)險(xiǎn)為較低風(fēng)險(xiǎn),1家企業(yè)審計(jì)風(fēng)險(xiǎn)為低風(fēng)險(xiǎn),評(píng)估結(jié)果與12家電力企業(yè)實(shí)際審計(jì)風(fēng)險(xiǎn)一致,由此驗(yàn)證該文基于WOA-BPNN的電力企業(yè)風(fēng)險(xiǎn)等級(jí)評(píng)估方法的正確性和實(shí)用性。
該文采用鯨魚優(yōu)化算法對(duì)BP神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值進(jìn)行優(yōu)化,建立基于鯨魚算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的電力企業(yè)風(fēng)險(xiǎn)評(píng)估模型,采用該模型對(duì)電力企業(yè)審計(jì)風(fēng)險(xiǎn)進(jìn)行準(zhǔn)確評(píng)估,評(píng)估結(jié)果與12家電力企業(yè)實(shí)際審計(jì)風(fēng)險(xiǎn)一致,驗(yàn)證了該文基于WOA-BPNN的電力企業(yè)風(fēng)險(xiǎn)等級(jí)評(píng)估方法的正確性和實(shí)用性。