孫 桐 徐 斌 賈 航
(大連海事大學(xué)航運(yùn)經(jīng)濟(jì)與管理學(xué)院遼寧省物流航運(yùn)管理系統(tǒng)工程重點(diǎn)實(shí)驗(yàn)室 遼寧 大連 116026)
本文研究“互聯(lián)網(wǎng)+外貿(mào)”環(huán)境下跨境電商平臺的采購量預(yù)測,受需求、關(guān)稅、物流、和采購周期等多種因素影響。但“互聯(lián)網(wǎng)+外貿(mào)”跨境電商電商平臺的核心是具有大量的數(shù)據(jù),且是對于預(yù)測有優(yōu)勢的數(shù)據(jù)。只要選取了合適的影響因素以及數(shù)據(jù),就可以得到采購預(yù)測量。因此,設(shè)計一種高效、準(zhǔn)確的基于跨境電商平臺的采購預(yù)測量模型是亟須解決的問題。在有限的時間內(nèi)把貨物配送成功顯得至關(guān)重要,特別是跨境電商預(yù)購,貨物能否按期入庫都會影響到商家的經(jīng)營情況。
現(xiàn)今,很多采購量的預(yù)測是基于歷史采購量來進(jìn)行預(yù)測未來采購量,考慮的是采購量自身數(shù)據(jù)的影響,對于不同因素之間的相互影響考慮較少。
楊天劍等[1]利用基于BOM單數(shù)據(jù)預(yù)測電信運(yùn)營商的采購。李俊等[2](2012)將 GM(1,1)模型、非線性預(yù)測模型和二次回歸預(yù)測模型相結(jié)合組成了組合預(yù)測模型,依據(jù)某企業(yè)前10個月的銷量,預(yù)測后兩個月的銷量。
楊亦[3]根據(jù)歷史采購數(shù)據(jù),運(yùn)用時間序列的方法,對采購零件構(gòu)建模型,完成了零件的采購預(yù)測。盡管有預(yù)測研究考慮到相關(guān)因素對預(yù)測量影響,但沒有進(jìn)行相關(guān)因素的篩選,導(dǎo)致一些無關(guān)變量對預(yù)測的影響。趙占波等[4]根據(jù)瀏覽與相關(guān)因素,得到這些因素對銷量的影響。由于沒有進(jìn)行篩選,導(dǎo)致相關(guān)變量如服務(wù)態(tài)度對結(jié)果的正負(fù)相關(guān)性造成干擾,降低預(yù)測準(zhǔn)確性。任遠(yuǎn)等[5]、江沸菠等[6]、Zhao等[7]運(yùn)用貝葉斯神經(jīng)網(wǎng)絡(luò),表明了此方法較于傳統(tǒng)的BP算法,可以提供網(wǎng)絡(luò)泛化能力。王玨等[8]、Ma等[9]使用因果檢驗(yàn)進(jìn)行參數(shù)選取。
為此,本文提出一種基于Granger因果檢驗(yàn)和Bayes-BP算法的跨境電商平臺采購量預(yù)測方法。首先對Granger因果檢驗(yàn)與Bayes-BP算法基本原理進(jìn)行介紹,其次給出了采購預(yù)測量的算法實(shí)現(xiàn)方法,最后對2017年1月至2019年9月跨境電商平臺關(guān)于食品、服裝和化妝品的銷量以及相關(guān)影響因素進(jìn)行建模,并驗(yàn)證方法的有效性。
Granger于1980年提出了關(guān)于因果關(guān)系的定義。在后期不斷的完善中,Granger建立了一種方法,分析因素之間的聯(lián)系,并且以“最小二乘法”得出期望值與預(yù)測值之間的誤差。
變量X和Y之間的因果關(guān)系為:在包含了X和Y過去的信息情況下,對變量Y的預(yù)測結(jié)果優(yōu)于只單獨(dú)考慮由單一Y的信息來預(yù)測Y的信息,即X對于預(yù)測Y的結(jié)果有幫助,便于解釋Y的未來發(fā)展趨勢,則稱X是Y的Granger原因。進(jìn)行Granger因果檢驗(yàn),要構(gòu)建不含滯后項(xiàng)X的受約束模型和有滯后項(xiàng)X的約束模型。計算式表示為:
(1)
(2)
式中:Xt表示待檢驗(yàn)的Granger原因;Yt表示需要驗(yàn)證的Granger值;αi與βi分別表示Yt以及Xt滯后項(xiàng)因子,α0為常數(shù)項(xiàng),εt為殘差。
根據(jù)上面的公式構(gòu)建,F(xiàn)統(tǒng)計量檢驗(yàn)的聯(lián)合假設(shè)H0:
β1=β2=…=βi=0i=1,2,…,q
(3)
如果在選定的顯著性水平計算的Fα值小于F值,便拒絕假設(shè),則Xt是Yt的Granger原因。本文對商品的數(shù)據(jù)做平穩(wěn)性檢驗(yàn),即做ADF檢驗(yàn)。確保數(shù)據(jù)滿足平穩(wěn)性之后,再進(jìn)行Granger因果關(guān)系檢驗(yàn)。
BP神經(jīng)網(wǎng)絡(luò)具有復(fù)雜的分類能力以及強(qiáng)大的非線性建模映射能力,被廣泛應(yīng)用于復(fù)雜的預(yù)測問題。
BP神經(jīng)網(wǎng)絡(luò)可以不斷地修復(fù)期望與樣本數(shù)據(jù)之間的誤差,這源于它的計算與調(diào)整自身權(quán)值閾值來進(jìn)行修正的結(jié)果[10]。但是,該模型也有一定的問題,BP算法收斂速度慢[11],BP算法易陷入局部極小化[12]。
本文提出一種貝葉斯優(yōu)化BP算法的采購量預(yù)測模型。利用貝葉斯求取預(yù)測值的平均值與方差,進(jìn)而確定最優(yōu)權(quán)值與閾值;對局部閾值與權(quán)值進(jìn)行調(diào)整,解決原始模型存在的問題。
1.2.1算法原理
貝葉斯計算式中,隨機(jī)變量由許多未知變量構(gòu)成,要進(jìn)行研究,要使用概率分布來對變量統(tǒng)計。沒有獲得樣本數(shù)據(jù)時,模型H對于變量θ的位置概率分布成為先驗(yàn)分布,計算式為:
(4)
式中:p(H|θ)是H的后驗(yàn)概率,p(θ)和p(H)是事件的先驗(yàn)概率。
貝葉斯方法是在給定樣本數(shù)據(jù)后,結(jié)合先驗(yàn)概率建立后驗(yàn)分布,得到了給定數(shù)據(jù)D后,根據(jù)式(4)可得到后驗(yàn)概率分布。
(5)
式中:p(D|θ,H)為參數(shù)似然函數(shù),p(θ|H)為先驗(yàn)分布,p(D|H)為常數(shù)。后驗(yàn)分布比之先驗(yàn)分布,結(jié)合了數(shù)據(jù),作出了相應(yīng)的調(diào)整。在做預(yù)測時,后驗(yàn)信息作為先驗(yàn)信息出現(xiàn),使得預(yù)測會不斷調(diào)整,結(jié)果準(zhǔn)確度更高。
為了使預(yù)測值可量化,引入方差,表示離Xi最近的n個臨近點(diǎn),計算式表示為:
(6)
將訓(xùn)練數(shù)據(jù)應(yīng)用貝葉斯公式計算,可得權(quán)值的后驗(yàn)概率分布,計算式表示為:
(7)
式中:α、σ2是最佳超參數(shù),由它們來調(diào)節(jié)學(xué)習(xí)率,并可決定權(quán)值w的分布;p(Y|α,σ2)是歸一化參數(shù)。
從結(jié)果可以得出,分布符合多變量高斯分布,計算式表示為:
P(W|Y,α,σ2)=N(Δ,cov)
(8)
式中:Δ為平臺某個商品均值;cov為平臺某個商品協(xié)方差。
(9)
(10)
式中:φ為迭代參數(shù)。經(jīng)過反復(fù)運(yùn)算,得到更新后超參數(shù),然后代入式(7),可得權(quán)值最優(yōu)解。
將權(quán)值代入式(11),可求得閾值最優(yōu)解。
b*=y*-w*Xi
(11)
式中:w*為權(quán)值最優(yōu)解;y*為輸出預(yù)測值。
BP神經(jīng)網(wǎng)絡(luò)可以正向、反方向傳播信息,樣本數(shù)據(jù)得出的結(jié)果和預(yù)期差距較大時,會進(jìn)行反向傳播。差值會被分配到神經(jīng)層節(jié)點(diǎn),進(jìn)而對信息進(jìn)行調(diào)整,最終得到合理的值。
將商品數(shù)據(jù)作為樣本數(shù)據(jù),輸入變量則為X=(X1,X2,…,Xn),輸出為Y=(Y1,Y2,…,Yn),輸入的數(shù)據(jù)在經(jīng)過迭代后得到輸出值,即采購量預(yù)測值:
(12)
式中:anj為第n個樣本j層的輸出;wji為i、j兩層的連接權(quán)值;ani為此樣本的第i層結(jié)果;bj為j層閾值。
對權(quán)值和閾值可進(jìn)行調(diào)整,若結(jié)果不符期望精度要求,可進(jìn)行調(diào)整,計算式表示為:
wji(t+1)=wji(t)+ηζjani+a[wji(t)-wji(t-1)]
(13)
bj(t+1)=bj(t)+ηζj+a[bj(t)-bj(t-1)]
(14)
式中:η為學(xué)習(xí)率,a為調(diào)整常數(shù);ζj為誤差反向傳播值;這些參數(shù)對上層的閾值、權(quán)值進(jìn)行優(yōu)化,可使得收斂速度變快。
BP神經(jīng)網(wǎng)絡(luò)算法的學(xué)習(xí)率影響模型訓(xùn)練的速度及準(zhǔn)確度,速率小,收斂性可以滿足,但收斂慢;反之,結(jié)果可能會振蕩。本文提出了一種優(yōu)化學(xué)習(xí)率的方法。公式如下:
η=αe-σ2t
(15)
式中:α和σ2分別是超參數(shù),t為迭代次數(shù)。
相比于傳統(tǒng)BP算法,此方法減少了模型訓(xùn)練次數(shù),此方法另外一種表達(dá)計算式為:
η(t)=e-λη(t-1)
(16)
式中:t代表迭代次數(shù),e-λ為比例系數(shù),且系數(shù)不變。
學(xué)習(xí)率變化以誤差增減來判斷,在迭代過程中,誤差變小,說明修正方向正確;當(dāng)誤差超過一定范圍時,說明修正方向錯誤,此時可以停止訓(xùn)練。計算式表示為:
(17)
式中:η(t-1)inc表示繼續(xù)修正,η(t-1)dec表示撤銷上一次修正。
1.2.2算法流程
Bayes-BP算法流程如下:
(1) 商品樣本數(shù)據(jù)預(yù)處理。
(2) BP神經(jīng)網(wǎng)絡(luò)初始化模型,包含一系列相關(guān)參數(shù),選擇合適的函數(shù)。
(3) 利用Bayes定理求得高斯分布,反復(fù)迭代后,得到最佳參數(shù),得到最優(yōu)權(quán)值、閾值。
(4) 進(jìn)行網(wǎng)絡(luò)仿真訓(xùn)練,對于輸出的數(shù)據(jù)進(jìn)行驗(yàn)證,誤差較大的進(jìn)行校正,得到最終商品采購預(yù)測值。
經(jīng)過上述分析,商品采購預(yù)測量實(shí)現(xiàn)步驟包括:
(1) 商品采購量影響因素的選擇。經(jīng)過研究調(diào)查發(fā)現(xiàn),影響電商平臺商品采購量的因素可能有:商品單價、商品收藏量、商品評論量、好評分等級(3.5~4.0分為1級,4.0~4.5為2級,4.5~5.0為3級)、商家是否滿足一周內(nèi)無理由退貨、是否有稅費(fèi)補(bǔ)貼、是否有優(yōu)惠券、庫存是否充足、商品類型(本文選取3個類型商品,食品、化妝品和服裝)、商品采購速率、季節(jié)因素、廣告引導(dǎo)瀏覽次數(shù)、商品加入購物車次數(shù)等13個影響因素。
其中商品采購速率的定義為:若是庫存充足,則無需預(yù)購,為了便于統(tǒng)計,設(shè)為速率為0;庫存不足,需預(yù)購時,根據(jù)實(shí)際采購,不同種類商品的速率也不同,食品類預(yù)購時間5~10天,速率設(shè)為1;化妝品類預(yù)購時間為10~20天,速率設(shè)為2;服裝類預(yù)購時間為20~40天,速率設(shè)為3。商品采購周期均為一個月采購一次。
設(shè)n=13,則影響集為:
X={x1,x2,…,x13}
(2) 去除無關(guān)的因素。采用Granger因果檢驗(yàn)分析法,對影響因素與商品銷售量做檢驗(yàn),去除無關(guān)因素,形成新的影響因素集:
Xnew={x1,x2,…,xi}i (3) 數(shù)據(jù)預(yù)處理。去除無關(guān)影響因素后,對數(shù)據(jù)進(jìn)行相應(yīng)操作。 ① 對異常值數(shù)據(jù)處理:在實(shí)際生活中,商品銷量受到大型活動促銷因素的影響,銷量值會突然增多,形成異常值,如雙十一、雙十二活動,去掉這些異常值。每個商品去除3年中11月、12月的記錄。 ② 對空缺值處理:對于一些有數(shù)值的商品相關(guān)因素,采用插補(bǔ)法進(jìn)行數(shù)據(jù)的填充。由于隨機(jī)插補(bǔ)法有一定的不足,會影響數(shù)據(jù)精度,本文采用組合插補(bǔ)法進(jìn)行數(shù)據(jù)補(bǔ)充。 首先根據(jù)空缺值得出n(n>1)a個合理插值,得到n組數(shù)據(jù)。其次,用分析法對n組數(shù)據(jù)進(jìn)行分析,會得到n個估計值。若是n個數(shù)據(jù)集估計值為X,則參數(shù)估計值為: (18) 則插補(bǔ)值的計算式為: (19) 插值能比較準(zhǔn)確地還原真實(shí)的信息,降低誤差。 (4) 設(shè)置恰當(dāng)?shù)南嚓P(guān)參數(shù)。訓(xùn)練相關(guān)模型,分析該模型并與傳統(tǒng)BP算法作對比。 選取大連某自營跨境電商平臺食品類、化妝品類和服裝類2017年1月至2019年9月的脫敏數(shù)據(jù)集。本文了收藏量、評論量、單價等13個相關(guān)因素,數(shù)據(jù)如表1所示。由于篇幅限制,表1展示了部分相關(guān)因素的數(shù)據(jù)。 表1 電商平臺銷量/預(yù)購量及相關(guān)影響因素數(shù)據(jù) 其中若某商品庫存充足,則不需預(yù)購,預(yù)購時間為0,此時為商品銷售量;若某階段商品庫存不足,則商品預(yù)購時間由其商品類型決定,所以某商品本月的采購量為銷量與預(yù)購量之和。例如商品編號為659846,銷量為3 000,預(yù)購量為550,則其采購量為3 550。而編號98756商品庫存是否充足為1,沒有預(yù)購量,則其采購量與銷量相同,也為2 870。 數(shù)據(jù)為2017年1月至2019年9月的數(shù)據(jù),共包含3個大類:食品、化妝品和服裝類,每大類選取了50個樣本,一共是14 850個樣本數(shù)據(jù)。去除每條數(shù)據(jù)在雙十一、雙十二的數(shù)據(jù)后,即刪除11月與12月的數(shù)據(jù),現(xiàn)有樣本數(shù)據(jù)13 050個。 本文使用EVIEWS 6.0軟件,對13個影響因素做了因果檢驗(yàn),同時也對銷量做了檢驗(yàn),驗(yàn)證各序列數(shù)據(jù)的平穩(wěn)性。所得結(jié)果如表2所示,可以看出,在5%顯著性水平下,這些因素及商品銷售量均通過了檢驗(yàn)。建立VAR模型,結(jié)果如表3所示。 表2 13個影響因素與銷量ADF檢驗(yàn) 表3 Granger因果檢驗(yàn)結(jié)果 續(xù)表3 在5%的顯著性水平下,季節(jié)因素、廣告引導(dǎo)瀏覽次數(shù)、商品加入購物車次數(shù)不是銷量的Granger原因,剩下的10個因素是銷量的Granger原因。在使用Bayes-BP算法進(jìn)行預(yù)測時,輸入值采用有效影響因素,去除掉不相關(guān)的因素。 研究發(fā)現(xiàn),BP神經(jīng)網(wǎng)絡(luò)上一月的輸入變量與下一月的輸入變量有非常緊密的關(guān)系,計算結(jié)果顯示如下規(guī)律:用上月的消費(fèi)行為相關(guān)因素作為輸入,下一月的銷量作為輸出,訓(xùn)練集與測試集得到的模型預(yù)測值擬合度較高,預(yù)測比較準(zhǔn)確。故去除了每件商品11月、12月份的數(shù)據(jù),并且將每條數(shù)據(jù)的輸出結(jié)果統(tǒng)一上移了一條。即用上月的輸入數(shù)據(jù),來匹配下月的輸出結(jié)果。這樣也解決了未知月份,輸入變量不能獲取的問題。由于庫存會存在不足的問題,所以某些商品在某些月份存在預(yù)購量。在進(jìn)行數(shù)據(jù)處理時,將銷量與預(yù)購量進(jìn)行匯總,其和算作本月輸出結(jié)果。 本文使用2017年1月至2019年4月的數(shù)據(jù)作為訓(xùn)練集,2019年5月至8月數(shù)據(jù)作為測試集,則經(jīng)過模型計算,得到9月的輸出結(jié)果即為2019年10月的銷售量,也就是9月需要采購的數(shù)量。由于每月會進(jìn)行一次采購,故9月采購的貨品最遲會在10月左右到達(dá),這樣也可以有效地降低庫存積壓問題。選取預(yù)測商品的種類為食品、化妝品和服裝。 本文選取2017年1月至2019年4月的數(shù)據(jù)作為訓(xùn)練集,2019年5月至2019年8月的數(shù)據(jù)作為測試集。用訓(xùn)練集來進(jìn)行訓(xùn)練模型,并對5月至8月的數(shù)據(jù)進(jìn)行預(yù)測。本文僅顯示2019年8月的預(yù)測對比數(shù)據(jù)。 其中商品編號1-5的商品類型為1,即5種食品類商品;編號6-10為5種化妝品類商品;編號11-15為5種服裝類商品。 為了更好地評價Bayes-BP模型精度,本文采用LM-BP算法、ARMA模型進(jìn)行預(yù)測的對比。三種模型的預(yù)測如圖1所示。可以得出,3種模型預(yù)測曲線趨勢較為一致,虛線會有明顯偏差,帶*線的誤差較小,帶圓圈線的精度最高。 圖1 3種模型預(yù)測誤差比較 為了分析3種模型的擬合精度及預(yù)測準(zhǔn)確度,采用兩個指標(biāo):平均百分比誤差(Mean absolute percent error,MAPE)和均方根誤差(Root mean square error, RMSE)。 (20) (21) 式中:y代表期望值,yi為預(yù)測值。 由表4可以看到,采用了Granger因果檢驗(yàn)后,Bayes-BP與LM-BP算法的精確度都有提高而兩種算法的均方差都小于傳統(tǒng)模型ARMA。但Bayes-BP算法明顯優(yōu)于其他兩種算法,故采用Bayes-BP進(jìn)行采購預(yù)測。 表4 算法MAPE和RMSE參數(shù)比較 采用Bayes-BP優(yōu)化算法來預(yù)測該電商平臺2019年10月份,15種商品的采購量結(jié)果如表5所示。由于預(yù)測模型平均誤差率在5.9%,屬于有效預(yù)測,平臺可以按照表5預(yù)測的結(jié)果進(jìn)行實(shí)際采購。 表5 各類商品采購量 本文對某電商平臺的商品采購量進(jìn)行了預(yù)測。在研究中,分析了商品的銷量的時間序列特點(diǎn),并結(jié)合了商品的消費(fèi)行為,提出了基于Byes-BP的神經(jīng)網(wǎng)絡(luò)在跨境電商平臺的預(yù)測應(yīng)用,同時對消費(fèi)行為因素進(jìn)行了Granger因果檢驗(yàn)。通過分析,去除了無關(guān)因素,并且做了相應(yīng)的數(shù)據(jù)處理。之后,用3種模型進(jìn)行預(yù)測的分析對比,得出該方法可以較好地解決預(yù)測平臺采購量的問題。經(jīng)過實(shí)證,該方法平均誤差百分比為5.9%,可以將該方法推廣至企業(yè)的實(shí)際應(yīng)用中。2 電商平臺商品采購量預(yù)測
2.1 數(shù)據(jù)來源
2.2 Granger因果檢驗(yàn)
2.3 數(shù)據(jù)預(yù)處理
2.4 模型精度檢驗(yàn)
2.5 預(yù)測結(jié)果
3 結(jié) 語