蔣帝美 冷 英 簡 鑫 陳應良
(1.四川工商學院,四川 成都 620000;2.成都師范學院,四川 成都 611130;3.西華大學,四川 成都 610039)
針對問題一,要求解決:從產品特征,庫存信息,節假日折扣等因素分析在2018 年國慶,雙十一,雙十二和元旦四個節假日內對目標skc(銷售時間處于2018 年7 月1 日到2018 年10 月1 日內累計銷售額排名前50 的skc)的銷售量的影響。首先,運用了PYTHON 進行數據預處理,運用SPSS 進行相關性分析,得出了2018 年國慶,雙十一,雙十二和元旦四個節假日內目標skc 的銷售量受元旦折后價,國慶折后價,雙十一庫存,雙十二庫存,國慶庫存的影響。
針對問題二,要求解決:分析結果預測給定區域內目標小類(為歷史銷售時間處于2019 年6 月1 日至2019 年10 月1 日內且累2 計銷售額排名前10 的小類)在2019 年10 月1 日后3 個月中每個月的銷售量,給出每個月預測值的MAPE。
首先,運用了PYTHON 進行數據預處理,運用灰色預測理論構建灰色預測模型,運用了MATLAB 軟件編程求解,得出了2019 年10 月1 日后3 個月中每個月的銷售量預測值的MAPE 為0.11,0.38,0.28。
針對問題三,要求解決:通過建立相關數學模型,在考慮小類預測結果和skc 銷售曲線與小類銷售曲線之間的差異的同時,預測目標小類內所有skc 在2019 年10 月1 日后12 周內每周的周銷量,并給出每周預測值的MAPE。首先,運用了PYTHON 進行數據預處理,運用神經網絡理論進行構建bp 神經網絡模型,考慮到bp 神經網絡模型在數據量較大的情況下會出現局部解較小的情況,采用PSO 粒子群算法優化bp 神經網絡的權值和閾值以此抵消這類情況,再運用了MATLAB 軟件編程求解,得出了2019 年10 月1 日后12 周內每周的周銷量預測值的MAPE 為0.11,0.14,0.2,0.21,0.15,0.31,0.22,0.36,0.39,0.4,0.29,0.33。
本文最后還對模型進行了誤差分析,對模型的優缺點進行了客觀的評價,基于灰色預測和bp 神經網絡對存在的不足進行了改進,對模型進行了橫向和縱向推廣。
1.1.1 引言部分
隨著我國消費市場的不斷發展,市場上的消費模式已經逐步由“以物為主”轉變為“以客為主”。在新零售行業,性價比不再是顧客衡量是否購買物品的唯一標準,人們的需求也不僅僅是單一的追求實用性,而是更多的考慮時尚性,把注意力放在“個性化、時尚、美觀”等方面。在這類特殊需求的推動下,新零售企業的生產模式逐步向多品種、小批量邁進,這讓商場內零售店鋪里的飾品和玩具等種類變得更加琳瑯滿目,同時也給零售行業的庫存管理增加了很大的難度。如何根據層級復雜,品類繁多的歷史銷售數據,以區域層級,小類層級乃至門店 skc(單款單色)層級給出精準的需求預測,是當前大多數新零售企業需要重點關注并思考的問題。
1.1.2 任務定價
隨著中國經濟不斷發展,居民收入不斷提升,基礎消費品已經無法滿足高素質消費者日益變化的消費需求。零售企業運營先進技術,通過線上線下和物流的結合促進零售行業轉型升級。使得居民消費朝著便捷化、個性化、人文化、體驗化、多樣化的方向發展。同時也為零售行業提供了新的發展契機,然而我們仍需注意新零售發展過程中所產生的些許問題,以期零售行業的進一步發展。
1.1.3 研究意義
在“新零售”模式下,消費者可以任意暢游在智能、高效、快捷、平價、愉悅的購物環境之中,購物體驗獲得大幅提升,年輕群體對消費升級的強烈意愿也由此得到較好滿足。新零售的出現推動了商業要素的重構,加速了零售經營模式和商業模式的創新,或將引發零售行業的巨大變革。
1.銷售流水數據。
2.產品信息表。
3.區域庫存數據。
4.節假日信息表。
1.3.1 問題一
從產品特征,庫存信息,節假日折扣等因素分析在2018 年國慶,雙十一,雙十二和元旦四個節假日內對目標skc(銷售時間處于2018 年7 月1 日到2018 年10 月1 日內累計銷售額排名前50 的skc)的銷售量的影響。
1.3.2 問題二
結合分析結果預測給定區域內目標小類(為歷史銷售時間處于2019 年6 月1 日至2019 年10 月1 日內且累2 計銷售額排名前10 的小類)在2019 年10 月1 日后3 個月中每個月的銷售量,給出每個月預測值的MAPE。
1.3.3 問題三
通過建立相關數學模型,在考慮小類預測結果和skc 銷售曲線與小類銷售曲線之間的差異的同時,預測目標小類內所有skc 在2019 年10 月1 日后12 周內每周的周銷量,并給出每周預測值的MAPE。
1.3.4 問題四
給企業寫一封推薦信,向企業推薦預測結果和方法,并說明方案的合理性以及后續優化方向。
2016 年11 月11 日,國務院辦公廳印發《關于推動實體零售創新轉型的意見》(國辦發(2016)78 號),明確了推動我國實體零售創新轉型的指導思想和基本原則。同時,在調整商業結構、創新發展方式、促進跨界融合、優化發展環境、強化政策支持等方面作出具體部署?!兑庖姟吩诖龠M線上線下融合的問題上強調:“建立適應融合發展的標準規范、競爭規則,引導實體零售企業逐步提高信息化水平,將線下物流、服務、體驗等優勢與線上商流、資金流、信息流融合,拓展智能化、網絡化的全渠道布局?!盵1]
雖然線上零售一段時期以來替代了傳統零售的功能,但從兩大電商平臺,天貓和京東的獲客成本可以看出,電商的線上流量紅利見頂;與此同時線下邊際獲客成本幾乎不變,且實體零售進入整改關鍵期,因此導致的線下渠道價值正面臨重估[2]。
移動支付等新技術開拓了線下場景智能終端的普及,以及由此帶來的移動支付、大數據、虛擬現實等技術革新,進一步開拓了線下場景和消費社交,讓消費不再受時間和空間制約。
新中產階級崛起的80 和90 后、接受過高等教育、追求自我提升,逐漸成為社會的中流砥柱[3]。
本文是針對新銷售目標產品做出精準需求預測,我們先從給出的數據中運用PYTHON 軟件通過附錄中的代碼篩選出所需要的數據,再結合數據比較各種因素對需求量不同的影響,在分析問題后選用神經網絡的方法來進一步處理數據從而得出各種因素對需求量的影響,選用雙變量關聯分析法、rbf 神經網絡、bp 神經網絡和pso 粒子群優化算法等方法對各項數據做出最理想化的處理從而對新銷售目標產品做出精準需求預測。
2.3.1 對問題一的分析和對策
問題一要求分析相應節假日內各類因素對目標skc 的銷量影響,針對這個問題我們分為兩個步驟來解決。首先我們對附件的數據進行預處理,PYCHARM 軟件對附件中的數據進行篩選分析,其次我們選取合適的會影響需求的因素,分別為標簽價、實際售價、節假日時長、銷售特征、庫存信息以及節假日折扣等因素,進行雙變量關聯分析法,得出更精確的數據和各類因素的影響力,再用題中給出的MAPE 來檢測結果的合理性,最后對數據做出簡單小結。
2.3.2 對問題二的分析和對策
問題二要求預測給定區域內目標小類在該時間段內每個月的銷售量并給出每個月預測值的MAPE。針對這個問題我們分兩個步驟來解決。首先我們對附件的數據進行預處理,通過PYCHARM 軟件用pandas 庫篩選數據進行分析,得到能達到預測目的的相關參數的數據。在此基礎上通過MATLAB 軟件用灰色預測再對篩選出來的數據進行擬合、規整。再用題中給出的MAPE 來檢測結果的合理性,最后總體分析預測結果誤差大小。
2.3.3 對問題三的分析和對策
問題三要求建立相關數學模型,并考慮小類預測結果的同時,預測目標小類所有skc 在特定時間后數周內的周銷量并給出預測值的MAPE。針對這個問題我們分兩個步驟來解決。首先我們對附件進行數據預處理,通過PYCHARM軟件用pandas 庫篩選數據進一步來分析,得到能夠預測的相關因素數據。運用神經網絡理論進行構建bp 神經網絡模型,考慮到bp 神經網絡模型在數據量較大的情況下會出現局部解較小的情況,采用PSO 粒子群算法優化bp 神經網絡的權值和閾值以此抵消這類情況,再運用了MATLAB 軟件編程求解,進一步的處理從而預測出周銷量,再用題中給出的MAPE 來檢測結果的合理性,最后做出小結。
2.3.4 對問題四的分析和對策
問題四是要求面向企業來推薦自己的預測結果和方法,并說明合理性和后續優化方向,并且是信件的格式。針對這一問題結合前三個問題得出的預測結果和方法,通過推薦信格式來闡述自己得出的預測結果和方法,并根據預測結果來推測方案的合理性,結合方案的優缺點找準待優化方面作出后續的優化設計。
1.假設國慶、雙十一、雙十二、元旦四個節假日內銷量的影響有銷售特征,商品特征,標簽價格,庫存信息,節假日折扣,節假日時長等。

