国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

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

2020-04-15 02:50吳娟娟張衛(wèi)鋼李香云
計算機技術與發(fā)展 2020年2期
關鍵詞:梯度銷售額誤差

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

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

0 引 言

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

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

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

1 LSTM神經網絡

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

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

圖1 LSTM結構

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和前向傳播中的h含義相同,即泛指,由于它不一定只能輸出到下一個時間的自身,或許還會輸出到下一個時間其他的隱層。

2 LSTM優(yōu)化算法

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

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

x*=argminf(x)

(14)

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

xt+1=xt+ηg

(15)

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

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

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

輸入參數:學習率η

輸入參數:初始參數θ

While 滿足do,則停止

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

End while

SGD算法中關鍵的參數是學習率,在LSTM應用中會隨著時間的推移逐漸改變學習率。

2.1 自適應學習率算法

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

RMSProp算法

輸入參數:全局學習率η,衰減速率ρ

輸入參數:初始化參數θ,初始化累積變量γ=0

While滿足do,則停止

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

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

應用更新:θ←θ+Δθ

End while

RMSprop是一種自適應學習率方法,通過自動調整學習率,從而改變更新方式。

2.2 超參數選擇

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

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

3 實 驗

3.1 實驗流程

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

圖2 基本步驟

(1)確定預測目標。

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

(2)數據收集、探索及預處理。

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

表1 銷售額數據

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

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

(3)應用建模。

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

(4)評價指標。

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

3.2 實驗結果分析

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

(16)

(17)

圖3 LSTM、Xgboost一周日銷售額預測結果

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

表2 兩種方法的預測性能指標

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

4 結束語

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

猜你喜歡
梯度銷售額誤差
基于應變梯度的微尺度金屬塑性行為研究
北斗導航種蘿卜百米誤差僅2厘米
中國奧園:銷售額首破千億元 凈利潤同比增長近八成
一個具梯度項的p-Laplace 方程弱解的存在性
內容、形式與表達——有梯度的語言教學策略研究
航磁梯度數據實測與計算對比研究
預計2021年汽車和物聯網芯片銷售額將創(chuàng)新高
隧道橫向貫通誤差估算與應用
隧道橫向貫通誤差估算與應用
精確與誤差