吳 笛
(新疆財經(jīng)大學(xué) 統(tǒng)計與數(shù)據(jù)科學(xué)學(xué)院,烏魯木齊 830012)
我國市場存在著嚴(yán)重的信息不對稱問題,投資者能夠獲取的財務(wù)信息大多來自企業(yè)的公告,但是由于利益問題,上市公司的實際財務(wù)情況往往與預(yù)測值相差巨大,這非常有損于投資者的利益[1-2].因此與財務(wù)數(shù)據(jù)特征相關(guān)的預(yù)測就成為當(dāng)前研究的熱點,其中預(yù)測的核心指標(biāo)就是圍繞著企業(yè)核心利潤展開的[3].當(dāng)前一部分財務(wù)狀況較差的企業(yè),并不是很愿意披露自身的盈利狀況及預(yù)測情況,并且這類企業(yè)的財務(wù)披露問題也與其所在行業(yè)存在一定關(guān)聯(lián)[4].在互聯(lián)網(wǎng)時代,大量學(xué)者已經(jīng)開始對企業(yè)相關(guān)的財務(wù)數(shù)據(jù)進行處理,并應(yīng)用科學(xué)的方法找到數(shù)據(jù)間存在的關(guān)聯(lián),同時采用模型選擇最優(yōu)算法[5].隨著計算機算法的不斷發(fā)展,越來越多的高級算法開始應(yīng)用于各大行業(yè),尤其是一些非常適合某種行業(yè)的機器學(xué)習(xí)算法[6].本研究將混合最優(yōu)選擇算法(Hybrid optimization,H-op)應(yīng)用到研究樣本數(shù)據(jù)中,以便對企業(yè)財務(wù)數(shù)據(jù)進行有效的預(yù)測,旨在找出當(dāng)前行業(yè)研究適用的最優(yōu)算法,為用戶或企業(yè)提供財務(wù)盈利預(yù)測結(jié)果.
本次系統(tǒng)設(shè)計的目的主要是為了提升用戶對企業(yè)財務(wù)特征預(yù)測的判斷能力,預(yù)測系統(tǒng)主要包括企業(yè)活力、風(fēng)險評估、固定資產(chǎn)以及利潤四大模塊,財務(wù)數(shù)據(jù)特征預(yù)測系統(tǒng)的功能模塊如圖1 所示.
圖1 財務(wù)數(shù)據(jù)特征預(yù)測系統(tǒng)的功能模塊
預(yù)測系統(tǒng)中的四大模塊在不同程度上反映出了企業(yè)的財務(wù)狀況,不僅有與財務(wù)狀況密切相關(guān)的模塊,也有與活力、風(fēng)險等潛在因素相關(guān)的模塊.這些模塊的應(yīng)用,能夠為用戶提供企業(yè)當(dāng)前的財務(wù)狀況及未來可能發(fā)生的情況[7].采用圖例及文字表情將預(yù)測信息傳遞給用戶,同時系統(tǒng)會自動進行預(yù)測結(jié)果的存檔,以便于以后的搜索[8].本研究主要針對數(shù)據(jù)處理與算法最優(yōu)選擇方面的問題,采用對不同學(xué)習(xí)算法進行對比的方式,優(yōu)選出適用于不同行業(yè)的學(xué)習(xí)算法,以對不同行業(yè)自動進行算法篩選,從而提升運算效率.
本文主要研究的算法為混合最優(yōu)選擇算法,同時對7 種機器學(xué)習(xí)算法進行對比研究.該算法主要對行業(yè)特征進行構(gòu)建后,對不同的行業(yè)運用了不同的機器學(xué)習(xí)算法與歸一化處理方法,Hop 主要是對不同行業(yè)的樣本數(shù)據(jù)進行了訓(xùn)練,并依據(jù)行業(yè)預(yù)測評價標(biāo)準(zhǔn)進行預(yù)測對比,選取出最優(yōu)模型應(yīng)用到行業(yè)預(yù)測工作中[9].本研究的樣本數(shù)據(jù)是由網(wǎng)易財經(jīng)所提供,均為我國上市公司歷年來的季度財務(wù)報表,運用爬蟲方式將數(shù)據(jù)保存至表格中備用,包括了現(xiàn)金流量表、利潤表、資產(chǎn)負(fù)債表.整理相關(guān)樣本數(shù)據(jù),由于不同表格的數(shù)據(jù)存在著相對獨立性,對機器學(xué)習(xí)的訓(xùn)練造成一定影響,所以本研究將現(xiàn)金流量表、利潤表、資產(chǎn)負(fù)債表進行了合并,并采用上市公司股票代碼作為標(biāo)識,再轉(zhuǎn)置得出表格,這樣便能得到合并后的表.該表縱軸表示按照時間序列分布的數(shù)據(jù)值,橫軸表示數(shù)據(jù)特征,如圖2 所示.
圖2 數(shù)據(jù)資料整合
由圖2 可以看出,合并后的數(shù)據(jù)特征綜合了現(xiàn)金流量表、利潤表、資產(chǎn)負(fù)債表的數(shù)據(jù)特征,包含了243 個數(shù)據(jù)特征,上市公司數(shù)量超過了三千家,并且均包括了十年以上的季度報表數(shù)據(jù).通過對數(shù)據(jù)特征進行觀察后,可以看到隨著各年度季度的增加,數(shù)據(jù)值也隨之增加,為了使本研究不會受到數(shù)據(jù)值逐年增加的影響,對數(shù)據(jù)進行一次遞減,并按照季度劃分的方式將表格數(shù)據(jù)進行相對獨立的整理.
由于不同行業(yè)之間存在著不同的影響因素,財務(wù)數(shù)據(jù)特征的預(yù)測是否合理,還是要對具體的行業(yè)進行區(qū)分,這樣也能夠有效提升模型的訓(xùn)練效率.這就需要對數(shù)據(jù)集提前進行行業(yè)劃分,對獨立的行業(yè)樣本數(shù)據(jù)進行獨立表格整理[10].本研究根據(jù)當(dāng)前上市企業(yè)行業(yè)劃分標(biāo)準(zhǔn),對我國三千多家上市企業(yè)進行了行業(yè)劃分,劃分出61 種行業(yè),并單獨對各個行業(yè)進行獨立表格整理,行業(yè)分類如表1 所示.
表1 行業(yè)分類(部分)
由于本研究的樣本數(shù)據(jù)較為特殊,報表合并后存在大量的數(shù)據(jù)特征,因此要提前篩選出適用的數(shù)據(jù)特征,并統(tǒng)計數(shù)據(jù)特征的個數(shù).由于部分?jǐn)?shù)據(jù)特征存在缺失情況,故將該類部分?jǐn)?shù)據(jù)進行剔除,以避免對預(yù)測結(jié)果的干擾[11].保留85%以上的數(shù)據(jù)特征,并選取剩余部分?jǐn)?shù)據(jù)的特征.還要對某些行業(yè)的數(shù)據(jù)存在的特殊情況進行分析,有時某一個數(shù)據(jù)的特征,在絕大多數(shù)行業(yè)中數(shù)值極低,然而在個別行業(yè)中數(shù)值卻極高,甚至高于90%.本研究列舉了個別特征進行觀察,如數(shù)據(jù)“手續(xù)費及傭金收入”的特征,在大部分行業(yè)中均低于10%;然而在券商信托與銀行行業(yè)中,數(shù)值卻非常高,銀行行業(yè)竟達到了99%.如圖3 所示.
圖3 比較不同行業(yè)的“負(fù)債合計”“手續(xù)費及傭金收入”特征數(shù)值
由圖3 可看出,全部行業(yè)中“負(fù)債合計”均保持在100%左右,然而“手續(xù)費及傭金收入”,卻只有銀行行業(yè)與券商信托行業(yè)最特殊.同樣也有許多相似的情況,例如“保險合同準(zhǔn)備金”與“所得稅費用”的數(shù)值統(tǒng)計情況,如圖4 所示.由圖4 可知,全部行業(yè)中“負(fù)債合計”均保持在95%左右,但“保險合同準(zhǔn)備金”在大部分行業(yè)中保持在0上下,只有保險行業(yè)數(shù)值最為特殊,在75%上下.此外,有許多數(shù)據(jù)特征具有顯著的行業(yè)差異性.
圖4 比較不同行業(yè)的“所得稅費用”“保險合同準(zhǔn)備金”特征數(shù)值
為了確保預(yù)測結(jié)果的準(zhǔn)確性,本研究應(yīng)用了python 軟件對數(shù)據(jù)特征與利潤進行了相關(guān)性分析.畫出每個行業(yè)的獨有的特征圖,并進行對比觀察,篩選出二者中呈現(xiàn)正相關(guān)的數(shù)據(jù)特征,進行數(shù)據(jù)記錄.通常會因為數(shù)據(jù)量過于巨大,導(dǎo)致分析時間與成本較高,并且難度也非常高.本研究對相同行業(yè)中的公司進行隨機抽樣,共進行3輪,每輪抽取2 個公司,總計對6 個不同的公司進行數(shù)據(jù)特征的相關(guān)性分析.將數(shù)據(jù)相關(guān)性較高的特征選作行業(yè)預(yù)測特征,剔除相關(guān)性較差的數(shù)據(jù),并將分析結(jié)果進行整合.例如“保險合同準(zhǔn)備金”特征在保險行業(yè)中的呈現(xiàn)出較高的正相關(guān)性,所以該特征相對于保險行業(yè)為有效特征,而該特征在安防設(shè)備行業(yè)卻顯示非常雜亂,因此在安防設(shè)備行業(yè)中應(yīng)剔除“保險合同準(zhǔn)備金”特征.因此,相同的數(shù)據(jù)特征會在不同行業(yè)中具有不同的相關(guān)性.
從分析整理完成的數(shù)據(jù),可以看到數(shù)據(jù)特征不同也會引起數(shù)據(jù)量級的不同,造成在預(yù)測時結(jié)果會偏向于數(shù)據(jù)差值較大的特征,因此要對樣本數(shù)據(jù)運用歸一化處理方法,以使不同數(shù)據(jù)特征間具有可比性[12].例如某些大型企業(yè)經(jīng)營狀態(tài)良好,盈利遠高于中小型企業(yè),因此其本身盈利值數(shù)據(jù)特征相對大很多.為了能夠消除這種差距給預(yù)測結(jié)果帶來的影響,本次研究將對樣本數(shù)據(jù)進行歸一化處理,以便數(shù)據(jù)之間具有可比性,提升了后期訓(xùn)練優(yōu)化的準(zhǔn)確度,最終可得到相對準(zhǔn)確的預(yù)測值.歸一化主要包括了極差、標(biāo)準(zhǔn)、正則三種方法,分別如下式所示:
式(1)-(3)中,max為最大值,min為最小值,xi為當(dāng)前數(shù)據(jù),std為標(biāo)準(zhǔn)差,mean為平均值,l1,l2均表示正則化.歸一化處理是將數(shù)據(jù)轉(zhuǎn)化成[0,1 ]之間的數(shù)值,且不同歸一化處理方法得出的結(jié)果不同,所以歸一化處理也會影響到算法的優(yōu)化,選取合適的歸一化處理方法能夠很好提升算法效率.
機器學(xué)習(xí)算法通常有較多參數(shù),本研究對各種學(xué)習(xí)算法設(shè)定了固定參數(shù),例如在LSTM 中設(shè)定迭代次數(shù)為80,學(xué)習(xí)率為0.0001,神經(jīng)元個數(shù)為100.決策樹參數(shù)選取為默認(rèn),隨機森林決策樹個數(shù)選取為80~100,支持向量機迭代次數(shù)為1000~10000,并且LSTM主要由pytorch框架來進行優(yōu)化.
通常對算法的評判標(biāo)準(zhǔn)為算法的準(zhǔn)確度,本研究的重點為回歸問題中的數(shù)值誤差.對于系統(tǒng)中財務(wù)樣本數(shù)據(jù)的評判,要對行業(yè)規(guī)范具有一定的了解.盈利預(yù)測可靠性的計量指標(biāo)為平均預(yù)測誤差率與預(yù)測誤差率.由于本研究主要是對企業(yè)財務(wù)特征進行預(yù)測,因此只對誤差進行判別,不考慮具體誤差的樂觀度.在進行預(yù)測過程中,為了確保預(yù)測結(jié)果不為負(fù),需要對公式進行調(diào)整,對公式取絕對值,預(yù)測誤差率的計算如下式:
式(4)中,F(xiàn)P表示預(yù)測值,AP表示實際值.而平均預(yù)測誤差率如式
所示.
將我國上市公司財務(wù)特征預(yù)測可靠性標(biāo)準(zhǔn)設(shè)定為三類:一是FE≤10%,可靠性較高;二是10%<FE≤20%,可靠性一般;三是FE>20%,可靠性很差.上述標(biāo)準(zhǔn)為評判標(biāo)準(zhǔn),為確保算法的有窮性,若預(yù)測結(jié)果收斂于迭代范圍內(nèi),則將結(jié)果輸出;若預(yù)測結(jié)果不能在迭代范圍內(nèi)收斂,則對比最大迭代次數(shù).選取上文中所述適合的歸一化處理方法能夠較好地提升運算準(zhǔn)確度.因此,本研究將按照以上評判標(biāo)準(zhǔn),以銀行行業(yè)、軟件服務(wù)業(yè)為例,對比三種歸一化處理方式的結(jié)果,能夠較好地看出不同歸一化方式對結(jié)果準(zhǔn)確率的影響.
本研究首先以銀行金融業(yè)為例,應(yīng)用歸一化方法對測試數(shù)據(jù)進行了處理,并將實際結(jié)果與機器學(xué)習(xí)預(yù)測結(jié)果進行對比,如圖5 所示.
由圖5 可以發(fā)現(xiàn)各種算法對銀行業(yè)存在不同程度的影響,為了方便觀察對比結(jié)果,這里將以準(zhǔn)確率的形式進行各種算法的對比,結(jié)果如圖6 所示.
圖6 銀行行業(yè)結(jié)果準(zhǔn)確率對比
由圖6 可以看出,H-op 在學(xué)習(xí)與歸一化方法組合后,選取了銀行行業(yè)中準(zhǔn)確率最高的灰色預(yù)測算法.為了能夠更為全面的展示結(jié)果,本研究還針對軟件服務(wù)業(yè),對該行業(yè)的相關(guān)數(shù)據(jù)進行了不同機器學(xué)習(xí)方法的預(yù)測,并與實際結(jié)果進行對比,結(jié)果如圖7 所示.
由圖7 可知,在各種算法中預(yù)測值與真實值幾乎完全重合,并且不同學(xué)習(xí)方法對軟件服務(wù)業(yè)也具有不同預(yù)測效果.本研究以準(zhǔn)確率為標(biāo)準(zhǔn),比較各種學(xué)習(xí)算法之間的準(zhǔn)確率,結(jié)果如圖8 所示.
圖7 軟件服務(wù)業(yè)誤差圖
圖8 軟件服務(wù)業(yè)結(jié)果準(zhǔn)確率對比
由以上分析對比可以得出,銀行行業(yè)中采用灰色預(yù)測算法更為合適,而軟件服務(wù)業(yè)則除了灰色預(yù)測算法外,其他算法均表現(xiàn)較好,因此,應(yīng)該針對各自行業(yè)的適用學(xué)習(xí)算法進行進一步優(yōu)化,以提升相關(guān)行業(yè)的預(yù)測準(zhǔn)確率.
根據(jù)相同的對比方法,本研究整理60 多類行業(yè)的算法選擇表,作為系統(tǒng)算法選擇的依據(jù).如表2所示.
表2 系統(tǒng)算法選擇表(部分)
在設(shè)計的系統(tǒng)中導(dǎo)入表2內(nèi)容,由表格內(nèi)容來決定行業(yè)預(yù)測算法的選擇.在進行系統(tǒng)預(yù)測時,首先要輸入行業(yè)代碼,系統(tǒng)會根據(jù)行業(yè)代碼進行行業(yè)判定,從而選擇合適的學(xué)習(xí)算法進行預(yù)測,并將預(yù)測結(jié)果進行記錄,把預(yù)測結(jié)果顯示在初始財務(wù)整合表內(nèi),以備今后數(shù)據(jù)的查詢.這樣節(jié)省了學(xué)習(xí)算法的學(xué)習(xí)耗時,增強系統(tǒng)的運算效率.其次,要對本研究所提出的H-op 組合算法進行測試,測試內(nèi)容包括了算法的搜索時間和搜索結(jié)果的驗證.在系統(tǒng)中輸入行業(yè)代碼時,系統(tǒng)會直接進行行業(yè)判定,并依據(jù)行業(yè)的不同選擇計算效率最高的算法進行預(yù)測,并將預(yù)測結(jié)果返回,預(yù)測結(jié)果如表3所示.
表3 算法預(yù)測結(jié)果
由表3 可知,在系統(tǒng)中輸入不同行業(yè)代碼時,系統(tǒng)響應(yīng)速度快,且輸出結(jié)果均正確,反映出算法性能優(yōu)越,同時具有非常高的穩(wěn)定性.所以文中提出的算法測試結(jié)果優(yōu)良,整體測試效果符合設(shè)計預(yù)期.
本研究針對企業(yè)財務(wù)數(shù)據(jù)的預(yù)測問題,對基于H-op 組合算法的財務(wù)數(shù)據(jù)特征預(yù)測系統(tǒng)進行了設(shè)計研究.結(jié)果顯示,在銀行行業(yè)中采用灰色預(yù)測算法更為合適,而軟件服務(wù)業(yè)則在各種算法中預(yù)測值與真實值幾乎完全重合,并且不同學(xué)習(xí)方法對軟件服務(wù)業(yè)也具有不同預(yù)測效果,除了灰色預(yù)測算法外,其他算法均表現(xiàn)較好;設(shè)計算法節(jié)省了學(xué)習(xí)算法的學(xué)習(xí)耗時,增強系統(tǒng)的運算效率;整理60 多類行業(yè)的算法選擇表,作為系統(tǒng)算法選擇的依據(jù);在系統(tǒng)中輸入不同行業(yè)代碼時,系統(tǒng)響應(yīng)速度快,且輸出結(jié)果均正確,反映出算法性能優(yōu)越和非常高的穩(wěn)定性.因此本文提出的算法測試結(jié)果優(yōu)良,整體測試效果符合設(shè)計預(yù)期.