表1

表2

表3

表4

表5
2.假設在預測時間段內人們消費力度與給定時間內消費力度相同。
3.假設每年對應月份的銷售趨勢不變。
4.假設銷售不受突發情況的影響。
4.1.1 對問題的分析
問題一要求分析相應節假日內各類因素對目標skc 的銷量影響,針對這個問題我們分為兩個步驟來解決。首先我們對附件的數據進行挖掘,使用PYCHARM 軟件對附件中的數據進行篩選分析,其次我們選取合適的會影響需求的因素,分別為標簽價、實際售價、節假日時長、銷售特征、庫存信息以及節假日折扣等因素,進行雙變量關聯分析法(Pearson 相關系數和Kendall 秩相關系數),得出更精確的數據和各類因素的影響力,再用題中給出的MAPE 來檢測結果的合理性,最后對數據做出簡單小結。
定義1 雙變量關聯分析法:兩個變量之間的相關關系可以通過計算變量間的相關系數,來衡量它們之間相關關系的強弱,不用類型的變量,SPSS應用不同的相關系數來判定。兩個定距或定比變量,用Pearson 相關系數;兩個定序或定類變量,用Spearman 等級相關系數和Kendall 秩相關系數。
定義2 Pearson 相關系數:相關關系是一種非確定性的關系,相關系數是研究變量之間線性相關程度的量。由于研究對象的不同,相關系數有如下幾種定義方式。
簡單相關系數:又叫相關系數或線性相關系數,一般用字母r 表示,用來度量兩個變量間的線性關系。定義式

