李向東 劉清華 陳靜
摘? 要: 針對筆記本電腦銷售的不確定性,利用BP神經(jīng)網(wǎng)絡(luò)算法構(gòu)建模型,采用MATLAB對某店鋪的2021年筆記本電腦的銷售數(shù)據(jù)進(jìn)行了網(wǎng)絡(luò)訓(xùn)練,通過Pearson相關(guān)系數(shù)來分析輸入層各節(jié)點(diǎn)和輸出層銷售額之間的相關(guān)性,確定了訪客數(shù)UV、收藏?cái)?shù)、加購物車次數(shù)、客單價和支付轉(zhuǎn)化率等5個輸入層節(jié)點(diǎn),銷售額為輸出層節(jié)點(diǎn)。實(shí)驗(yàn)證明了構(gòu)建的BP神經(jīng)網(wǎng)絡(luò)模型預(yù)測值和實(shí)際值誤差小,預(yù)測準(zhǔn)確度高,可為筆記本電腦銷售計(jì)劃安排及庫存管理提供依據(jù)。
關(guān)鍵詞: BP神經(jīng)網(wǎng)絡(luò); Pearson相關(guān)系數(shù); 筆記本銷售; 預(yù)測
中圖分類號:TP183? ? ? ? ? 文獻(xiàn)標(biāo)識碼:A? ? ?文章編號: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 引言
近年來,受到一些不可控因素的影響,筆記本電腦行業(yè)的出貨表現(xiàn)和銷售額走勢表現(xiàn)并不一致。2022年Q2季度全國筆記本電腦整體銷量約160萬件,同比增長約7%,整體銷售額約86億元,卻同比下滑1%左右。隨著人們購物習(xí)慣的改變,淘寶、京東等電商平臺銷量大增,“618”、“雙11”等電商購物節(jié)的優(yōu)惠力度更是刺激了筆記本電腦的市場需求。2022年6月份,京東平臺筆記本電腦月銷量超90萬件,環(huán)比增長150%;銷售額超48億元,環(huán)比增長170%[1]。筆記本電腦產(chǎn)品的迭代更新很快,因此,為了控制庫存風(fēng)險和制定銷售計(jì)劃,進(jìn)行筆記本電腦銷售預(yù)測就極具意義,可為庫存管理和銷售計(jì)劃的安排提供科學(xué)決策。
目前,針對銷售預(yù)測的方法有很多研究。王輝等提出了一種基于Stacking集成策略銷售預(yù)測方法,在多個機(jī)器學(xué)習(xí)的模型融合下減少了預(yù)測誤差[2]。滕寧宇等利用回歸法對銷售收入可以進(jìn)行很好的預(yù)測[3]。張志新等利用人工神經(jīng)網(wǎng)絡(luò)在網(wǎng)絡(luò)直播中預(yù)測銷量[4]。楊慶斗等分別構(gòu)建了普通線性回歸、Lasso回歸,以及BP神經(jīng)網(wǎng)絡(luò)預(yù)測模型對長城汽車銷售量進(jìn)行預(yù)測,結(jié)果發(fā)現(xiàn)BP神經(jīng)網(wǎng)絡(luò)預(yù)測誤差最小[5]。周博軍等運(yùn)用BP神經(jīng)網(wǎng)絡(luò)模型對我國體育彩票銷售金額進(jìn)行預(yù)測,預(yù)測的精準(zhǔn)度較高[6]。綜合來看,鑒于BP神經(jīng)網(wǎng)絡(luò)具有很強(qiáng)的非線性映射能力和柔性的網(wǎng)絡(luò)結(jié)構(gòu),相比其他方法,在銷售預(yù)測中的應(yīng)用相對較多,準(zhǔn)確度較高。本文采用BP神經(jīng)網(wǎng)絡(luò)的分析方法,利用聯(lián)想筆記本電腦在某電商店鋪的歷史銷售情況進(jìn)行預(yù)測,為其提供銷售決策依據(jù)。
1 BP神經(jīng)網(wǎng)絡(luò)
BP(back propagation)神經(jīng)網(wǎng)絡(luò)是一種按照誤差逆向傳播算法訓(xùn)練的多層前饋神經(jīng)網(wǎng)絡(luò),在各種預(yù)測應(yīng)用中使用比較廣泛的算法, 是從對人腦神經(jīng)系統(tǒng)進(jìn)行模擬而建立起來的數(shù)學(xué)模型。人腦神經(jīng)網(wǎng)絡(luò)是由神經(jīng)元互聯(lián)而成的,能接收并處理信息,而信息處理主要是由神經(jīng)元之間的相互作用,即通過神經(jīng)元之間的連接權(quán)值來處理并實(shí)現(xiàn)的。如圖1所示,BP神經(jīng)網(wǎng)絡(luò)一般分為輸入層、隱含層和輸出層,其中輸入層為輸入的訓(xùn)練數(shù)據(jù),隱藏層一般具有一層或多層, 單層神經(jīng)網(wǎng)絡(luò)只能用于表示線性分離函數(shù),一般用于簡單問題,多個隱藏層可以用于擬合非線性函數(shù),由輸出層向外界輸出信息處理結(jié)果。這三層中的每一層只影響下一層的神經(jīng)元狀態(tài),若預(yù)期預(yù)測結(jié)果得不到期望輸出,網(wǎng)絡(luò)則進(jìn)行反向傳播。主要思路是輸入數(shù)據(jù),利用反向傳播算法不斷調(diào)整參數(shù),根據(jù)最終調(diào)整的參數(shù)建立模型。選擇合適的層數(shù)以及隱藏層節(jié)點(diǎn)數(shù),在很大程度上都會影響神經(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],其中激勵函數(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)值更新
通過預(yù)測誤差值[e]對網(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é)束,如果沒有結(jié)束,則返回第⑵步執(zhí)行,直到算法結(jié)束。
3 建立某網(wǎng)店的聯(lián)想筆記本銷售預(yù)測模型
3.1 輸入層和輸出層數(shù)據(jù)采集
收集了某網(wǎng)店2021年全年的銷售數(shù)據(jù)進(jìn)行整理,選擇了UV、收藏?cái)?shù)、加購物車次數(shù)、客單價、支付轉(zhuǎn)化率、銷售額共六個特征變量,各特征變量的意義如下。
UV:訪問網(wǎng)店的人數(shù)(獨(dú)立訪客),同一IP計(jì)算一次,UV數(shù)越大,說明訪問的人數(shù)增多,可能購買的人數(shù)將增多,一般和銷售額成正向關(guān)系。
收藏?cái)?shù):商品收藏的用戶數(shù),商品的收藏?cái)?shù)越大,潛在購買人數(shù)越多,一般和銷售額成正向關(guān)系。
客單價:店鋪每一個顧客平均購買商品的金額,即平均交易金額。客單價的計(jì)算公式是:客單價=銷售額÷成交顧客數(shù),一般和銷售額成正向關(guān)系。
支付轉(zhuǎn)化率:所選時間內(nèi)訪客轉(zhuǎn)化為支付買家的比例,支付轉(zhuǎn)化率=支付買家數(shù)÷訪客數(shù),一般和銷售額成正向關(guān)系。
銷售額:單位時間內(nèi)銷售的金額。
3.2 特征變量相關(guān)性分析
項(xiàng)目采用Pearson相關(guān)系數(shù)來分析輸入層各節(jié)點(diǎn)和輸出層銷售額之間的相關(guān)性。Pearson相關(guān)系數(shù)是一種反映兩個變量線性相關(guān)程度的統(tǒng)計(jì)量,兩個變量的線性相關(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]? ⑿
通過MATLAB編程計(jì)算,得到訪客數(shù)UV等五個變量和銷售額的相關(guān)系數(shù)r值,如表1所示。相關(guān)系數(shù)r簡單的分類如表2所示。
從表1和表2中對比可知,UV、收藏?cái)?shù)、加購物車次數(shù)三個變量和銷售額相關(guān)性極強(qiáng),支付轉(zhuǎn)化率和銷售額相關(guān)性強(qiáng),客單價和銷售額中等程度相關(guān),因此,選擇UV、收藏?cái)?shù)、加購物車次數(shù)、客單價、支付轉(zhuǎn)化率等五個變量作為BP神經(jīng)網(wǎng)絡(luò)的輸入層節(jié)點(diǎn)數(shù)據(jù),將銷售額作為輸出層數(shù)據(jù)。
3.3 數(shù)據(jù)歸一化處理
銷售預(yù)測模型將每周的UV、收藏?cái)?shù)、加購物車次數(shù)、客單價、支付轉(zhuǎn)化率五個變量作為輸入變量,銷售額作為輸出變量,為避免各個輸入變量的數(shù)量級差異過大,影響求解算法的效果,需要對數(shù)據(jù)進(jìn)行歸一化處理,采用公式⒀處理。
[x1=x0-xminxmax-xmin]? ? ⑶
其中,[x0]表示原始值,[xmin]表示所有變量中的最大值,[xmax]表示所有變量中的最小值,[x1]表示歸一化后的變量值,計(jì)算后所有變量的取值范圍是[0,1]。某網(wǎng)店2021年52個周銷售數(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ù)選擇沒有統(tǒng)一的標(biāo)準(zhǔn),當(dāng)節(jié)點(diǎn)數(shù)過少時,訓(xùn)練只能通過經(jīng)驗(yàn)得出的公式來確定,通常采用公式⒁確定。其中[n]和[l]分別為輸入層、輸出層節(jié)點(diǎn)數(shù),[a]為0到10之間的調(diào)節(jié)常數(shù),通過計(jì)算,得到隱藏層神經(jīng)元節(jié)點(diǎn)個數(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)元個數(shù)為4,此時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個樣本數(shù);驗(yàn)證集占比15%,共八個樣本數(shù);測試集占比15%,共八個樣本數(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ù)仿真過程中,得到在迭代次數(shù)為4時輸出性能最佳,輸出誤差為0.00081633,超出期望輸出,訓(xùn)練的效果良好。
從圖3中可以看出訓(xùn)練過程中下降梯度和步長的變化,呈遞減趨勢,迭代到10次時梯度下降為0.00015751。表明隨著訓(xùn)練次數(shù)的增加,總體誤差隨之下降并趨于穩(wěn)定,動量因子為10-5。
圖4體現(xiàn)模型擬合優(yōu)度,確定系數(shù)R的最大值為1,計(jì)算得出的值越接近1,擬合效果越好。訓(xùn)練集擬合值R=0.99835,驗(yàn)證集擬合值R=0.97962,測試集擬合值R=0.96214,全部數(shù)據(jù)的擬合值R=0.99685,說明擬合的效果很好,可以用于預(yù)測。
4 預(yù)測和結(jié)果分析
依據(jù)項(xiàng)目建立的BP神經(jīng)網(wǎng)絡(luò)模型進(jìn)行預(yù)測,輸入店鋪2022年前八周的銷售數(shù)據(jù),得到如表5所示的預(yù)測值。通過和實(shí)際銷售額進(jìn)行對比,相對誤差都在±10%以內(nèi),預(yù)測效果優(yōu)良,進(jìn)一步驗(yàn)證了預(yù)測模型的輸入變量和輸出變量之間的關(guān)系信度高。UV、收藏次數(shù)、加購數(shù)、客單價、轉(zhuǎn)化率對店鋪銷售額的影響較大。
5 小結(jié)
本文構(gòu)建了一個BP神經(jīng)網(wǎng)絡(luò)模型,進(jìn)行某店鋪的聯(lián)想筆記本電腦銷售預(yù)測,采集了2021年52個周的輸入層和輸出層數(shù)據(jù),然后利用Pearson相關(guān)系數(shù)來分析輸入層各節(jié)點(diǎn)和輸出層銷售額之間的相關(guān)性,確定了訪客數(shù)UV、收藏?cái)?shù)、加購物車次數(shù)、客單價和支付轉(zhuǎn)化率五個輸入變量,銷售額作為輸出變量,并對數(shù)據(jù)進(jìn)行歸一化處理,通過經(jīng)驗(yàn)公式確定了隱含層節(jié)點(diǎn)數(shù)范圍,并通過實(shí)驗(yàn)進(jìn)一步確定個數(shù)為4,利用MATLAB進(jìn)行仿真訓(xùn)練,實(shí)驗(yàn)結(jié)果表明,模型的訓(xùn)練效果好。最后應(yīng)用建立的模型對2022年前十周銷售數(shù)據(jù)進(jìn)行預(yù)測,發(fā)現(xiàn)相對誤差小,對于商家安排銷售計(jì)劃、營銷方案等有重要的參考價值。
參考文獻(xiàn)(References):
[1] 鯨參謀電商大數(shù)據(jù).Q2季度筆記本電腦品牌銷售排行榜[EB/OL].https://baijiahao.baidu.com/s?id=1740767060910980942.2022-08-10.
[2] 王輝,李昌剛.Stacking集成學(xué)習(xí)方法在銷售預(yù)測中的應(yīng)用[J].計(jì)算機(jī)應(yīng)用與軟件,2020,37(8):85-90
[3] 滕寧宇,馮潤莜,趙智鈺,等.回歸分析法在銷售預(yù)測中的應(yīng)用[J].中國鄉(xiāng)鎮(zhèn)企業(yè)會計(jì),2019(12):107-109
[4] 張志新,石文奇,程凡,等.基于BP神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)直播皮革服裝銷量預(yù)測[J].皮革與化工,2021,38(3):26-30
[5] 楊慶斗.基于BP神經(jīng)網(wǎng)絡(luò)的長城汽車銷售量預(yù)測研究[D].碩士,天津財(cái)經(jīng)大學(xué),2020
[6] 周博軍,王旺,黃俊達(dá),等.基于BP神經(jīng)網(wǎng)絡(luò)對中國體育彩票銷售金額的預(yù)測[J].體育教育學(xué)刊,2022,38(2):46-50