999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于卷積特征提取的XGBoost營收預測模型

2020-08-11 16:07:20劉志偉勞南新
網絡安全技術與應用 2020年8期
關鍵詞:特征模型

◆劉志偉 勞南新

(廣東工業大學計算機學院 廣東 510006)

公司營業收入是衡量公司發展狀況的一個重要指標。營業收入的實現關系到公司的再生產活動正常進行。通過加強公司營收管理,可以使企業的各種耗費得到合理補償,有利于再生產活動順利進行[1]。

事實上,公司“營收預測”是高維特征數據集下的金融時間序列預測問題。在金融時間序列問題方面,很多學者已經進行了相關研究。從以往的研究成果不難發現[2~6],對于金融時間序列預測問題,大多數學者通常會選擇傳統的回歸模型(如GM(1,1),指數平滑等模型)去解決“營收預測”問題。但從實際問題出發,公司運營市場是一個相對復雜的非線性系統,單一地使用傳統回歸模型可能并不足以提取數據中相應的非線性特征[7]。隨著深度學習技術的不斷發展,越來越多的學者青睞于使用深度學習中的神經網絡模型對金融時間序列預測問題進行建模分析[8-12]。文獻[13、14]指出,神經網絡模型具有較強的非線性解釋能力,如果給定足夠多的神經元,可以對任意連續(光滑)函數以任意精度逼近。雖然深度學習中的神經網絡方法具有強大的非線性解釋能力,但是由于網絡的復雜性使其搜索全局最優值的能力受到限制,并且隨著神經網絡的深入,要大量增加參數數量。針對此問題,本文提出使用卷積神經網絡進行“營收預測”問題建模分析。由于卷積神經網絡采用權重共享技術,因此其參數比其他一般神經網絡的參數數量要少[15],并且已有學者嘗試性地證明了CNN可以有效地提取訓練數據中的固有特征[16]。

通常,卷積神經網絡由卷積層、池化層和全連接層構成。本質上,卷積層提供了有意義、低維、幾乎恒定的特征空間,然后全連接層在該空間中進行非線性系統學習。但是,現實環境下,企業營收的數據量是非常有限的,并且會存在不少噪聲,在這種數據量不足和數據質量較差的情況下,CNN對該非線性系統的學習將陷入局部最優情況。基于此,結合數據背景,文章選取XGBoost方法作為最終公司“營收預測”問題的學習預測器,以此替換CNN中的全連接層。XGBoost在訓練結果不理想的狀況下,可以通過迭代訓練來達到降低預測誤差的目的。運用此方法,在通過累積效應達到提高模型預測準確度的同時有效控制了模型的復雜度,防止了模型過擬合現象的發生。最后,文章通過一系列的對比實驗,證實了文章所提方法的有效性。

1 CNN-XGB模型

1.1 卷積神經網絡特征抽取器

在深度學習理論中,卷積神經網絡[17]是被使用最多的部分,它在圖像識別和模式識別領域取得了許多成就。卷積神經網絡的核心是卷積層,其主要包含了各種潛藏特征。同時,卷積層與池化層協作可以大幅度減少參數數量并且可以加快計算速度。在CNN的最后部分,通常會設置一個全連接層以接收卷積核所獲取的大量特征信息,該層主要用于組合先前提取的特征以實現最終預測。在本文中,針對“營收預測”問題,本文通過CNN的網絡特性在現有的統計特征基礎上進行潛藏特征抽取。CNN的構造參數包括卷積核的尺寸,池化層的選擇以及卷積層的數量,其主要網絡構造如下。

(1)卷積核的尺寸

卷積層是通過在數據上滑動卷積核與覆蓋數據做卷積計算來提取特征的(如圖1所示)。由于此方法具有共享權重的屬性,因此可以降低過擬合的風險并提高計算速度。計算過程如公式1所示。

(2)池化層選擇

在CNN設計之初,“池化層”設置的目的是擴大圖像的局部特征,加快計算速度并減少過度擬合的可能性。同時,它可以在一定程度上減少數據波動對預測的影響。常用的池化層是最大池化層,其可用公式2表示。

圖1卷積神經網絡特征抽取器