其中,Cov(X,Y)為X 與Y 的協方差,Var[X]為X 的方差,Var[Y]為Y 的方差。
復相關系數:又叫多重相關系數。復相關是指因變量與多個自變量之間的相關關系。例如,某種商品的季節性需求量與其價格水平、職工收入水平等現象之間呈現復相關關系。
典型相關系數:是先對原來各組變量進行主成分分析,得到新的線性關系的綜合指標,再通過綜合指標之間的線性相關系數來研究原各組變量間相關關系。
定義3 Kendall 秩相關系數:Kendall(肯德爾)系數的定義:n 個同類的統計對象按特定屬性排序,其他屬性通常是亂序的。同序對(concordant pairs)和異序對(discordant pairs)之差與總對數(n*(n-1)/2)的比值定義為Kendall(肯德爾)系數。
4.1.2 對問題的求解
問題一要求我們分析2018 年國慶節,雙十一,雙十二和元旦這四個節假日內各種相關因素對目標skc 的銷售量的影響。首先根據數據所給的信息,將這四個節日的產品信息進行數據處理。得到了庫存,商品價格,銷量,銷售額,商品折扣這五種數據。然后采用雙關聯分析可能影響銷售量的因素進行了分析,通過對皮爾遜相關系數的大小對因素進行了篩選,選取了幾個相關性較大的因素。
數據預處理過后的數據如表1 所示:
通過SPSS 相關性分析得出如表2-5 所示結果:
通過對銷售量相關系數的比較,結合四個節日中影響因素的相關分析得出元旦折后價,國慶折后價,雙十一庫存,雙十二庫存,國慶庫存與銷量影響較大且呈正相關。
4.2.1 對問題的分析
問題二要求預測給定區域內目標小類在該時間段內每個月的銷售量并給出每個月預測值的MAPE。針對這個問題我們分兩個步驟來解決。首先我們對附件的數據進行挖掘,通過PYCHARM 軟件用pandas 庫篩選數據進行分析,得到能達到預測目的的相關參數的數據。在此基礎上通過MATLAB 軟件用灰色預測再對篩選出來的數據進行擬合、規整。再用題中給出的MAPE 來檢測結果的合理性,最后總體分析預測結果誤差大小。
定義1[4]灰色預測模型:
(1)灰色系統、白色系統和黑色系統
白色系統是指一個系統的內部特征是完全已知的,既系統信息是完全充分的。黑色系統是一個系統的內部信息對外界來說是一無所知的,只能通過它與外界的聯系來加以觀測研究?;疑到y介于白色和黑色之間,灰色系統內的一部分信息是已知的,另一部分信息是未知的,系統內各因素間有不確定的關系。
(2)灰色預測法
灰色預測法是一種預測灰色系統的預測方法?;疑A測通過鑒別系統因素之間發展趨勢的相異程度,即進行關聯分析,并對原始數據進行生成處理來尋找系統變動的規律,生成有較強規律性的數據序列,然后建立相應的微分方程模型,從而預測事物未來發展趨勢的狀況。
(3)精度檢驗等級參照表

