李向東 劉清華 陳靜
摘? 要: 針對(duì)筆記本電腦銷售的不確定性,利用BP神經(jīng)網(wǎng)絡(luò)算法構(gòu)建模型,采用MATLAB對(duì)某店鋪的2021年筆記本電腦的銷售數(shù)據(jù)進(jìn)行了網(wǎng)絡(luò)訓(xùn)練,通過(guò)Pearson相關(guān)系數(shù)來(lái)分析輸入層各節(jié)點(diǎn)和輸出層銷售額之間的相關(guān)性,確定了訪客數(shù)UV、收藏?cái)?shù)、加購(gòu)物車次數(shù)、客單價(jià)和支付轉(zhuǎn)化率等5個(gè)輸入層節(jié)點(diǎn),銷售額為輸出層節(jié)點(diǎn)。實(shí)驗(yàn)證明了構(gòu)建的BP神經(jīng)網(wǎng)絡(luò)模型預(yù)測(cè)值和實(shí)際值誤差小,預(yù)測(cè)準(zhǔn)確度高,可為筆記本電腦銷售計(jì)劃安排及庫(kù)存管理提供依據(jù)。
關(guān)鍵詞: BP神經(jīng)網(wǎng)絡(luò); Pearson相關(guān)系數(shù); 筆記本銷售; 預(yù)測(cè)
中圖分類號(hào):TP183? ? ? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A? ? ?文章編號(hào):1006-8228(2023)05-145-04
Research on laptop sales prediction based on BP neural network model
Li Xiangdong, Liu Qinghua, Chen Jing
(College of Information Technology, Zhejiang Yuying College of Vocational Technology, Hangzhou, Zhejiang 310018, China)
Abstract: For the uncertainty of laptop sales, the BP neural network algorithm is used to construct a model, and the network is trained by MATLAB on the laptop sales data of a store in 2021. The correlation between the nodes in the input layer and the sales volume in the output layer is analyzed by Pearson correlation coefficient. The number of visitors UV, number of favorites, number of shopping cart additions, customer unit price and payment conversion rate are identified as five input layer nodes, as well as the sales volume as the output layer node. The experiment proves that the error between the predicted value of the constructed BP neural network model and the actual value is small, and the accuracy of the prediction is high, which can provide a basis for laptop sales planning and inventory management.
Key words: BP neural network; Pearson correlation coefficient; laptop sales; prediction
0 引言
近年來(lái),受到一些不可控因素的影響,筆記本電腦行業(yè)的出貨表現(xiàn)和銷售額走勢(shì)表現(xiàn)并不一致。2022年Q2季度全國(guó)筆記本電腦整體銷量約160萬(wàn)件,同比增長(zhǎng)約7%,整體銷售額約86億元,卻同比下滑1%左右。隨著人們購(gòu)物習(xí)慣的改變,淘寶、京東等電商平臺(tái)銷量大增,“618”、“雙11”等電商購(gòu)物節(jié)的優(yōu)惠力度更是刺激了筆記本電腦的市場(chǎng)需求。2022年6月份,京東平臺(tái)筆記本電腦月銷量超90萬(wàn)件,環(huán)比增長(zhǎng)150%;銷售額超48億元,環(huán)比增長(zhǎng)170%[1]。筆記本電腦產(chǎn)品的迭代更新很快,因此,為了控制庫(kù)存風(fēng)險(xiǎn)和制定銷售計(jì)劃,進(jìn)行筆記本電腦銷售預(yù)測(cè)就極具意義,可為庫(kù)存管理和銷售計(jì)劃的安排提供科學(xué)決策。
目前,針對(duì)銷售預(yù)測(cè)的方法有很多研究。王輝等提出了一種基于Stacking集成策略銷售預(yù)測(cè)方法,在多個(gè)機(jī)器學(xué)習(xí)的模型融合下減少了預(yù)測(cè)誤差[2]。滕寧宇等利用回歸法對(duì)銷售收入可以進(jìn)行很好的預(yù)測(cè)[3]。張志新等利用人工神經(jīng)網(wǎng)絡(luò)在網(wǎng)絡(luò)直播中預(yù)測(cè)銷量[4]。楊慶斗等分別構(gòu)建了普通線性回歸、Lasso回歸,以及BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模型對(duì)長(zhǎng)城汽車銷售量進(jìn)行預(yù)測(cè),結(jié)果發(fā)現(xiàn)BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)誤差最小[5]。周博軍等運(yùn)用BP神經(jīng)網(wǎng)絡(luò)模型對(duì)我國(guó)體育彩票銷售金額進(jìn)行預(yù)測(cè),預(yù)測(cè)的精準(zhǔn)度較高[6]。綜合來(lái)看,鑒于BP神經(jīng)網(wǎng)絡(luò)具有很強(qiáng)的非線性映射能力和柔性的網(wǎng)絡(luò)結(jié)構(gòu),相比其他方法,在銷售預(yù)測(cè)中的應(yīng)用相對(duì)較多,準(zhǔn)確度較高。本文采用BP神經(jīng)網(wǎng)絡(luò)的分析方法,利用聯(lián)想筆記本電腦在某電商店鋪的歷史銷售情況進(jìn)行預(yù)測(cè),為其提供銷售決策依據(jù)。
1 BP神經(jīng)網(wǎng)絡(luò)
BP(back propagation)神經(jīng)網(wǎng)絡(luò)是一種按照誤差逆向傳播算法訓(xùn)練的多層前饋神經(jīng)網(wǎng)絡(luò),在各種預(yù)測(cè)應(yīng)用中使用比較廣泛的算法, 是從對(duì)人腦神經(jīng)系統(tǒng)進(jìn)行模擬而建立起來(lái)的數(shù)學(xué)模型。人腦神經(jīng)網(wǎng)絡(luò)是由神經(jīng)元互聯(lián)而成的,能接收并處理信息,而信息處理主要是由神經(jīng)元之間的相互作用,即通過(guò)神經(jīng)元之間的連接權(quán)值來(lái)處理并實(shí)現(xiàn)的。如圖1所示,BP神經(jīng)網(wǎng)絡(luò)一般分為輸入層、隱含層和輸出層,其中輸入層為輸入的訓(xùn)練數(shù)據(jù),隱藏層一般具有一層或多層, 單層神經(jīng)網(wǎng)絡(luò)只能用于表示線性分離函數(shù),一般用于簡(jiǎn)單問(wèn)題,多個(gè)隱藏層可以用于擬合非線性函數(shù),由輸出層向外界輸出信息處理結(jié)果。這三層中的每一層只影響下一層的神經(jīng)元狀態(tài),若預(yù)期預(yù)測(cè)結(jié)果得不到期望輸出,網(wǎng)絡(luò)則進(jìn)行反向傳播。主要思路是輸入數(shù)據(jù),利用反向傳播算法不斷調(diào)整參數(shù),根據(jù)最終調(diào)整的參數(shù)建立模型。選擇合適的層數(shù)以及隱藏層節(jié)點(diǎn)數(shù),在很大程度上都會(huì)影響神經(jīng)網(wǎng)絡(luò)的性能。
2 BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練步驟
2.1 網(wǎng)絡(luò)初始化
如圖1所示,網(wǎng)絡(luò)輸入層的輸入為[x1…xn],隱含層節(jié)點(diǎn)為[H1…Hl],輸入層到隱含層的權(quán)重[wij],輸出層輸出為[O1…Om],隱含層到輸出層的權(quán)重為[wjk],輸入層到隱含層的偏置為[aj],隱含層到輸出層的偏置為[bk],其中激勵(lì)函數(shù)為[gx],取Sigmoid函數(shù)如公式⑴所示。
[gx=11+e-x]? ⑴
2.2 隱含層輸出
隱含層[H]的輸出如公式⑵所示。其中[x]表示輸入變量,[wij]、[aj]表示輸入層和隱含層間的連接權(quán)值及隱含層閾值,[H]是隱含層節(jié)點(diǎn)數(shù),[g]為隱含層激活函數(shù)。
[Hj=gi=1nwijxi+aj ,j=1,2,3,…,l]? ⑵
2.3 輸出層的輸出
輸出層O的輸出如公式⑶所示,其中[Hjwjk]和[bk]分別是連接權(quán)值和閾值。
[Ok=j=1lHjwjk+bk, k=1,2,3,…,m]? ⑶
2.4 誤差的計(jì)算
誤差如公式⑷所示,其中[Yk]是期望輸出值,[Ok]是實(shí)際輸出值。
[ek=Yk-Ok]? ⑷
2.5 權(quán)值更新
通過(guò)預(yù)測(cè)誤差值[e]對(duì)網(wǎng)絡(luò)連接權(quán)值更新,[η]為學(xué)習(xí)率,如公式⑸~公式⑻所示。
[wij=wij+ηHj(1-Hj)xik=1mwijek,i=1,2,3,…n;j=1,2,3,…,l] ⑸
[wjk=wjk+ηHjek,j=1,2,3,…l;k=1,2,3…,m]? ? ⑹
[aj=aj+ηHj1-Hjk=1mwjkek,j=1,2,3,…,l]? ?⑺
[bk=bk+ηek,k=1,2,3,…,m]? ⑻
最后判斷迭代是否可以結(jié)束,如果沒(méi)有結(jié)束,則返回第⑵步執(zhí)行,直到算法結(jié)束。
3 建立某網(wǎng)店的聯(lián)想筆記本銷售預(yù)測(cè)模型
3.1 輸入層和輸出層數(shù)據(jù)采集
收集了某網(wǎng)店2021年全年的銷售數(shù)據(jù)進(jìn)行整理,選擇了UV、收藏?cái)?shù)、加購(gòu)物車次數(shù)、客單價(jià)、支付轉(zhuǎn)化率、銷售額共六個(gè)特征變量,各特征變量的意義如下。
UV:訪問(wèn)網(wǎng)店的人數(shù)(獨(dú)立訪客),同一IP計(jì)算一次,UV數(shù)越大,說(shuō)明訪問(wèn)的人數(shù)增多,可能購(gòu)買的人數(shù)將增多,一般和銷售額成正向關(guān)系。
收藏?cái)?shù):商品收藏的用戶數(shù),商品的收藏?cái)?shù)越大,潛在購(gòu)買人數(shù)越多,一般和銷售額成正向關(guān)系。
客單價(jià):店鋪每一個(gè)顧客平均購(gòu)買商品的金額,即平均交易金額。客單價(jià)的計(jì)算公式是:客單價(jià)=銷售額÷成交顧客數(shù),一般和銷售額成正向關(guān)系。
支付轉(zhuǎn)化率:所選時(shí)間內(nèi)訪客轉(zhuǎn)化為支付買家的比例,支付轉(zhuǎn)化率=支付買家數(shù)÷訪客數(shù),一般和銷售額成正向關(guān)系。
銷售額:?jiǎn)挝粫r(shí)間內(nèi)銷售的金額。
3.2 特征變量相關(guān)性分析
項(xiàng)目采用Pearson相關(guān)系數(shù)來(lái)分析輸入層各節(jié)點(diǎn)和輸出層銷售額之間的相關(guān)性。Pearson相關(guān)系數(shù)是一種反映兩個(gè)變量線性相關(guān)程度的統(tǒng)計(jì)量,兩個(gè)變量的線性相關(guān)程度用相關(guān)系數(shù)r表示,計(jì)算如公式⑼所示,其中公式⑽表示X的離均差平方和,公式⑾表示Y的離均差平方和。公式⑿表示表示X與Y的離均差平方和。
[r=(X-X)(Y-Y)(X-X)2(Y-Y)2=lXYlXXlXY]? ?⑼
[lXX=(X-X)2=X2-(X)2n]? ⑽
[lYY=(Y-Y)2=Y2-(Y)2n]? ⑾
[lXY=(X-X)(Y-Y)=XY-(X)(Y)n]? ⑿
通過(guò)MATLAB編程計(jì)算,得到訪客數(shù)UV等五個(gè)變量和銷售額的相關(guān)系數(shù)r值,如表1所示。相關(guān)系數(shù)r簡(jiǎn)單的分類如表2所示。
從表1和表2中對(duì)比可知,UV、收藏?cái)?shù)、加購(gòu)物車次數(shù)三個(gè)變量和銷售額相關(guān)性極強(qiáng),支付轉(zhuǎn)化率和銷售額相關(guān)性強(qiáng),客單價(jià)和銷售額中等程度相關(guān),因此,選擇UV、收藏?cái)?shù)、加購(gòu)物車次數(shù)、客單價(jià)、支付轉(zhuǎn)化率等五個(gè)變量作為BP神經(jīng)網(wǎng)絡(luò)的輸入層節(jié)點(diǎn)數(shù)據(jù),將銷售額作為輸出層數(shù)據(jù)。
3.3 數(shù)據(jù)歸一化處理
銷售預(yù)測(cè)模型將每周的UV、收藏?cái)?shù)、加購(gòu)物車次數(shù)、客單價(jià)、支付轉(zhuǎn)化率五個(gè)變量作為輸入變量,銷售額作為輸出變量,為避免各個(gè)輸入變量的數(shù)量級(jí)差異過(guò)大,影響求解算法的效果,需要對(duì)數(shù)據(jù)進(jìn)行歸一化處理,采用公式⒀處理。
[x1=x0-xminxmax-xmin]? ? ⑶
其中,[x0]表示原始值,[xmin]表示所有變量中的最大值,[xmax]表示所有變量中的最小值,[x1]表示歸一化后的變量值,計(jì)算后所有變量的取值范圍是[0,1]。某網(wǎng)店2021年52個(gè)周銷售數(shù)據(jù)歸一化后部分?jǐn)?shù)據(jù)如表3所示。
3.4 BP神經(jīng)網(wǎng)絡(luò)隱藏層神經(jīng)元確立
本項(xiàng)目為單隱藏層,隱藏層神經(jīng)元節(jié)點(diǎn)數(shù)在很大程度上將影響神經(jīng)網(wǎng)絡(luò)的性能,但節(jié)點(diǎn)數(shù)選擇沒(méi)有統(tǒng)一的標(biāo)準(zhǔn),當(dāng)節(jié)點(diǎn)數(shù)過(guò)少時(shí),訓(xùn)練只能通過(guò)經(jīng)驗(yàn)得出的公式來(lái)確定,通常采用公式⒁確定。其中[n]和[l]分別為輸入層、輸出層節(jié)點(diǎn)數(shù),[a]為0到10之間的調(diào)節(jié)常數(shù),通過(guò)計(jì)算,得到隱藏層神經(jīng)元節(jié)點(diǎn)個(gè)數(shù)[m]的值為3-13之間。
[m=n+l+a]? ⒁
為選擇最優(yōu)的節(jié)點(diǎn)數(shù),依次按照不同的節(jié)點(diǎn)數(shù)進(jìn)行模型訓(xùn)練,得到如表4所示結(jié)果,確定最佳隱含層的神經(jīng)元個(gè)數(shù)為4,此時(shí)MSE(均方誤差)最小為0.0008。
3.5 MATLAB模擬仿真
使用MATLAB進(jìn)行網(wǎng)絡(luò)模型訓(xùn)練,模型的輸入節(jié)點(diǎn)數(shù)為5,輸出節(jié)點(diǎn)數(shù)1,隱含層神經(jīng)元節(jié)點(diǎn)數(shù)為4。劃分訓(xùn)練集占比70%,共36個(gè)樣本數(shù);驗(yàn)證集占比15%,共八個(gè)樣本數(shù);測(cè)試集占比15%,共八個(gè)樣本數(shù)。采用levenberg-Marquardt算法作為訓(xùn)練算法,使用MSE衡量網(wǎng)路性能,網(wǎng)絡(luò)允許迭代的次數(shù)最大1000,實(shí)際迭代10次,最大誤差為0.386,實(shí)際誤差0.000211,網(wǎng)絡(luò)性能良好,具有參考性。如圖2所示,在數(shù)據(jù)仿真過(guò)程中,得到在迭代次數(shù)為4時(shí)輸出性能最佳,輸出誤差為0.00081633,超出期望輸出,訓(xùn)練的效果良好。
從圖3中可以看出訓(xùn)練過(guò)程中下降梯度和步長(zhǎng)的變化,呈遞減趨勢(shì),迭代到10次時(shí)梯度下降為0.00015751。表明隨著訓(xùn)練次數(shù)的增加,總體誤差隨之下降并趨于穩(wěn)定,動(dòng)量因子為10-5。
圖4體現(xiàn)模型擬合優(yōu)度,確定系數(shù)R的最大值為1,計(jì)算得出的值越接近1,擬合效果越好。訓(xùn)練集擬合值R=0.99835,驗(yàn)證集擬合值R=0.97962,測(cè)試集擬合值R=0.96214,全部數(shù)據(jù)的擬合值R=0.99685,說(shuō)明擬合的效果很好,可以用于預(yù)測(cè)。
4 預(yù)測(cè)和結(jié)果分析
依據(jù)項(xiàng)目建立的BP神經(jīng)網(wǎng)絡(luò)模型進(jìn)行預(yù)測(cè),輸入店鋪2022年前八周的銷售數(shù)據(jù),得到如表5所示的預(yù)測(cè)值。通過(guò)和實(shí)際銷售額進(jìn)行對(duì)比,相對(duì)誤差都在±10%以內(nèi),預(yù)測(cè)效果優(yōu)良,進(jìn)一步驗(yàn)證了預(yù)測(cè)模型的輸入變量和輸出變量之間的關(guān)系信度高。UV、收藏次數(shù)、加購(gòu)數(shù)、客單價(jià)、轉(zhuǎn)化率對(duì)店鋪銷售額的影響較大。
5 小結(jié)
本文構(gòu)建了一個(gè)BP神經(jīng)網(wǎng)絡(luò)模型,進(jìn)行某店鋪的聯(lián)想筆記本電腦銷售預(yù)測(cè),采集了2021年52個(gè)周的輸入層和輸出層數(shù)據(jù),然后利用Pearson相關(guān)系數(shù)來(lái)分析輸入層各節(jié)點(diǎn)和輸出層銷售額之間的相關(guān)性,確定了訪客數(shù)UV、收藏?cái)?shù)、加購(gòu)物車次數(shù)、客單價(jià)和支付轉(zhuǎn)化率五個(gè)輸入變量,銷售額作為輸出變量,并對(duì)數(shù)據(jù)進(jìn)行歸一化處理,通過(guò)經(jīng)驗(yàn)公式確定了隱含層節(jié)點(diǎn)數(shù)范圍,并通過(guò)實(shí)驗(yàn)進(jìn)一步確定個(gè)數(shù)為4,利用MATLAB進(jìn)行仿真訓(xùn)練,實(shí)驗(yàn)結(jié)果表明,模型的訓(xùn)練效果好。最后應(yīng)用建立的模型對(duì)2022年前十周銷售數(shù)據(jù)進(jìn)行預(yù)測(cè),發(fā)現(xiàn)相對(duì)誤差小,對(duì)于商家安排銷售計(jì)劃、營(yíng)銷方案等有重要的參考價(jià)值。
參考文獻(xiàn)(References):
[1] 鯨參謀電商大數(shù)據(jù).Q2季度筆記本電腦品牌銷售排行榜[EB/OL].https://baijiahao.baidu.com/s?id=1740767060910980942.2022-08-10.
[2] 王輝,李昌剛.Stacking集成學(xué)習(xí)方法在銷售預(yù)測(cè)中的應(yīng)用[J].計(jì)算機(jī)應(yīng)用與軟件,2020,37(8):85-90
[3] 滕寧宇,馮潤(rùn)莜,趙智鈺,等.回歸分析法在銷售預(yù)測(cè)中的應(yīng)用[J].中國(guó)鄉(xiāng)鎮(zhèn)企業(yè)會(huì)計(jì),2019(12):107-109
[4] 張志新,石文奇,程凡,等.基于BP神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)直播皮革服裝銷量預(yù)測(cè)[J].皮革與化工,2021,38(3):26-30
[5] 楊慶斗.基于BP神經(jīng)網(wǎng)絡(luò)的長(zhǎng)城汽車銷售量預(yù)測(cè)研究[D].碩士,天津財(cái)經(jīng)大學(xué),2020
[6] 周博軍,王旺,黃俊達(dá),等.基于BP神經(jīng)網(wǎng)絡(luò)對(duì)中國(guó)體育彩票銷售金額的預(yù)測(cè)[J].體育教育學(xué)刊,2022,38(2):46-50