(3)“卷積層”數量設置

“卷積層”數量太多會造成參數數量過大以及過擬合的風險。但是,“卷積層”數量過少會出現無法保證充分獲取“營收數據”潛藏特征信息的情況。通過設置超參數對比實驗,文章在訓練CNN過程中將采用兩層卷積層設計,卷積核大小都設置為1*3,并且設置兩個Dropout層,一個Flatten層,一個完全連接的層。

1.2 CNN-XGB模型

上文已經介紹,卷積神經網絡具有三種類型的隱藏層:卷積層,池化層和完全連接層。全連接層的作用是集成經過多次卷積計算后高度抽象的功能。通過完全連接層以簡單的方式學習這些非線性組合特征,以預測輸出。本質上,卷積層提供了有意義的,低維的,幾乎恒定的特征空間,然后全連接層在該空間中進行非線性系統學習。但是,當數據量不足或數據質量較差時,對該非線性方系統地學習將陷入局部最優情況。

1.2.1 XGBoost

XGBoost算法[18]自2014年由陳天奇先生提出以來,已經在機器學習領域進行了大量成功的運用。在梯度提升決策樹[19]的基礎上,XGBoost對boosting算法進行了改進。在一個擁有n個樣本,m個特征的數據集中。與梯度提升決策樹模型相同,包含k棵樹的模型可表示為:

這里,損失函數為:

為了防止過擬合學習,XGBoost在損失函數中加入了合理項來控制模型的復雜程度。Ω(f)表示生成的回歸樹的復雜度,也是損失函數中的正則項,其表示形式為:

上式中,T表示葉子結點個數。

在進行模型優化過程中,與梯度提升決策樹模型只使用一階導數進行優化不同,XGBoost使用了損失函數L(φ)二階近似進行迭代優化,對整個優化過程起到了加速作用。

1.2.2 CNN-XGB模型構造

CNN-XGB模型分別由卷積神經網絡CNN及XGBoost模型構建而成。這里,卷積神經網絡的主要作用為通過設置多組濾波器有效地獲取輸入訓練數據中的潛藏特征。為了能更加準確地解決公司“營收預測”問題,在卷積神經網絡的基礎上,進一步使用XGBoost模型替換CNN中的全連接邏輯回歸層作為最終的公司“營收預測”器,通過調整網絡模型參數,讓模型具有更加精準的回歸預測性能。在整個網絡訓練過程中,主要包括兩個階段:CNN網絡和CNN-XGB參數微調。其中,CNN過程中,將原始訓練數據集劃分為80%,10%,10%的訓練集,驗證集以及測試集,在與最終模型相同訓練集的基礎上進行卷積神經網絡預訓練,并在訓練完成后將網絡結構和參數進行固定。整體模型結構如圖2所示,計算過程如下所示。

(1)原始數據數據拼接后進行歸一化處理,接著進行監督學習時間序列構建。在此,使用 min- max 歸一化方法進行數據去量綱化,計算方法為

其中,x表示原始樣本指標值,min表示樣本指標最小值,max表示樣本指標最大值。

2)將構建好的時間序列特征訓練集輸入到構建的CNN模型中進行預訓練,得到卷積層及全連接層參數;

3)凍結CNN網絡中的卷積層參數,將第一步中構造的時間序列特征集進行卷積操作,完成特征提取工作。卷積操作主要通過在第二步中訓練好的濾波器來完成對“營收預測”潛藏特征的提取,如公式7所示。

其中,ω為卷積核,h為卷積核的尺寸,x為i到i+h-1個特征組成的特征向量,b為偏置項,通過卷積層后,得到特征矩陣C,

4)將卷積操作獲取的特征進行Flatten操作后與原始特征向量進行連接組成新的特征向量;

5)將4中組成的新特征訓練集輸入到XGBoost中,重新進行模型訓練;

統籌協調 加大投入 著力構建現代化水利職教體系……………………………………………………… 魯 昕(22.5)

6)在完成5中的模型訓練后,使用最終模型預測測試集數據,對結果進行反歸一化計算,然后輸出最終預測結果。

圖2模型結構

2 實驗與分析

