期刊VIP學(xué)術(shù)指導(dǎo) 符合學(xué)術(shù)規(guī)范和道德
保障品質(zhì) 保證專(zhuān)業(yè),沒(méi)有后顧之憂(yōu)
來(lái)源:期刊VIP網(wǎng)所屬分類(lèi):計(jì)算機(jī)網(wǎng)絡(luò)時(shí)間:瀏覽:次
摘 要:為了提升電信行業(yè)收入預(yù)測(cè)問(wèn)題準(zhǔn)確率,建立基于循環(huán)神經(jīng)網(wǎng)絡(luò)和長(zhǎng)短時(shí)記憶網(wǎng)絡(luò)相結(jié)合的收入預(yù)測(cè)模型。首先對(duì)數(shù)據(jù)作預(yù)處理,然后建立卷積層進(jìn)行核心預(yù)測(cè)算法優(yōu)化,再通過(guò)訓(xùn)練尋找最優(yōu)參數(shù),并將其應(yīng)用于電信運(yùn)營(yíng)商收入預(yù)測(cè)。實(shí)驗(yàn)結(jié)果表明,該模型可以預(yù)測(cè)出未來(lái)一個(gè)月或者幾個(gè)月的收入增減變化趨勢(shì),預(yù)測(cè)準(zhǔn)確率比傳統(tǒng)方法提高20%,算法收斂性也提高約15%。該模型預(yù)測(cè)結(jié)果對(duì)于電信行業(yè)制定營(yíng)銷(xiāo)方案具有較好指導(dǎo)作用。
關(guān)鍵詞:收入預(yù)測(cè);深度學(xué)習(xí);神經(jīng)網(wǎng)絡(luò);長(zhǎng)短時(shí)記憶網(wǎng)絡(luò)
0 引言
互聯(lián)網(wǎng)時(shí)代,隨著電信行業(yè)的興起,各企業(yè)開(kāi)始了搶占市場(chǎng)份額的戰(zhàn)爭(zhēng)。通過(guò)已有收入數(shù)據(jù)對(duì)未來(lái)收入進(jìn)行預(yù)測(cè),掌握收入變化趨勢(shì)和內(nèi)在規(guī)律,根據(jù)結(jié)果合理調(diào)整營(yíng)銷(xiāo)策略以得到更好發(fā)展成為各行各業(yè)的現(xiàn)實(shí)需要[1]。5G時(shí)代來(lái)臨,國(guó)內(nèi)電信市場(chǎng)發(fā)展態(tài)勢(shì)良好,國(guó)家進(jìn)一步加快信息化建設(shè),電信行業(yè)的業(yè)務(wù)種類(lèi)變多,用戶(hù)數(shù)量大幅增長(zhǎng),給電信行業(yè)收入預(yù)測(cè)增加了難度,使用傳統(tǒng)的時(shí)間序列收入預(yù)測(cè)方法誤差變大[2]。因此,如何提高電信業(yè)務(wù)收入預(yù)測(cè)準(zhǔn)確性具有一定研究?jī)r(jià)值。本文主要根據(jù)電信行業(yè)經(jīng)營(yíng)收入相關(guān)數(shù)據(jù),建立合適的收入預(yù)測(cè)模型。
1 收入預(yù)測(cè)研究現(xiàn)狀
解決收入預(yù)測(cè)問(wèn)題的基本流程為:輸入歷史收入序列—提取序列特征—預(yù)測(cè)未來(lái)收入序列。
收入預(yù)測(cè)方法根據(jù)數(shù)據(jù)來(lái)源分為:宏觀預(yù)測(cè)和微觀預(yù)測(cè)、定性預(yù)測(cè)和定量預(yù)測(cè)[3,4]。幾種常用方法有回歸分析法、統(tǒng)計(jì)學(xué)預(yù)測(cè)法、機(jī)器學(xué)習(xí)方法等,主要通過(guò)一些指標(biāo),如GDP發(fā)展水平、市場(chǎng)占比、歷史收入數(shù)據(jù)等對(duì)行業(yè)的發(fā)展趨勢(shì)、盈利增減趨勢(shì)作出預(yù)測(cè)[5-6]。
傳統(tǒng)預(yù)測(cè)方法利用統(tǒng)計(jì)學(xué)方法[7]解決時(shí)間序列預(yù)測(cè)問(wèn)題,對(duì)于具有線性關(guān)系的序列預(yù)測(cè)擬合程度較好,而對(duì)于實(shí)際情況中普遍存在的具有非線性關(guān)系的序列預(yù)測(cè)準(zhǔn)確度效果較差,尚有很大改進(jìn)空間[8]。時(shí)間序列方法的最大缺陷是適用于數(shù)據(jù)量較少且結(jié)構(gòu)簡(jiǎn)單、噪聲較少的情況,并且只能對(duì)一維數(shù)據(jù)進(jìn)行分析,當(dāng)研究數(shù)據(jù)有多個(gè)維度時(shí),需要對(duì)每個(gè)維度單獨(dú)分析,無(wú)法提取出數(shù)據(jù)不同維度之間的特征關(guān)系。如何選擇更有效的方法解決這類(lèi)問(wèn)題,引發(fā)了部分學(xué)者在該領(lǐng)域探索的興趣[9]。
20世紀(jì)初,隨著人工智能的快速發(fā)展,深度學(xué)習(xí)算法逐漸得以完善和發(fā)展,并廣泛應(yīng)用于圖像識(shí)別和分類(lèi)、機(jī)器翻譯、語(yǔ)音識(shí)別等領(lǐng)域。機(jī)器學(xué)習(xí)預(yù)測(cè)方法在農(nóng)作物產(chǎn)量預(yù)測(cè)[10]、稅收收入預(yù)測(cè)[11]以及環(huán)境污染[12]變化等時(shí)間序列問(wèn)題上取得了比傳統(tǒng)統(tǒng)計(jì)學(xué)方法更好的效果。比如,隨機(jī)森林、支持向量機(jī)、神經(jīng)網(wǎng)絡(luò)[13-15]等方法都可以擬合此類(lèi)非線性時(shí)間序列問(wèn)題。文獻(xiàn)[16]曾利用人工神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)金融領(lǐng)域的預(yù)測(cè)。通信行業(yè)的收入數(shù)據(jù)復(fù)雜多樣,不適合人工提取特征,因此在解決電信行業(yè)收入預(yù)測(cè)問(wèn)題中,運(yùn)用深度學(xué)習(xí)方法勢(shì)在必行。學(xué)者們發(fā)現(xiàn),深度學(xué)習(xí)算法在解決此類(lèi)序列數(shù)據(jù)問(wèn)題上十分有效,尤其是循環(huán)神經(jīng)網(wǎng)絡(luò),其預(yù)測(cè)準(zhǔn)確性得到顯著提升。
循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Networks,RNN)的主要優(yōu)勢(shì)是可以學(xué)習(xí)到數(shù)據(jù)長(zhǎng)期的依賴(lài)關(guān)系,并捕捉數(shù)據(jù)時(shí)間上的依賴(lài)關(guān)系。但是訓(xùn)練RNN網(wǎng)絡(luò)的困難之處在于RNN結(jié)構(gòu)隨時(shí)間變化具有向后依賴(lài)性,因此在學(xué)習(xí)階段,網(wǎng)絡(luò)會(huì)變得非常復(fù)雜,難以收斂。而長(zhǎng)短時(shí)記憶網(wǎng)絡(luò)(Long Short-Term Memory Network,LSTM)作為RNN的一種變形,更加適合于序列型數(shù)據(jù)預(yù)測(cè),并且解決了長(zhǎng)期依賴(lài)問(wèn)題。文獻(xiàn)[17]建立基于LSTM的日銷(xiāo)售額預(yù)測(cè)模型,驗(yàn)證了LSTM網(wǎng)絡(luò)在該類(lèi)問(wèn)題上的良好性能;文獻(xiàn)[18]指出LSTM對(duì)于序列變化具有時(shí)序性變化的序列,有利于提高預(yù)測(cè)精度;文獻(xiàn)[19]提出一種試圖模擬人腦皮層的機(jī)器學(xué)習(xí)技術(shù),對(duì)于周期性變化的數(shù)據(jù)效果較好。
由此可見(jiàn),相比于傳統(tǒng)統(tǒng)計(jì)學(xué)預(yù)測(cè)方法,基于RNN的深度學(xué)習(xí)網(wǎng)絡(luò)具有不需要人工提取序列特征的優(yōu)勢(shì),而且擅長(zhǎng)處理大量數(shù)據(jù)。因此,本文在循環(huán)神經(jīng)網(wǎng)絡(luò)RNN的結(jié)構(gòu)中加入長(zhǎng)短時(shí)記憶網(wǎng)絡(luò)LSTM,不僅可以利用RNN擅長(zhǎng)提取具有長(zhǎng)時(shí)間依賴(lài)關(guān)系數(shù)據(jù)的特性,而且LSTM的加入使得預(yù)測(cè)算法收斂性和準(zhǔn)確性得到顯著改善。因此,本文建立基于LSTM-RNN的收入預(yù)測(cè)模型。
2 基于LSTM-RNN的收入預(yù)測(cè)模型設(shè)計(jì)
長(zhǎng)短時(shí)記憶網(wǎng)絡(luò)LSTM由循環(huán)神經(jīng)網(wǎng)絡(luò)RNN發(fā)展而來(lái),屬于RNN的一種變體[20]。相比于傳統(tǒng)RNN、LSTM網(wǎng)絡(luò)結(jié)構(gòu)而言,它增加了3個(gè)“門(mén)”的設(shè)計(jì),使得它既擅長(zhǎng)于捕捉數(shù)據(jù)的長(zhǎng)期信息,又解決了RNN網(wǎng)絡(luò)結(jié)構(gòu)所導(dǎo)致的長(zhǎng)期依賴(lài)而帶來(lái)的梯度消失或者梯度爆炸問(wèn)題,被廣泛應(yīng)用于序列問(wèn)題處理[21]。本文主要針對(duì)某電信基礎(chǔ)運(yùn)營(yíng)商2019年以來(lái)至今的歷史每日收入數(shù)據(jù),在循環(huán)神經(jīng)網(wǎng)絡(luò)基礎(chǔ)上建立長(zhǎng)短時(shí)記憶層LSTM,更好地建立一個(gè)完整的基于LSTM-RNN的電信運(yùn)營(yíng)商收入預(yù)測(cè)模型,如圖1所示。
由圖1可以看出,整個(gè)收入預(yù)測(cè)模型設(shè)計(jì)分為5個(gè)模塊:數(shù)據(jù)定義模塊和預(yù)處理模塊,用以處理深度學(xué)習(xí)網(wǎng)絡(luò)輸入;LSTM-RNN收入預(yù)測(cè)模型訓(xùn)練模塊,使用分割好的大量數(shù)據(jù)對(duì)模型進(jìn)行訓(xùn)練,尋找到最佳參數(shù);測(cè)試模塊和結(jié)果評(píng)價(jià)模塊,使用訓(xùn)練好的模型,輸入測(cè)試集數(shù)據(jù),將結(jié)果與真實(shí)值對(duì)比,分析模型可行性。
2.1 基于LSTM-RNN的數(shù)據(jù)處理模塊
收入預(yù)測(cè)問(wèn)題可看作時(shí)間序列預(yù)測(cè)問(wèn)題加以解決,需依次對(duì)數(shù)據(jù)進(jìn)行如下操作:①先清洗數(shù)據(jù)也即數(shù)據(jù)異常處理;②對(duì)不平穩(wěn)數(shù)據(jù)進(jìn)行差分處理;③數(shù)據(jù)歸一化操作,消除數(shù)據(jù)量綱;④將收入數(shù)據(jù)集按照一定比例分割成訓(xùn)練集和測(cè)試集兩部分。
(1)數(shù)據(jù)異常處理及因子分析。首先對(duì)數(shù)據(jù)做時(shí)序圖,發(fā)現(xiàn)存在一些數(shù)值過(guò)大的數(shù)據(jù)導(dǎo)致整體數(shù)據(jù)的均值和方差顯著增大,不利于預(yù)測(cè),需要對(duì)這些數(shù)據(jù)加以處理。
在電信收入數(shù)據(jù)中,數(shù)據(jù)間的邏輯關(guān)系為:當(dāng)日收入=語(yǔ)音業(yè)務(wù)收入+數(shù)據(jù)業(yè)務(wù)收入+其它收入,其中,“其它語(yǔ)音收入”和“其中話(huà)音增值收入”,歸屬“語(yǔ)音業(yè)務(wù)收入”;“短信收入”和“流量收入”,歸屬“數(shù)據(jù)業(yè)務(wù)收入”。
考慮到其中存在一些偏差過(guò)大的數(shù)據(jù),本文采用相鄰平均法對(duì)這些異常數(shù)據(jù)取其前后兩天的數(shù)據(jù)均值代替。其中,[Xt]表示第t天的收入向量,[X=(x1,x2,…,x8)],使用各種收入數(shù)據(jù)表示這一天的收入特征。
根據(jù)特征之間存在相關(guān)性,將原來(lái)8個(gè)維度的特征進(jìn)行刪減,縮小數(shù)據(jù)規(guī)模,更有利于提高預(yù)測(cè)準(zhǔn)確性。最后剩下“當(dāng)日收入”“語(yǔ)音增值收入”“其它收入”“數(shù)據(jù)業(yè)務(wù)收入”4列數(shù)據(jù)。同時(shí),定義本文目標(biāo)為輸入[X=(X1,X2,X3,…,XT)],即前T天的收入序列,對(duì)于第t天的收入向量[Xt=(x1t,x2t,x3t,x4t)],其中,[x1t]表示第t天的當(dāng)日收入,以此類(lèi)推。同時(shí),模型可以對(duì)這4列數(shù)據(jù)同時(shí)進(jìn)行預(yù)測(cè),并規(guī)定研究對(duì)象為當(dāng)日總收入,也即預(yù)測(cè)模型的輸出為T(mén)+a天的當(dāng)日收入這一項(xiàng)。其中,a值表示參數(shù)變化。
(2)數(shù)據(jù)差分處理。針對(duì)收入數(shù)據(jù)存在明顯的周期性,一般1個(gè)月為1個(gè)周期。因此,可以對(duì)數(shù)據(jù)進(jìn)行差分處理,也即使用后一天數(shù)據(jù)減去前一天數(shù)據(jù),預(yù)測(cè)結(jié)束后再進(jìn)行逆差分處理,還原數(shù)據(jù)真實(shí)值。
(3)數(shù)據(jù)歸一化處理。當(dāng)數(shù)據(jù)經(jīng)過(guò)歸一化處理后,數(shù)據(jù)分布就會(huì)被限制在一定范圍內(nèi),一般是[0,1]。在對(duì)深度學(xué)習(xí)網(wǎng)絡(luò)進(jìn)行訓(xùn)練時(shí),可以加速梯度下降的尋優(yōu)過(guò)程。本文采用最大最小標(biāo)準(zhǔn)化,如式(2)所示,其中,[X]表示收入向量。
(4)數(shù)據(jù)集分割。在與神經(jīng)網(wǎng)絡(luò)有關(guān)的算法中,需要對(duì)數(shù)據(jù)集進(jìn)行分割,方便后續(xù)訓(xùn)練及結(jié)果分析。對(duì)于一組收入序列值,將數(shù)據(jù)集分成兩部分:訓(xùn)練集和測(cè)試集。為了保證預(yù)測(cè)準(zhǔn)確性,測(cè)試集不參與模型訓(xùn)練過(guò)程。一般訓(xùn)練集和測(cè)試集數(shù)據(jù)量之比為7:3,如果數(shù)據(jù)集很大,比如幾萬(wàn)數(shù)量級(jí),則這一比例可以擴(kuò)大。
2.2 基于LSTM-RNN的收入預(yù)測(cè)模型訓(xùn)練模塊
LSTM作為一種深度學(xué)習(xí)算法,有它自己的網(wǎng)絡(luò)結(jié)構(gòu),并且根據(jù)數(shù)據(jù)集的不同而變化。神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)算法由兩部分內(nèi)容構(gòu)成,它們是前向傳播和反向傳播。其中,前向傳播用于計(jì)算損失函數(shù),反向傳播用于計(jì)算導(dǎo)數(shù),兩部分相互監(jiān)督,不斷迭代、優(yōu)化,最后得到使損失函數(shù)最小的參數(shù)值,這時(shí)網(wǎng)絡(luò)訓(xùn)練完成。
對(duì)本文電信運(yùn)營(yíng)商的收入數(shù)據(jù)集進(jìn)行調(diào)優(yōu)后的網(wǎng)絡(luò)結(jié)構(gòu),使用偽代碼描述如下:
Algorithm 1 定義內(nèi)部網(wǎng)絡(luò)結(jié)構(gòu)
# train訓(xùn)練數(shù)據(jù)集 ,batch_size 批次大小, nb_epoch迭代次數(shù),neurons 神經(jīng)元個(gè)數(shù)
def fit_lstm(train,batch_size,nb_epoch,neurons):
model=Sequential ()
model.add(LSTM (input_shape, neurons))
# 其中input_shape 包含兩個(gè)元素,第1個(gè)表示每個(gè)輸入樣本的序列長(zhǎng)度,第2個(gè)元素表示每個(gè)序列# 中1個(gè)元素的維度,在本文電信收入數(shù)據(jù)集中,該參數(shù)值設(shè)置為(3,4),表示使用前3天的收入進(jìn)行預(yù)測(cè),4表示4個(gè)收入特征。
# neurons 決定在一層里L(fēng)STM單元的數(shù)量,也表示這一層輸出的維度。
model.add(Dropout)
model.add(Dense)
model.compile(定義loss=mean_squared_error,優(yōu)化方法為adam)
return model
由圖2可以看出,整個(gè)模型的網(wǎng)絡(luò)結(jié)構(gòu)類(lèi)似于一個(gè)搭積木的過(guò)程,添加的網(wǎng)絡(luò)層有1個(gè)LSTM層、1個(gè)Dropout(正則化層),最后是1個(gè)(Dense)全連接層。這些層的個(gè)數(shù)在實(shí)際操作過(guò)程中可以任意添加,組合出最佳效果。
(1)LSTM網(wǎng)絡(luò)層。該層是算法核心結(jié)構(gòu),內(nèi)部實(shí)現(xiàn)原理如上文所示。已有研究表明,一般情況下LSTM層的個(gè)數(shù)為1~4即可取得良好效果。層數(shù)越多,對(duì)于高級(jí)別特征的學(xué)習(xí)能力就越強(qiáng),但也更加難以收斂。本文使用了一層,預(yù)測(cè)效果已經(jīng)達(dá)到預(yù)期。
(2)Dropout(正則化層)。在深度學(xué)習(xí)網(wǎng)絡(luò)中添加dropout層可以減少模型過(guò)擬合。簡(jiǎn)單而言,在神經(jīng)網(wǎng)絡(luò)前向傳播時(shí),某個(gè)神經(jīng)元的激活值以一定概率p停止工作,這樣可以增強(qiáng)模型泛化能力,因?yàn)樗粫?huì)太依賴(lài)于某些局部特征,基本原理如圖3所示。
(3)Dense層(全連接層)。很多網(wǎng)絡(luò)結(jié)構(gòu)中都會(huì)有全連接層,最常應(yīng)用于卷積網(wǎng)絡(luò)。而在本文模型結(jié)構(gòu)中,LSTM的輸入要求是三維,因此在輸入數(shù)據(jù)時(shí)需使用reshape函數(shù)將數(shù)據(jù)轉(zhuǎn)換成三維,在輸出時(shí),需再添加一個(gè)全連接層將其還原成模型想要的一維輸出。
2.3 基于LSTM-RNN的收入預(yù)測(cè)算法
基于長(zhǎng)短時(shí)記憶網(wǎng)絡(luò)LSTM的收入預(yù)測(cè)偽代碼如下:
Algorithm 2:lstm收入預(yù)測(cè)算法
Input:
1訓(xùn)練過(guò)程:按照時(shí)間順序排列的前1 283個(gè)收入數(shù)據(jù)向量。
2測(cè)試過(guò)程:按時(shí)間順序排列的最后74個(gè)收入數(shù)據(jù)向量。
每個(gè)向量表示為X=(x1,x2,x3,x4)。
Output:
對(duì)74天收入數(shù)據(jù)的預(yù)測(cè)值。
1 加載收入數(shù)據(jù) ‘data.csv
2 對(duì)數(shù)據(jù)進(jìn)行差分轉(zhuǎn)換
3 給數(shù)據(jù)打標(biāo)簽,轉(zhuǎn)換為監(jiān)督學(xué)習(xí)型數(shù)據(jù) supervised_values
4 按需求分割出訓(xùn)練集和測(cè)試集,同時(shí)做數(shù)據(jù)歸一化處理
5 定義模型lstm_model = fit_lstm(訓(xùn)練規(guī)模,迭代次數(shù),神經(jīng)元個(gè)數(shù))
6 開(kāi)始訓(xùn)練過(guò)程
7 for i in range(迭代次數(shù))
8 model.fit()
9 訓(xùn)練完一個(gè)epoch,重置一次網(wǎng)絡(luò)
10 結(jié)束訓(xùn)練過(guò)程
11
12 進(jìn)行預(yù)測(cè)訓(xùn)練 lstm_model.predict(輸入數(shù)據(jù)形狀,batc_size)
13
14 開(kāi)始預(yù)測(cè)
15 for i in range(測(cè)試集規(guī)模)
16 導(dǎo)入測(cè)試集數(shù)據(jù)
17 yhat=forecast_lstm(model,batch_size,一維數(shù)據(jù))使用訓(xùn)練好的模型進(jìn)行預(yù)測(cè)
18 對(duì)yhat進(jìn)行逆縮放
19 對(duì)yhat進(jìn)行逆差分變換
20 存儲(chǔ)預(yù)測(cè)值prediction
21 結(jié)束預(yù)測(cè)
22
23 求真實(shí)值和預(yù)測(cè)值之間的標(biāo)準(zhǔn)差
24 畫(huà)圖分析結(jié)果
3 仿真實(shí)驗(yàn)
3.1 實(shí)驗(yàn)環(huán)境及超參數(shù)選擇
為了測(cè)試本文基于長(zhǎng)短時(shí)記憶網(wǎng)絡(luò)LSTM的收入預(yù)測(cè)效果,在Windows10操作系統(tǒng)、Bios1.1.3、處理器i5-6200U CPU @ 2.30GHz~2.4GHz、內(nèi)存12GB的筆記本上,以及Anaconda3.0、Jupyter Notebook開(kāi)發(fā)環(huán)境、Python3.6.3、keras2.3.1、tensorflow2.0.0下進(jìn)行電信收入的時(shí)間序列預(yù)測(cè)實(shí)驗(yàn)。所有數(shù)據(jù)經(jīng)過(guò)預(yù)處理后成標(biāo)準(zhǔn)化形式,優(yōu)化方法為Adam方法,重要參數(shù)設(shè)置值如表1所示。
3.2 數(shù)據(jù)預(yù)處理
本文要解決的問(wèn)題是通過(guò)對(duì)歷史收入數(shù)據(jù)進(jìn)行建模,預(yù)測(cè)未來(lái)收入。所采用的數(shù)據(jù)集為電信運(yùn)營(yíng)商的收入在時(shí)間上的序列。該數(shù)據(jù)集共包含統(tǒng)計(jì)日期、當(dāng)日總收入、話(huà)音業(yè)務(wù)收入、數(shù)據(jù)業(yè)務(wù)收入、其它收入字段,總計(jì)1 315天的收入數(shù)據(jù)。其中,每個(gè)字段都可以進(jìn)行預(yù)測(cè),但是為了簡(jiǎn)化問(wèn)題,最終目標(biāo)定義為對(duì)當(dāng)日總收入的預(yù)測(cè),即最后只輸出當(dāng)日總收入這一字段的預(yù)測(cè)值。
(1)數(shù)據(jù)集預(yù)處理過(guò)程。對(duì)數(shù)據(jù)集中的當(dāng)日收入、話(huà)音業(yè)務(wù)收入、數(shù)據(jù)業(yè)務(wù)收入、其它收入、語(yǔ)音收入、話(huà)音增值收入、短信收入和流量收入這8個(gè)關(guān)鍵字段進(jìn)行預(yù)處理。統(tǒng)計(jì)連續(xù)60天的數(shù)據(jù)可以得出,該8個(gè)字段呈現(xiàn)明顯的時(shí)序性,選取當(dāng)日語(yǔ)音收入和流量收入時(shí)序圖為例展示,如圖4所示。
(2)數(shù)據(jù)差分處理。經(jīng)過(guò)分析對(duì)比發(fā)現(xiàn),收入數(shù)據(jù)存在明顯周期性,如圖4所示,本文使用后一天數(shù)據(jù)減去前一天數(shù)據(jù),預(yù)測(cè)結(jié)束后再進(jìn)行逆差分處理,還原數(shù)據(jù)真實(shí)值。
(3)數(shù)據(jù)歸一化處理。為保證數(shù)據(jù)分布在一定范圍內(nèi),一般是[0,1]。本文采用最大最小標(biāo)準(zhǔn)化,依據(jù)式(2)加以處理。
(4)數(shù)據(jù)集分割。在本文數(shù)據(jù)集中一共有1 315天的收入數(shù)據(jù),本文規(guī)定所有模型輸入一律以2020年4月份中30天的收入數(shù)據(jù)作為測(cè)試集,用于評(píng)價(jià)模型好壞,并且不參與模型訓(xùn)練過(guò)程。
對(duì)于時(shí)間序列類(lèi)型數(shù)據(jù),本文采用“滑動(dòng)窗口”方法劃分單個(gè)樣本。將問(wèn)題轉(zhuǎn)化為監(jiān)督學(xué)習(xí)問(wèn)題加以處理。本文取前n個(gè)時(shí)間步的收入數(shù)據(jù)作為輸入X,后一天的當(dāng)日收入數(shù)據(jù)作為標(biāo)準(zhǔn)輸出結(jié)果Y,然后向后滑動(dòng)窗口分出每個(gè)輸入輸出對(duì)作為訓(xùn)練樣本。
3.3 仿真結(jié)果分析
在預(yù)測(cè)任務(wù)中,常用算法評(píng)價(jià)指標(biāo)是損失函數(shù)的數(shù)值大小。損失函數(shù)值越小,模型準(zhǔn)確度越高。對(duì)于這樣的預(yù)測(cè)模型,通常有3種評(píng)價(jià)方法,本文采用均方根誤差RMSE、平均絕對(duì)誤差MAE進(jìn)行評(píng)價(jià),計(jì)算公式如式(3)所示。
其中,[yt]表示t時(shí)刻的收入預(yù)測(cè)值,[yt]表示t時(shí)刻的收入真實(shí)值,m表示測(cè)試集的樣本數(shù)量。
最后將2020年4月共30天總收入數(shù)據(jù)作為測(cè)試集,得到的擬合結(jié)果如圖5所示。
從圖5中可以看出,絕大部分日期的收入預(yù)測(cè)值和真實(shí)值相差不大,整體趨勢(shì)比較吻合,說(shuō)明該模型測(cè)試集數(shù)據(jù)擬合得不錯(cuò)。雖然算法中的部分日期有少許偏差,預(yù)測(cè)值與真實(shí)值存在一定差距,查看原始數(shù)據(jù)后發(fā)現(xiàn),數(shù)據(jù)本身來(lái)自于移動(dòng)業(yè)務(wù)收入,業(yè)務(wù)收入類(lèi)型的數(shù)據(jù)容易受到某些特殊情況的影響,偏離趨勢(shì),就可能會(huì)出現(xiàn)上述情況。最后Loss值大概收斂到0.014左右,得到的RMSE值為26 513.786,MAE值為10 361.562。
在無(wú)法從直觀上獲知模型準(zhǔn)確性是否提升的情況下,本文將CNN模型、RNN模型、LSTM-RNN模型在同等情況下進(jìn)行仿真實(shí)驗(yàn),其均方根誤差RMSE值計(jì)算以及平均絕對(duì)誤差MAE值比較如表2所示。
由表2可以看出,在RNN中增加LSTM卷積層,模型均方根誤差RMSE值和MAE值已經(jīng)大幅縮小,說(shuō)明預(yù)測(cè)準(zhǔn)確性有較大提升,同時(shí)算法收斂性也得以提高。
4 結(jié)語(yǔ)
本文對(duì)電信運(yùn)營(yíng)商的各項(xiàng)收入數(shù)據(jù)進(jìn)行分析,得出該收入數(shù)據(jù)是一個(gè)周期變化的時(shí)間序列,從而建立基于LSTM-RNN的收入預(yù)測(cè)模型。設(shè)計(jì)核心預(yù)測(cè)算法,基于電信運(yùn)營(yíng)商收入數(shù)據(jù)開(kāi)展實(shí)驗(yàn),可以較好地預(yù)測(cè)未來(lái)一段時(shí)間的收入變化情況。本文提出的收入預(yù)測(cè)模型對(duì)于電信行業(yè)制定營(yíng)銷(xiāo)方案有一定指導(dǎo)作用。
參考文獻(xiàn):
[1] 音春,柳之乏. 通信服務(wù)收入變動(dòng)因素分析[J]. 世界電信,2017,18(1):57-63.
[2] 張忠海. 通信行業(yè)收入預(yù)測(cè)模型淺析[J]. 現(xiàn)代國(guó)企研究,2017,8(12):185-187.
[3] 李博偉,許飛云,楊會(huì)超. RBF-BL時(shí)間序列模型及其在建模和預(yù)測(cè)中的應(yīng)用[J]. 東南大學(xué)學(xué)報(bào)(自然科學(xué)版),2020,50(2):368-376.
[4] MAGGIORI E, TARABALKA Y, CHARPIAT G, et al. Convolutional neural networks for large-scale remote-sensing image classification[J]. IEEE Transactions on Geoscience & Remote Sensing, 2017, 55(2):645-657.
[5] 許學(xué)國(guó),桂美增. 基于深度學(xué)習(xí)的技術(shù)預(yù)測(cè)方法——以機(jī)器人技術(shù)為例[J/OL]. 情報(bào)雜志,2020-07-03.https://kns.cnki.net/kns/brief/default_result.aspx.
[6] 梁霞. 模糊時(shí)間序列預(yù)測(cè)法的改進(jìn)及應(yīng)用[J]. 內(nèi)蒙古農(nóng)業(yè)大學(xué)學(xué)報(bào)(自然科學(xué)版)2018,39(3):94-100.
[7] 江元,楊波,趙東來(lái),等. 基于時(shí)間序列分析及機(jī)器學(xué)習(xí)的移動(dòng)網(wǎng)絡(luò)業(yè)務(wù)量預(yù)測(cè)技術(shù)[J]. 物聯(lián)網(wǎng)技術(shù),2020,10(6):42-45.
推薦閱讀:基于網(wǎng)絡(luò)關(guān)注度視角下旅游需求時(shí)空特征及其影響因素研究