灰色生成數列:灰色系統理論認為,盡管客觀表象復雜,但總是有整體功能的,因此必然蘊含某種內在規律。關鍵在于如何選擇適當的方式去挖掘和利用它?;疑到y是通過對原始數據的整理來尋求其變化規律的,這是一種就數據尋求數據的現實規律的途徑,也就是灰色序列的生產。一切灰色序列都能通過某種生成弱化其隨機性,顯現其規律性。數據生成的常用方式有累加生成、累減生成和加權累加生成。
(1)累加生成(AGO)
設原始數列為x(0)=(x0(1),x0(2),….x0(n))x(0)=(x0(1),x0(2),….x0(n)),令
x(1)(k)=∑i=1kx(0)(i),k=1,2,...,nx(1)(k)=∑i=1kx(0)(i),k=1,2,...,n
x(1)=(x1(1),x1(2),….x1(n))x(1)=(x1(1),x1(2),….x1(n))
稱所得到的新數列為數列x(0)x(0)的1 次累加生成數列。類似的有
x(r)(k)=∑i=1kx(r-1)(i),k=1,2,...,n,r≥1x(r)(k)=∑i=1kx(r-1)(i),k=1,2,...,n,r ≥1
稱為x(0)x(0)的r 次累加生成數列。
(2)累減生成(IAGO)
如果原始數列為x(1)=(x1(1),x1(2),….x1(n))x(1)=(x1(1),x1(2),….x1(n)),令
x(0)(k)=x(1)(k)-x(1)(k-1),k=2,3,...,nx(0)(k)=x(1)(k)-x(1)(k-1),k=2,3,...,n
稱所得到的數列x(0)x(0)為x(1)x(1)的1 次累減生成數列??梢钥闯觯ㄟ^累加數列得到的新數列,可以通過累減生成還原出原始數列。
(3)加權鄰值生成
如果原始數列為x(1)=(x1(1),x1(2),….x1(n))x(1)=(x1(1),x1(2),….x1(n)),稱任意一對相鄰元素x(0)(k-1),x(0)(k)x(0)(k-1),x(0)(k)互為鄰值。對于常數α ∈[0,1],令 :
z(0)(k)=αx(0)(k)+(1-α)x(0)(k-1),k=2,3,…,nz(0)(k)=αx(0)(k)+(1-α)x(0)(k-1),k=2,3,…,n
由此得到的數列稱為鄰值生成數,權α 也稱為生成系數。特別地,當生成系數α=0.5 時,則稱該數列為均值生成數,也稱為等權鄰值生成數。
累加生成的特點:一般經濟數列都是非負數列。累加生成能使任意非負數列、擺動的與非擺動的,轉化為非減的、遞增的。
灰色模型GM(1,1):灰色系統理論是基于關聯空間、光滑離散函數等概念定義灰導數與灰微分方程,進而用離散數據列建立微分方程形式的動態模型,即灰色模型是利用離散隨機數經過生成變為隨機性被顯著削弱而且較有規律的生成數,建立起的微分方程形式的模型,這樣便于對其變化過程進行研究和描述。
G 表示grey(灰色),M 表示model(模型),定義x(1)x(1)的灰導數為 :
d(k)=x(0)(k)=x(1)(k)-x(1)(k-1)d(k)=x(0)(k)=x(1)(k)-x(1)(k-1)
令z(1)(k)z(1)(k)為數列x(1)x(1)的鄰值生成數列,即 :
z(1)(k)=αx(1)(k)+(1-α)x(1)z(1)(k)=αx(1)(k)+(1-α)x(1)
于是定義GM(1,1)的灰微分方程模型為:
d(k)+αz(1)(k)=b 或x(0)(k)+αz(1)(k)=bd(k)+αz(1)(k)=b 或x(0)(k)+αz(1)(k)=b
其中,x(0)(k)x(0)(k)稱為灰導數,α 稱為發展系數,z(1)(k)z(1)(k)稱為白化背景值,b 稱為灰作用量。
將時刻k=2,3,…,n 代入上式有 :