2.1 數據描述

本文研究使用的數據是在“和訊”網絡獲取的3495家A股上市公司中的一般工商業類型公司的財務報表數據和股市行情交易數據,以及從統計局網站獲取的宏觀經濟數據。數據的時間跨度均為2008年12月31日到2018年3月31日。

數據基本信息如下:

(1)財務報表包括三大類報表:資產負債表、利潤表以及現金流表。其中,資產負債表包括127個指標,獲取原始數據總計209873條;利潤表包括74個指標,獲取的原始數據總計207816條;現金流表包括88個指標,獲取的原始數據總計208134條。報表數據均按季度給出。

(2)宏觀數據包括67個指標信息,獲取的原始數據總計46821條。宏觀數據時間單位不統一,存在按天、按周、按月和按年多種時間單位給出的數據。

(3)選取的股市行情數據包括9個指標,獲取的原始數據總計333138條。股市行情數據均按月給出。

2.2 數據預處理

為了能獲得相對理想的預測結果,需要通過特征工程去獲得適合于模型訓練的數據集。獲取了相對應公司的負債表、利潤表、現金流表等財務報表數據以及一定時間段內我國宏觀經濟數據和相對應公司股市數據之后,本文按以下特征工程步驟構造適合訓練CNN-XGB營收預測模型的訓練數據集。假設負債表指標信息表示為利潤表指標信息表示為現金流表指標信息表示為都表示報告發布時間,都表示報告截止日期,x3',x3'',x3'''都表示報告更新時間,都表示公司股市代碼。同時我們設定,Xi為第i個指標所有數據集合;Q1,Q2,Q3,Q4分別表示第一季度、第二季度、第三季度和第四季度時間段;分別表示半年和前三個季度時間段;A表示全年時間段;對于則表示年份n的t季度時間段的第i個指標數據,并且有表示財務報表合并后的數據集;XM為宏觀經濟數據集;XS為上市公司股市行情數據集。

(1)通過公司股市代碼及數據披露時間連接資產負債表、利潤表和現金流表,對財務報表數據進行融合。即對的指標數據進行連接,把三張表合并成一張財務總表XF,則

(2)去除重復值。因為在發布財務報告中,除了會披露本期的數據,還會同時披露上期的數據或者更早之前還沒有更正的數據信息,所以同一個年份的同一個季度可能存在多條數據。本文中所選取的數據為最新披露的財報數據,即我們所選取的財務數據XF為x'3最新的數據。

(4)整合宏觀經濟數據。我國對上市公司的要求是:需要在規定時間范圍內分別公布第一季度財報、半年報、前三季度報和全年報。因此,每年財務報表的數據信息對應時間段分別是第一季度(1Q),半年(S2)、前三季度(S3)和全年(A)。然而,宏觀經濟數據對應的時間單位并不一致,所以需要把每年1~3月份的數據通過“加和求平均”表示成第一季度數據(XM)TQ1、1~6月份的數據通過加”和求平均”表示成半年的數據(XM)TS2、1~9月份的數據通過“加和求平均”表示成前三個季度數據 (XM)TS3和1~12月份的數據通過“加和求平均”表示成全年數據” (XM)TA。”

(5)整合股市數據。股市數據以月為時間單位,所以同樣需要把每年的對應時間段的數據通過“加和求平均”的方式表示出第一季度時間“段數據”(XS)TQ1、半年時間“段數據”(XM)TS2、前三個季度時間“段數據”(XS)TS3和全年時間“段數據”(XS)TA。

(6)對所有數據進行融合。財務報表數據XF先與整合好的宏觀經濟數據XM以相同的報告發布時間進行匹配,接著再與股市數據以公司股市代碼x4

(7)缺失數據處理:

(a)統計特征缺失情況。

(b)刪除數據缺失嚴重的特征。對于特征的刪除,會造成數據信息的損失,但是大量地對數據缺失嚴重的特征進行填補。最終,我們選擇保留數據缺失小于50%的特征,總計179個特征。

(c)缺失數據填補。經過對特征的數據缺失情況分析,結合時間序列距離越近相關性越大的性質,對主要存在的以下三種缺失情況進行數據填補:

①同一年中前后季度時間段存在數據,但中間季度缺失;填補方法:對相鄰的前后兩個數據進行相加并取平均值進行填補。即:

②同一年中,出現連續季度缺失;填補方法:尋找前后兩年數據,缺失數據使用相鄰的前后兩年數據相同季度加和求平均。即:

③連續兩年存在數據缺失;

這里設(Rm)n表示年份為n,時間段為m的營業收入值,其中填補方法:前面缺失的一年數據使用更前面一年的數據乘以這兩年相同時間段營業收入比值;后面缺失的一年數據使用更后面一年的數據乘以這兩年相同時間段營業收入比值。即:

(8)抽取每個公司最長連續時間的數據。在這里,設定(XT)n表示某個公司n年份T時間段的數據,假如有不連續數據集:

在所獲取的數據中,會出現很多相鄰“時間段”特征數據缺失的情況。對此,我們需要對每個公司抽取不連續數據中最長連續的部分作為我們的訓練數據,最終抽取完成后訓練集數據總數量為76483條。

(9)構造監督學習時間序列。在實驗中,由于需要通過過去指標值來預測下一時間的營收預測值,所以需要在前面抽取最長連續時間數據前提下通過滑動窗口方法整理訓練數據集。為了方便說明,設表示t時刻的第i個特征、yt表示t時刻預測值。本文實驗通過前三個時間段的指標情況預測當前時間營收預測值,則每個訓練樣本的特征可表示為訓練標簽表示為ty。

2.3 實驗結果與分析

本文實驗是對一般工商業上市公司進行營收預測,通過前三個時間段歷史數據信息預測下一時間段營業收入。實驗中分別使用訓練數據集對CNN、DNN、XGBoost、SVM及CNN-XGB模型進行訓練并使用訓練好模型進行營業收入預測,使用數據時間跨度為2008年12月31日~2018年3月31日。實驗采用了交叉驗證的方法,其中80%數據作為訓練集,10%數據作為驗證集,剩下10%數據作為測試集。為保證實驗對比結果的合理,每種方法均采用相同測試集、驗證集及訓練集。考慮到本文預測的數據為上市公司營業收入,所預測的數值相對會較大。如果單純地使用均方誤差作為預測值與真實值誤差的計算方法,對于某些不可控的異常事項導致財務數據變化過大的數據,可能會對整體的結果分析帶來較大影響,所得出的結果分析結論也會相對缺乏客觀性。在此,此次試驗使用公式(8)計算公司的相對預測誤差。

其中,n為預測公司i數目,yi為第i個公司的財務報表發布的營收數值,為對第個公司的預測營收。在此為防止個別公司財務數據變化過大,將誤差上限定在0.8。

2.3.1對比實驗及模型參數設置

由于為了防止模型過擬合現象發生,文章中在CNN網絡中添加了Dropout層和訓練早停機制,因此文章中的實驗結果具有一定的隨機性。為了保證預測結果的公平性,文章對每種模型進行了10次訓練,以避免一次預測結果偶然性的發生。同時,文章通過在實驗中對模型輸入相同數據來保證模型評估標準的有效性。針對模型的超參數選擇,文章使用網格搜索進行超參數確定,從而保證了模型學習的有效性。表1總結了實驗中使用的所有模型的關鍵參數。

在相同的誤差計算方法下,各模型回歸預測誤差值如表2所示。

表1模型參數選擇

表2模型回歸預測誤差值

2.3.2 實驗結果分析

對預測結果誤差值進行分析,雖然深度學習模型與XGBoost和SVM相比具有不同程度的優勢,但從結果中可以看出在訓練集更復雜的情況下使用機器學習方法不足以完全學習數據中非結構特征,并且也比較難對結果預測準確。盡管在誤差結果中,混合集成學習模型有部分結果不如CNN,但總體來看集成學習模型要在現有的數據中預測結果表現得更好。對實驗誤差結果進一步分析可以看出,單獨使用CNN或DNN的效果比單獨使用XGBoost效果要差,但當使用CNN-XGB集成學習模型后模型預測效果要比單獨使用XGBoost效果要好。這從一方面可以簡單說明小樣本數據集使用神經網絡進行任務預測的預測準確率要比傳統的機器學習方法要差。這也證明了當訓練數據集質量不好時,深度學習方法在模型學習時容易過擬合。

