亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        一種基于LSTM模型的日銷售額預(yù)測方法

        2020-04-15 02:50:08吳娟娟張衛(wèi)鋼李香云
        計算機技術(shù)與發(fā)展 2020年2期
        關(guān)鍵詞:模型

        吳娟娟,任 帥,張衛(wèi)鋼,伍 菁,李香云

        (長安大學 信息工程學院,陜西 西安 710064)

        0 引 言

        零售商店日銷售額預(yù)測是從已有的日銷售額資料中總結(jié)出商品的日銷售額規(guī)律,并且用此規(guī)律動態(tài)預(yù)測未來一段時間內(nèi)的日銷售額,從而指導未來的銷售方法或手段,提高銷量,獲取更大利潤。日銷售額的分析是一個復(fù)雜且不規(guī)則的非線性系統(tǒng)。重點分析并且找到影響商品銷售額的一些主要因素。但由于新產(chǎn)品的開發(fā)、季節(jié)性變換、促銷活動、節(jié)假日、天氣及政策的變化等各種原因,傳統(tǒng)分析方法的準確性在一定程度上受到很大質(zhì)疑。因此,希望建立一個非線性系統(tǒng),其參數(shù)可以隨預(yù)測環(huán)境的變化而變化,從而克服該缺點。

        為了得到更精準的預(yù)測結(jié)果,許多學者根據(jù)市場的調(diào)研和研究,運用多種方法針對已有的數(shù)據(jù)進行分析和對比[1]。比如:Xgboost單模型[2]、指數(shù)平滑法、ARIMA模型和GARCH模型等[3-4]。但是Xgboost單模型采用預(yù)排序,在迭代之前,對節(jié)點的特征做預(yù)排序,遍歷選擇最優(yōu)分割點,數(shù)據(jù)量大時,貪心法耗時,數(shù)據(jù)分割的復(fù)雜度高;指數(shù)平滑法精確率不高;ARIMA模型對于趨勢性較強的數(shù)據(jù)集預(yù)測效果比較好,但如果遇到趨勢不那么強的數(shù)據(jù)集,則效果不太理想;對于非對稱現(xiàn)象,GARCH模型無法解釋該現(xiàn)象,為了保證其非負性,假設(shè)模型表達式中的全部系數(shù)都大于零,這些約束中所隱含的任何一個滯后項的增大將會增加因而排除了的隨機波動行為,導致在估計該模型時有可能會出現(xiàn)震蕩現(xiàn)象;LSTM模型[5]避免了長期依賴問題,采用特殊隱式單元,在繼承了大部分RNN模型特性的同時解決了梯度反傳過程中[6]由于逐步縮減而產(chǎn)生的Vanishing Gradient問題[7],適用于非線性回歸變量,可以解決多個輸入變量的問題,模型準確度高,訓練速度快,并行處理能力強。LSTM更適合用于處理與短期時間序列高度相關(guān)的問題,在n個示例批次中不斷迭代,能夠快速和準確地對大量短期時間序列數(shù)據(jù)進行處理,是解決時間序列預(yù)測問題最常用的工具。

        針對大數(shù)量級的序列預(yù)測,文中建立了一種Tensorflow框架下基于記憶機理的LSTM模型。以預(yù)測值和實際值的誤差為優(yōu)化目標,從網(wǎng)絡(luò)結(jié)構(gòu)的搭建,學習率、窗口設(shè)置上改進網(wǎng)絡(luò)模型預(yù)測的準確性,采用RMSProps算法修正模型自適應(yīng)率。最后,應(yīng)用銷售額數(shù)據(jù)進行驗證,并與傳統(tǒng)時間序列預(yù)測模型進行對比,實驗結(jié)果表明建立的LSTM模型在銷售額預(yù)測上具有良好的優(yōu)越性。

        1 LSTM神經(jīng)網(wǎng)絡(luò)

        LSTM是一種改進的RNN,比一般的RNN能夠記住更長周期上的信息模式,在解決很多問題上都取得了成功,例如自然語言處理、中文文本分類研究、機器翻譯等。

        目前為止,實際應(yīng)用中最有效的序列模型為門控RNN(gate RNN),包括基于長短期記憶網(wǎng)絡(luò)(long short-term memory)和基于門控循環(huán)單元(gate recurrent unit)的網(wǎng)絡(luò)。LSTM網(wǎng)絡(luò)比一般的RNN結(jié)構(gòu)更適于長期依賴,在序列處理問題上獲得很好的表現(xiàn)[8]。LSTM結(jié)構(gòu)如圖1所示。

        圖1 LSTM結(jié)構(gòu)

        Input gates:

        (1)

        Forget gates:

        (2)

        Cells:

        (3)

        (4)

        Output gates:

        Cell outputs:

        (6)

        (7)

        Cell outputs:

        (8)

        Output gates:

        (9)

        States:

        (10)

        Cells:

        (11)

        Forget gates:

        (12)

        Input gates:

        (13)

        式(8)中g(shù)和前向傳播中的h含義相同,即泛指,由于它不一定只能輸出到下一個時間的自身,或許還會輸出到下一個時間其他的隱層。

        2 LSTM優(yōu)化算法

        大多數(shù)深度學習算法通常以最小化代價函數(shù)、損失函數(shù)(loss)或誤差函數(shù)J(θ)作為優(yōu)化目標。J(θ)用來描述預(yù)測值和真實值的偏離程度,文中指的是均方根值。優(yōu)化可以分成兩個階段,第一階段是使用前向傳播算法計算得到預(yù)測值,再將預(yù)測值與真實值比較得到它們之間的差距;第二階段使用反向傳播算法,計算出損失函數(shù)對所有參數(shù)的梯度,然后按照梯度和學習率(learning rate)利用梯度下降法(gradient decent)更新每一個參數(shù)。假設(shè)θ表示神經(jīng)網(wǎng)絡(luò)參數(shù),優(yōu)化過程可看作迭代更新并尋找一個參數(shù)θ,使得J(θ)最小。

        梯度下降的計算過程指沿著梯度下降的方向求解極小值,迭代公式為:

        x*=argminf(x)

        (14)

        梯度下降的計算過程指沿著梯度下降的方向求解極小值,迭代公式為:

        xt+1=xt+ηg

        (15)

        其中,g表示梯度負方向,η表示梯度方向上的搜索步長,在LSTM中表示為學習率。學習率太大容易導致發(fā)散,太小收斂速度太慢,對模型精度起著至關(guān)重要的作用。

        梯度下降法要在全部訓練數(shù)據(jù)上最小化損失,當樣本容量非常大或是迭代次數(shù)加大時會非常消耗計算資源。隨機梯度下降(stochastic gradient descent,SGD)優(yōu)化損失函數(shù),按照數(shù)據(jù)生成分布抽取m個小批量(獨立同分布的)樣本,每一次迭代只計算一個樣本的loss,然后再遍歷所有的小批量樣本,進行一輪完整的計算。再計算其梯度的均值,最后獲得梯度的無偏估計,更新如下所示:

        隨機梯度下降算法在第k個訓練迭代的更新方法

        輸入?yún)?shù):學習率η

        輸入?yún)?shù):初始參數(shù)θ

        While 滿足do,則停止

        從訓練數(shù)據(jù)集中采集m個小批量樣本{x(1),x(2),…,x(m)},xt對應(yīng)輸出目標yt

        End while

        SGD算法中關(guān)鍵的參數(shù)是學習率,在LSTM應(yīng)用中會隨著時間的推移逐漸改變學習率。

        2.1 自適應(yīng)學習率算法

        學習率對模型的性能有顯著的影響,決定了參數(shù)移動到最優(yōu)值的速度。若幅度過大,會導致參數(shù)可能越過最優(yōu)值;幅度過小,容易引起運算冗余,導致長時間運算無法收斂。目前常用的學習率算法有AdaGrad[9]、RMSProp[10]、Adam[11]等。Schaul[12]展示了許多算法在大量學習任務(wù)上極具價值的比較。有結(jié)果表明,RMSProp和AdaDelta算法表現(xiàn)都相當良好。文中使用如下方法改變學習率:

        RMSProp算法

        輸入?yún)?shù):全局學習率η,衰減速率ρ

        輸入?yún)?shù):初始化參數(shù)θ,初始化累積變量γ=0

        While滿足do,則停止

        從訓練數(shù)據(jù)集中采集m個小批量樣本{x(1),x(2),…,x(m)},xt對應(yīng)輸出目標yt

        累積梯度:γ=ργ+(1-ρ)g⊙g

        應(yīng)用更新:θ←θ+Δθ

        End while

        RMSprop是一種自適應(yīng)學習率方法,通過自動調(diào)整學習率,從而改變更新方式。

        2.2 超參數(shù)選擇

        深度學習算法中使用超參數(shù)來控制計算,選擇超參數(shù)有兩種方法:手動選擇和自動選擇。手動選擇超參數(shù)的主要目標是調(diào)整模型的有效容量以匹配任務(wù)的復(fù)雜性。但手動選擇需要了解超參數(shù)、泛化誤差、訓練誤差和計算環(huán)境等問題,高度依賴平臺。自動選擇超參數(shù)算法不需要制定學習算法的超參數(shù),常見的有網(wǎng)格搜索、隨機搜索。

        LSTM預(yù)測模型中包含很多參數(shù),其中以學習率、分割窗口、狀態(tài)向量大小最為關(guān)鍵。將這些超參數(shù)笛卡爾乘積得到一組超級參數(shù)。Bernoulli and Bengio[13]對比了網(wǎng)格搜索和隨機搜索,發(fā)現(xiàn)隨機搜索能更快地減小驗證誤差。

        3 實 驗

        3.1 實驗流程

        文中采用基于TensorFlow[14-15]的LSTM模型的零售商店日銷售額預(yù)測方法,建立的預(yù)測模型可以預(yù)測某大型連鎖零售商店未來7天的日銷售額,預(yù)測的基本步驟如圖2所示。

        圖2 基本步驟

        (1)確定預(yù)測目標。

        根據(jù)相關(guān)業(yè)務(wù)背景分析原始數(shù)據(jù)源,預(yù)測未來7天的日銷售額情況。

        (2)數(shù)據(jù)收集、探索及預(yù)處理。

        實驗使用的數(shù)據(jù)是某大型連鎖零售商店在2018年1月1日至2018年6月30日的銷售數(shù)據(jù)(數(shù)據(jù)有缺失),共267家店,每家店181條數(shù)據(jù)。分析各個因素與銷售額的關(guān)系,找出影響因變量的自變量,包括內(nèi)部數(shù)據(jù)、外部數(shù)據(jù)以及額外數(shù)據(jù)。由于原始數(shù)據(jù)源并非完整的數(shù)據(jù)源,其中會出現(xiàn)缺省值或者異常值這些噪聲數(shù)據(jù),所以需要對缺省值和異常值進行處理,補全有效數(shù)據(jù)源,然后對數(shù)據(jù)進行離散化、歸一化處理。以1000011店為例,處理得到的部分數(shù)據(jù)如表1所示。

        表1 銷售額數(shù)據(jù)

        其中,gid表示商店ID,共267家(181條數(shù)據(jù));fildate表示銷售時間;d(dayofweek)表示當天處于周幾;voc表示國家法定節(jié)假日;w(weather)表示天氣(100-晴,010-雨,001-雪)。

        文中利用天氣、處在周幾以及是否為節(jié)假日等特征因素來分析對銷售額的影響,根據(jù)特征建立模型實現(xiàn)對銷售額的預(yù)測。

        (3)應(yīng)用建模。

        首先,將數(shù)據(jù)集劃分為訓練集和測試集;其次,對于訓練集做特征篩選,提取有信息量的特征變量,并且去掉無信息量等的干擾特征變量;最后,應(yīng)用算法建立LSTM模型后,結(jié)合測試集對算法模型的輸出參數(shù)進行優(yōu)化,提高泛化能力,從而提高預(yù)測精度,得到最終的訓練模型。

        (4)評價指標。

        預(yù)測回歸類模型精度常用的評價方法[16]有RMSE(root mean squared error,均方根誤差)、MAPE(mean absolute percentage error,平均絕對百分比誤差)、MAE(mean absolute error,MAE)和MPE(mean percentage error,平均百分比誤差)。文中將選取MAPE和MAE作為衡量標準,MAPE的大小用來衡量一個模型預(yù)測結(jié)果的好壞,MAPE的值越小,則模型的預(yù)測結(jié)果越好,MAE的值更好地反映了預(yù)測值誤差的實際情況,MAE的值越小,模型預(yù)測的誤差越小。

        3.2 實驗結(jié)果分析

        分別采用LSTM和Xgboost對1001281店2018年6月24日—2018年6月30日的每日銷售額進行預(yù)測,LSTM和Xgboost的預(yù)測結(jié)果如圖3所示。文中采用絕對百分誤差[17]和平均絕對誤差[18]作為最終算法質(zhì)量的衡量標準,MAPE和MAE越低則表明算法誤差越小,公式如下:

        (16)

        (17)

        圖3 LSTM、Xgboost一周日銷售額預(yù)測結(jié)果

        LSTM和Xgboost零售商店日銷售額預(yù)測模型的預(yù)測性能指標如表2所示。

        表2 兩種方法的預(yù)測性能指標

        可見,無論是MAPE還是MAE,LSTM模型的預(yù)測效果都稍優(yōu)于Xgboost。

        4 結(jié)束語

        文中基于TensorFlow框架建立了LSTM模型并預(yù)測了商品銷售額,然后與Xgboost模型的預(yù)測結(jié)果進行了比較。在保證參數(shù)調(diào)優(yōu)的情況下,根據(jù)MAPE和MAE評價標準,對比二者的預(yù)測結(jié)果,發(fā)現(xiàn)LSTM模型的MAPE為0.031 932,MAE為168.320 7,而Xgboost模型的MAPE為0.056 097,MAE為251.710 8。結(jié)果表明,LSTM模型的準確性更好,用其預(yù)測商品的銷售額是可行的。該方法具有較高的實用價值。但實際商品銷售往往受到政治、經(jīng)濟、文化等多種因素的影響,用該方法預(yù)測仍存在不足,如何對各種因素進行取舍,將是今后努力的方向。

        猜你喜歡
        模型
        一半模型
        一種去中心化的域名服務(wù)本地化模型
        適用于BDS-3 PPP的隨機模型
        提煉模型 突破難點
        函數(shù)模型及應(yīng)用
        p150Glued在帕金森病模型中的表達及分布
        函數(shù)模型及應(yīng)用
        重要模型『一線三等角』
        重尾非線性自回歸模型自加權(quán)M-估計的漸近分布
        3D打印中的模型分割與打包
        中国极品少妇videossexhd| 日韩精品一区二区三区乱码| 精品香蕉一区二区三区| 少妇饥渴偷公乱a级无码| 热99精品| 国产香蕉一区二区三区| 青青草好吊色在线观看| 一区二区免费国产a在亚洲| 一区二区高清免费日本| 领导边摸边吃奶边做爽在线观看| 不卡高清av手机在线观看| 最新精品国偷自产在线婷婷| 区三区久久精品水蜜桃av| 色吧噜噜一区二区三区| 无人视频在线观看免费播放影院 | 99精品国产高清一区二区麻豆| 久久这里只精品国产2| 中文字幕色一区二区三区页不卡| 欧美疯狂性受xxxxx喷水| 亚洲国产成人久久综合电影| 在线看片国产免费不卡| 国产精品女同一区二区免| 国产毛多水多高潮高清| 亚洲av无码成人精品区在线观看| 蜜臀aⅴ永久无码一区二区| 91一区二区三区在线观看视频| 真实国产精品vr专区| 成人无码午夜在线观看| 97国产精品麻豆性色| 亚洲综合av大全色婷婷| 熟女熟妇伦av网站| 国产一区二区丰满熟女人妻| 麻豆视频av在线观看| 先锋五月婷婷丁香草草| 亚洲福利视频一区 | 手机看片久久国产免费| 女优视频一区二区三区在线观看| 久久精品一区午夜视频| 99久久人人爽亚洲精品美女| 国产亚洲欧美在线播放网站| 国产av剧情久久精品久久|