引入矩陣向量記號:

于是GM(1,1)模型可表示為Y=Bu。
那么現在的問題就是求a 和b 的值,我們可以用一元線性回歸,也就是最小二乘法求它們的估計值為:

GM(1,1)的白化型:
對于G M (1,1)的灰微分方程,如果將時刻k=2.3...n 視為連續變量t,則之前的x(1)視為時間t函數,于是灰導數x(0)(k)變為連續函數的導數白化背景值z(1)(k)對應于導數x(1)(t)。于是GM (1,1)的灰微分方程對應于的白微分方程為:
GM(1,1)灰色預測的步驟:
數據 的檢驗與處理:為了保證GM(1,1)建模方法的可行性,需要對已知數據做必要的檢驗處理。設原始數據列為x(0)=(x0(1),x0(2),….x0(n))x(0)=(x0(1),x0(2),….x0(n)),計算數列的級比:

y(0)(k)=x(0)(k)+c,k=1,2...,n
取c 使得數據列的級比都落在可容覆蓋內。
建立GM(1,1)模型:
不妨設x(0)=(x0(1),x0(2),....x0(n))滿足上面的要求,以它為數據列建立GM(1,1)模型。
x(0)(k)+az(1)(k)=b
用回歸分析求得a,b的估計值,于是相應的白化模型為:

解為:

于是得到預測值:

從而相應地得到預測值:

檢驗預測值
(1)殘差 檢驗:計算相對殘差

如果對所有的|ε(k)|<0.1|ε(k)|<0.1,則認為到達較高的要求;否則,若對所有的|ε(k)|<0.2|ε(k)|<0.2,則認為達到一般要求。
(2)級比偏差值檢驗:計算

如果對所有的|ρ(k)|<0.1|ρ(k)|<0.1,則認為達到較高的要求;否則,若對于所有的|ρ(k)|<0.2|ρ(k)|<0.2,則認為達到一般要求。
定義3 MAPE 計算公式

圖1

圖2

圖3

圖4

圖5

圖6

其中 yi表示真實值,i 表示預測值,APE 表示百分比誤差,n 表示指標集個數。
4.2.2 對問題的求 解
通過灰色預測模型的建立,再由PYTHON 的數據篩選得到排名前十的目標小類為27050401,27217089,27164944,27196225,27060804,27112849,27092025,27206656,27071209,27102436。

圖7