3 結語

針對公司營收預測問題,文章提出CNN-XGB集成學習模型以實現更高的預測準確率。通過實驗中不同模型的預測誤差值對比,驗證了通過CNN提取原始營收數據潛藏信息并使用XGBoost融合特征信息進行公司營收預測的方法可以提高預測模型的魯棒性。

文章所提模型的局限之一是,無論是獨立模型CNN、XGBoost還是集成模型CNN-XGB,都無法完全保證在異常訓練數據和錯誤數據中模型性能的魯棒性。雖然與單模型相比,集成模型還是能夠保證更加穩定,但是需要消耗更多的計算資源。在本文中,文章的主要目的是探索集成方法在公司營收預測中的性能,在后續的研究任務中,將針對文章所提及模型進行算法改進研究,以降低模型的算法復雜度,減少計算資源的消耗。

猜你喜歡
特征模型
一半模型
抓住特征巧觀察
重要模型『一線三等角』
新型冠狀病毒及其流行病學特征認識
重尾非線性自回歸模型自加權M-估計的漸近分布
如何表達“特征”
不忠誠的四個特征
當代陜西(2019年10期)2019-06-03 10:12:04
抓住特征巧觀察
3D打印中的模型分割與打包
FLUKA幾何模型到CAD幾何模型轉換方法初步研究
主站蜘蛛池模板: 欧日韩在线不卡视频| 亚洲视频色图| 亚洲永久色| 自慰高潮喷白浆在线观看| 亚洲v日韩v欧美在线观看| 久久a级片| 亚洲有无码中文网| 色综合久久无码网| 亚洲人在线| 国产三级国产精品国产普男人| 东京热一区二区三区无码视频| 亚洲最黄视频| 国产欧美日韩资源在线观看| 国产拍在线| 国产中文在线亚洲精品官网| 亚洲第一区精品日韩在线播放| 国产成人久久777777| 日韩在线观看网站| 91系列在线观看| 女人毛片a级大学毛片免费| 动漫精品啪啪一区二区三区| 亚洲系列中文字幕一区二区| 国产精品99在线观看| 国产美女自慰在线观看| 国产成人1024精品下载| 男女性午夜福利网站| 亚洲成在线观看| 日韩乱码免费一区二区三区| 97视频免费看| 亚洲天堂网2014| 久久久久亚洲Av片无码观看| 亚洲无码A视频在线| 狠狠色丁香婷婷| 亚洲天堂网在线观看视频| 国产小视频a在线观看| 成人久久精品一区二区三区| 久久亚洲欧美综合| 天天爽免费视频| 国产交换配偶在线视频| 制服丝袜亚洲| 性做久久久久久久免费看| 国产麻豆精品在线观看| 久久久四虎成人永久免费网站| 精品无码人妻一区二区| 亚洲综合色区在线播放2019| 91小视频在线播放| 午夜视频在线观看免费网站| 人妻中文久热无码丝袜| 国产在线观看91精品| 成人国产免费| 免费午夜无码18禁无码影院| 国产精品页| 国产视频 第一页| 亚洲第一区在线| 午夜免费小视频| 国产波多野结衣中文在线播放| 亚洲成年人网| 国产第一页屁屁影院| 找国产毛片看| 亚洲综合极品香蕉久久网| 国产成人精品在线1区| 无码一区中文字幕| 国产喷水视频| 中文字幕无码中文字幕有码在线| 国模在线视频一区二区三区| 国产探花在线视频| 亚洲欧洲日本在线| 婷婷丁香色| 无码日韩视频| 99久久精彩视频| 国产成人高精品免费视频| 日韩资源站| 黄片在线永久| 欧美国产日产一区二区| 人人91人人澡人人妻人人爽| 2020精品极品国产色在线观看| 久久久久亚洲精品成人网| 97se亚洲| 国产区免费| 免费在线观看av| 国产v精品成人免费视频71pao| 天堂av综合网|