圖8
導入目標小類為歷史銷售時間處于2019 年6 月1 日至2019 年10 月1 日內,且累計銷售額排名前10 的小類的2019 年6 月到10 月每個月的月銷量數據通過模型預測出未來三個月內的小類銷量數據,預測結果如下:
圖示小類的1,2,3,4,5,6,7,8,9,10 分別代表目標小類編碼27050401,27217089,27164944,27196225,27060804,27112849,27092025,27206656,27071209,27102436。
經過模型運算得出各小類10 月的預測值與真實值比較曲線如圖1 所示;
經過模型運算得出各小類11 月的預測值與真實值比較曲線如圖2 所示;
經過模型運算得出各小類12 月的預測值與真實值比較曲線如圖3 所示。
通過預測值與實際值相計算MAPE 的值為圖4 所示:10 月 的MAPE 值為0.13,11 月的MAPE 值 為0.38,12 月的MPAE 值為0.28。由此可見模型預測效果較好。此問題得以解決。
4.3.1 對問題的分析
問題三要求建立相關數學模型,并考慮小類預測結果的同時,預測目標小類所有skc 在特定時間后數周內的周銷量并給出預測值的MAPE。針對這個問題我們分兩個步驟來解決。首先我們對附件進行數據預處理,通過PYCHARM軟件用pandas 庫篩選數據進一步來分析,得到能夠預測的相關因素數據。運用神經網絡理論進行構建bp 神經網絡模型,考慮到bp 神經網絡模型在數據量較大的情況下會出現局部解較小的情況,采用PSO 粒子群算法優化bp 神經網絡的權值和閾值以此抵消這類情況,再運用了MATLAB 軟件編程求解,進一步的處理從而預測出周銷量,再用題中給出的MAPE 來檢測結果的合理性,最后做出小結。
定義1 pandas 庫:pandas 是基于NumPy 的一種工具,該工具是為了解決數據分析任務而創建的。pandas 納入了大量庫和一些標準的數據模型,提供了高效地操作大型數據集所需的工具。pandas 提供了大量能使我們快速便捷地處理數據的函數和方法。你很快就會發現,它是使PYTHON成為強大而高效的數據分析環境的重要因素之一。
定義2 PSO 粒子群優化算法:粒子群優化算法又翻譯為粒子群算法、微粒群算法或微粒群優化算法。是通過模擬鳥群覓食行為而發展起來的一種基于群體協作的隨機搜索算法。通常認為它是群集智能的一種。它可以被納入多主體優化系統。

圖9 單個神經元內部示意圖
(1)模擬捕食
PSO 模擬鳥群 的捕食行為。一群鳥在隨機搜索食物,在這個區域里只有一塊食物。所有的鳥都不知道食物在那里。但是他們知道當前的位置離食物還有多遠。那么找到食物的最優策略是什么呢。最簡單有效的就是搜尋離食物最近的鳥的周圍區域。
(2)啟示
PSO 從這種模型中 得到啟示并用于解決優化問題。PSO中,每個優化問題的解都是搜索空間中的一只鳥。我們稱之為“粒子”。所有的粒子都有一個由被優化的函數決定的適應值,每個粒子還有一個速度決定他們飛翔的方向和距離。然后粒子們就追隨當前的最優粒子在解空間中搜索。
(3)PSO 初始化
PSO 初始 化為一群隨機粒子(隨機解),然后通過迭代找到最優解,在每一次迭代中,粒子通過跟蹤兩個“極值”來更新自己。第一個就是粒子本身所找到的最優解,這個解叫做個體極值pBest,另一個極值是整個種群找到的最優解,這個極值是全局極值gBest。另外也可以不用整個種群而只是用其中一部分最優粒子的鄰居,那么在所有鄰居中的極值就是局部極值。
定義3[5]bp 神經網絡:BP 即Back Propagation 的縮寫,也就是反向傳播的意思。
BP 網絡的數學原理
下面將介紹 BP 網絡的數學原理,相比起SVD 的算法推導,這個相對簡單。首先來看看BP 網絡長什么樣,這就是它的樣子(見圖5):
首先,一組輸入x1、x2、……、xm 來到輸入層,然后通過與隱層的連接權重產生一組數據s1、s2、……、sn 作為隱層的輸入,然后通過隱層節點的θ(·),θ(·)激活函數后變為θ(sj),θ(sj)其中sj表示隱層的第j 個節點產生的輸出,這些輸出將通過隱層與輸出層的連接權重產生輸出層的輸入,這里輸出層的處理過程和隱層是一樣的,最后會在輸出層產生輸出,這里j 是指輸出層第j 個節點的輸出。這是前向傳播的過程,在這里隱層的含義即隱層連接著輸入和輸出層,它就是特征空間,隱層節點的個數就是特征空間的維數,或者說這組數據有多少個特征。而輸入層到隱層的連接權重則將輸入的原始數據投影到特征空間,比如sj就表示這組數據在特征空間中第j 個特征方向的投影大小,或者說這組數據有多少份量的j 特征。而隱層到輸出層的連接權重表示這些特征是如何影響輸出結果的。
前面提到激活函數θ(·),一般使用S 形函數(即sigmoid 函數),比如可以使用(見圖6)
輸入的數據是已知的,變量只有那些連接權重,現在假設輸入層第i 個節點到隱層第j 個節點的連接權重發生了一個很小的變化Δwij,那么這個Δwij 將會對sj產生影響,導致sj也出現一個變化Δsj,然后產生Δθ(sj),然后傳到各個輸出層,最后在所有輸出層都產生一個誤差Δe。所以說,權重的調整將會使得輸出結果產生變化。如何調整權重。對于給定的訓練樣本,其正確的結果已經知道,那么由輸入經過網絡的輸出和正確的結果比較將會有一個誤差,如果能把這個誤差降到最小,那么就是輸出結果靠近了正確結果,就可以說網絡可以對樣本進行正確分類。
為了使函數連續可導,這里最小化均方根差,定義損失函數如下:

最小化L:跟SVD 算法一樣,用隨機梯度下降。也就是對每個訓練樣本都使權重往其負梯度方向變化?,F在的任務就是求L 對連接權重w 的梯度。用w1ij 表示輸入層第i個節點到隱層第j 個節點的連接權重,w2ij 表示隱層第i 個節點到輸出層第j 個節點的連接權重,s1j 表示隱層第j 個節點的輸入,s2j 表示輸出層第j 個幾點的輸入,區別在右上角標,1 表示第一層連接權重,2 表示第二層連接權重。
那么有:

由于:

所以:

代入前面式子可得:


由于:

所以:

代入前面的式子可得:

現在記:

則隱層δ 為:

輸出層δ 為:

反向傳播過程是這樣的:輸出層每個節點都會得到一個誤差e,把e 作為輸出層反向輸入,這時候就像是輸出層當輸入層一樣把誤差往回傳播,先得到輸出層δ,然后將輸出層δ 根據連接權重往隱層傳輸,即前面的式子:

現在再來看第一層權重的梯度:

第二層權重梯度:

可以看到一個規律:每個權重的梯度都等于與其相連的前一層節點的輸出(即xi 和θ(s1i))乘以與其相連的后一層的反向傳播的輸出(即δ1j 和δ2j)。
這樣反向傳播得到所有的δ 以后,就可以更新權重了。更直觀的BP 神經網絡的工作過程總結如下(見圖8):
上圖中每一個節點的輸出都和權重矩陣中同一列(行)的元素相乘,然后同一行(列)累加作為下一層對應節點的輸入。
為了代碼實現的可讀性,對節點進行抽象如下(見圖9):
這樣的話,很多步驟都在節點內部進行了。

4.3.2 對問題的求解
用PYCHARM 軟件用pandas 庫預處理數據,得到能夠預測的相關因素數據。運用神經網絡理論進行構建bp 神經網絡模型,將篩選處理的2018 年10 月1 日后12 周內周銷量數據進行訓練,然后考慮到bp 神經網絡模型在數據量較大的情況下會出現局部解較小的情況,采用PSO 粒子群算法優化2018 年10 月1 日后12 周內周銷量數據。
利用PSO 粒子群優化選取bp 神經網絡的權值和閾值數據,再運用了MATLAB 軟件編程求解,進一步的處理從而預測出周銷量,再用題中給出的MAPE 來檢測結果的合理性。
最后以銷售額排名第一小類的skc602572661595 求解結果為例,作出銷售量預測值與真實值的比較曲線如圖10所示。

圖10
由此可知采用PSO 粒子群優化算法的bp 神經網絡預測結果較為接近真實值,預測效果較好。
經過PSO 粒子群優化算法的bp 神經網絡預測出的2019年10 月1 日后12 周內每周的周銷量預測值的MAPE 為0.11,0.14,0.2,0.21,0.15,0.31,0.22,0.36,0.39,0.4,0.29,0.33,如圖11 所示。

圖11
4.4.1 對問題的分析
問題四是要求面向企業來推薦自己的預測結果和方法,并說明合理性和后續優化方向,并且是信的格式,針對這一問題結合前三個問題得出的預測結果和方法,通過推薦信格式來闡述自己得出的預測結果和方法,并根據預測結果來推測方案的合理性,結合方案的優缺點找準待優化方面作出后續的優化設計。
4.4.2 對問題的求解
此為新銷售產品的精準需求的預測模型,此模型可以通過較少的往年銷售數據精確預測出未來一段時間內的銷售量,此模型可以自動篩選權值數據選取最有利的數據進行分析減少了人工篩選數據的成本,節約資源。同時可適用于企業對未來產業的發展提供明確方向,合理分配企業資源,以求獲得資源最大化,能夠為企業提供較強的生命力,能夠明確提供企業的產業布局。
同時此模型存在一些不足,篩選數據花費時間過長,讀取數據過于依賴人工,收集數據依賴于人工。后續優化方案有:收集數據采用PYTHON 的“爬蟲”收集。分析數據的代碼循環構建較多,占用較多資源和時間,后續將減少循環的使用,進一步優化代碼。
誤差分析由題中給出MAPE 算出值即為誤差分析,MAPE 值越接近0 則模型預測效果越好。本題誤差主要來源于真實生活中每年對應月份的銷售趨勢是不同的,銷售量會受到國家的經濟政策改動的影響,每年的產品生產成本變動,生產力改變的影響,自然災害也會導致銷量變化。
優點:
1.此模型可以通過較少的往年銷售數據精確預測出未來一段時間內的銷售量。
2.此模型可以自動篩選權值數據選取最有利的數據進行分析,減少了人工篩選數據的成本,節約資源。
3.可適用于企業對未來產業的發展提供明確方向,合理分配企業資源,以求獲得資源最大化。
4.能夠為企業提供較強的生命力,能夠明確提供企業的產業布局。
缺點:
1.BP 神經網絡無論在網絡理論還是在性能方面已比較成熟。其突出優點就是具有很強的非線性映射能力和柔性的網絡結構。網絡的中間層數、各層的神經元個數可根據具體情況任意設定,并且隨著結構的差異其性能也有所不同。但是BP 神經網絡也存在以下的一些主要缺陷。
①學習速度慢,即使是一個簡單的問題,一般也需要幾百次甚至上千次的學習才能收斂。
②容易陷入局部極小值。
③網絡層數、神經元個數的選擇沒有相應的理論指導。
④網絡推廣能力有限。
對于上述問題,已經有了許多改進措施,研究最多的就是如何加速網絡的收斂速度和盡量避免陷入局部極小值的問題。
2.相關系數:需要指出的是,相關系數有一個明顯的缺點,即它接近于1 的程度與數據組數n 相關,這容易給人一種假象。因為,當n 較小時,相關系數的波動較大,對有些樣本相關系數的絕對值易接近于1;當n 較大時,相關系數的絕對值容易偏小。特別是當n=2 時,相關系數的絕對值總為1。因此在樣本容量n 較小時,我們僅憑相關系數較大就判定變量x 與y 之間有密切的線性關系是不妥當的。
此模型不僅僅是適用于預測銷量還可以適用于天氣的預測,工廠的產量預測,客運量的預測等諸多方面。
篩選數據花費時間過長,讀取數據過于依賴人工,收集數據依賴于人工。后續優化方案有:收集數據采用PYTHON 的“爬蟲”收集,分析數據的代碼循環構建較多占用較多資源和時間,后續將減少循環的使用,進一步優化代碼。