徐時(shí)偉
(溫州職業(yè)技術(shù)學(xué)院 信息技術(shù)系,浙江 溫州 325035)
在隱形眼鏡銷售鏈中,上游批發(fā)商、下游零售商以小企業(yè)或個(gè)體戶為主,受管理水平與資金所限,所使用的銷售管理軟件功能較為簡(jiǎn)單,僅有進(jìn)銷存記錄與客戶管理等基本功能,缺乏數(shù)據(jù)分析及預(yù)測(cè)功能。這類軟件以單機(jī)版居多,易造成銷售鏈上下游的數(shù)據(jù)互相孤立,上游無法根據(jù)下游經(jīng)營(yíng)預(yù)期及時(shí)調(diào)整庫存與供貨。基于此,對(duì)隱形眼鏡銷量進(jìn)行分析與預(yù)測(cè),對(duì)上下游商家均有重要意義。
在銷量預(yù)測(cè)研究方面,比較成熟的技術(shù)有線性回歸、ARIMA等時(shí)間序列模型,但模型中缺少對(duì)外部因素的考慮。隨著人工智能的發(fā)展,神經(jīng)網(wǎng)絡(luò)被應(yīng)用于復(fù)雜的非線性回歸問題[1],但需要足夠多的樣本,且存在易過擬合、推廣能力差等缺點(diǎn)。SVR(Supported Vector Regression)是一種基于統(tǒng)計(jì)學(xué)習(xí)理論的機(jī)器學(xué)習(xí)方法,彌補(bǔ)了神經(jīng)網(wǎng)絡(luò)的缺點(diǎn),適用于小樣本情況下的多維非線性回歸預(yù)測(cè)問題[2]。本文提出一種基于SVR的隱形眼鏡銷量預(yù)測(cè)方法,并應(yīng)用于“云鏡”在線隱形眼鏡進(jìn)銷存管理系統(tǒng)[3]。該系統(tǒng)以“打通上下游,構(gòu)建直采生態(tài)”為特色,為本文實(shí)驗(yàn)提供了原始數(shù)據(jù),而其研究結(jié)果又有助于該系統(tǒng)上下游商家提升精細(xì)化管理水平。
原“云鏡”系統(tǒng)包括進(jìn)銷存管理、客戶管理、采購(gòu)管理、數(shù)據(jù)分析報(bào)表等4個(gè)模塊,將基于SVR的隱形眼鏡銷量預(yù)測(cè)模塊與之集成后,系統(tǒng)結(jié)構(gòu)如圖1所示?;赟VR的隱形眼鏡銷量預(yù)測(cè)模塊在每日凌晨系統(tǒng)空閑時(shí)段讀取數(shù)據(jù)庫中數(shù)據(jù)進(jìn)行離線預(yù)測(cè),將結(jié)果寫回?cái)?shù)據(jù)庫。下游零售商訪問數(shù)據(jù)分析報(bào)表模塊,可查看其店鋪中各品牌隱形眼鏡的銷量預(yù)測(cè)結(jié)果,而上游批發(fā)商則可查看與之有采購(gòu)關(guān)系的零售商銷量預(yù)測(cè)結(jié)果總和。
圖1 隱形眼鏡銷量預(yù)測(cè)系統(tǒng)結(jié)構(gòu)
本文對(duì)“云鏡”系統(tǒng)中每個(gè)零售商的每個(gè)隱形眼鏡品牌進(jìn)行銷量預(yù)測(cè)。隱形眼鏡銷量預(yù)測(cè)模塊流程如圖2所示。從數(shù)據(jù)庫中讀取預(yù)測(cè)所需的原始數(shù)據(jù),經(jīng)過模糊化和歸一化等預(yù)處理,然后從中提取特征向量,進(jìn)行SVR,最后得到預(yù)測(cè)結(jié)果并寫回?cái)?shù)據(jù)庫。
圖2 隱形眼鏡銷量預(yù)測(cè)模塊流程
Vapnik等提出的支持向量算法,以結(jié)構(gòu)風(fēng)險(xiǎn)最小化為目標(biāo),克服了神經(jīng)網(wǎng)絡(luò)可能出現(xiàn)的局部極小、過學(xué)習(xí)等問題[4]。支持向量算法在文本分類、模式識(shí)別等分類問題領(lǐng)域應(yīng)用廣泛,在回歸預(yù)測(cè)領(lǐng)域也有應(yīng)用場(chǎng)景。其基本思想是:通過非線性映射,把樣本空間映射到一個(gè)高維特征空間,使得在特征空間中可應(yīng)用線性學(xué)習(xí)機(jī)的方法解決樣本空間中的高度非線性分類和回歸問題[5]。具體到回歸預(yù)測(cè)領(lǐng)域,假設(shè)有一個(gè)訓(xùn)練樣本數(shù)據(jù)集(x1,y1,)(x2,y1,) …, (xn,yn),其中xi∈RN為N維輸入向量,yi∈R為目標(biāo)值。我們希望學(xué)習(xí)到一個(gè)函數(shù)f(x)=wgΦ(x)+b,使其與y盡可能接近,其中Φ(x)為從RN空間到高維空間的某種非線性變換。尋找最優(yōu)f(x)的問題可轉(zhuǎn)化為:
其中,It( )為損失函數(shù),C為懲罰參數(shù)。引入松弛變量和,可轉(zhuǎn)化為:
引入拉格朗日乘子,得到對(duì)偶問題,求解后得到回歸函數(shù)為:
為了簡(jiǎn)化計(jì)算,用樣本空間中滿足Mercer條件的核函數(shù)K(xi, x)代替高維空間中的內(nèi)積運(yùn)算,(3)式可轉(zhuǎn)化為:
本文考慮隱形眼鏡銷售特點(diǎn),綜合“云鏡”系統(tǒng)用戶的調(diào)查反饋意見,選擇代表內(nèi)部因素和外部因素的多個(gè)特征向量。其內(nèi)部因素為前N個(gè)周期的銷量x1, x2, x3, …, xN;外部因素包括月份xmonth、當(dāng)前周期是否有節(jié)假日xholiday、當(dāng)前周期是否有促銷活動(dòng)xonsale、接近過期比例xexprate。因特征向量中含有非數(shù)值變量,且不同類型的變量量綱不同,在進(jìn)行SVR訓(xùn)練前,需要對(duì)數(shù)據(jù)進(jìn)行模糊化和歸一化處理,即:
對(duì)于一家零售商,假設(shè)其在售的隱形眼鏡品牌數(shù)為m,第j個(gè)品牌的銷量預(yù)測(cè)值為p1,j,p2,j,…,pn,j及實(shí)際值為o1,j,o2,j,…,on,j,其中n為周期數(shù)。定義預(yù)測(cè)誤差的計(jì)算公式為:
第j個(gè)品牌的單品牌預(yù)測(cè)誤差為:
全品牌預(yù)測(cè)誤差為:
每個(gè)零售商依(9)、(10)式計(jì)算后取平均值,作為全部零售商的整體預(yù)測(cè)誤差。
以“云鏡”系統(tǒng)中的銷售數(shù)據(jù)為基礎(chǔ),進(jìn)行訓(xùn)練與預(yù)測(cè)實(shí)驗(yàn)。以一個(gè)星期為周期,將系統(tǒng)中所有隱形眼鏡零售商近兩年共96個(gè)周期的銷售數(shù)據(jù)作為樣本集,選取前72個(gè)周期用于訓(xùn)練,后24個(gè)周期用于測(cè)試。使用Python機(jī)器學(xué)習(xí)工具包scikit-learn,核函數(shù)選用徑向基函數(shù),進(jìn)行單品牌測(cè)試和全品牌測(cè)試,依(9)、( 10)式計(jì)算各測(cè)試誤差。
在SVR中,特征向量的選擇會(huì)影響預(yù)測(cè)準(zhǔn)確度。在實(shí)驗(yàn)中,先選擇銷量最大零售商,針對(duì)特征向量中內(nèi)部因素和外部因素,分別選取不同的參數(shù)或組合進(jìn)行模型訓(xùn)練,比較誤差結(jié)果,確定最優(yōu)特征向量;然后再對(duì)全部零售商進(jìn)行銷量預(yù)測(cè),分析整體預(yù)測(cè)誤差。本實(shí)驗(yàn)的原始數(shù)據(jù)為銷量最大零售商和全部零售商的某3種典型品牌隱形眼鏡銷售數(shù)據(jù)(見表1~表2)。
表1 銷量最大零售商的3種品牌隱形眼鏡銷售數(shù)據(jù)
表2 全部零售商的3種品牌隱形眼鏡銷售數(shù)據(jù)
單品牌測(cè)試與全品牌測(cè)試中,誤差隨歷史周期數(shù)N變化的關(guān)系見表3。由表3可知,N太小,則不能有效體現(xiàn)近期銷量的影響;N太大,則存在信息冗余。因此,選擇N=6進(jìn)行后續(xù)實(shí)驗(yàn)。
表3 3種品牌隱形眼鏡銷量預(yù)測(cè)誤差—?dú)v史周期數(shù) N 變化的關(guān)系
單品牌測(cè)試與全品牌測(cè)試中,不同外部因素組合對(duì)誤差的影響見表4。由表4可知,加入月份會(huì)增加預(yù)測(cè)誤差,加入節(jié)假日信息對(duì)預(yù)測(cè)結(jié)果影響不大。是否有促銷、接近過期比例能減小預(yù)測(cè)誤差,且二者組合能取得相對(duì)較好的結(jié)果。
表4 3種品牌隱形眼鏡銷量預(yù)測(cè)誤差—外部因素組合關(guān)系
經(jīng)過實(shí)驗(yàn)篩選,確定最優(yōu)特征向量。為了進(jìn)一步檢驗(yàn)該方法的準(zhǔn)確性,采用線性回歸方法、ARIMA方法進(jìn)行隱形眼鏡銷量預(yù)測(cè),比較不同方法的品牌隱形眼鏡銷量整體預(yù)測(cè)誤差(見表5)。由表5可知,基于SVR的隱形眼鏡銷量預(yù)測(cè)方法的誤差比線性回歸方法降低34.99%[(0.3475—0.2259)/0.3475],比ARIMA方法降低33.17%[(0.3380—0.2259)/0.3380]。
表5 不同方法的3種品牌隱形眼鏡銷量整體預(yù)測(cè)誤差
本文提出一種基于SVR的隱形眼鏡銷量預(yù)測(cè)方法,并應(yīng)用于“云鏡”在線隱形眼鏡進(jìn)銷存管理系統(tǒng)中,對(duì)系統(tǒng)中各零售商的品牌隱形眼鏡銷量進(jìn)行預(yù)測(cè)實(shí)驗(yàn)。實(shí)驗(yàn)結(jié)果表明,該方法相較于線性回歸方法、ARIMA方法,預(yù)測(cè)誤差最小,將有助于上下游商家合理安排采購(gòu)計(jì)劃及庫存,提升精細(xì)化管理水平。同時(shí),該方法綜合考慮了時(shí)間序列這一內(nèi)部因素和影響經(jīng)營(yíng)的諸多外部因素,且借助SVR的小樣本適應(yīng)性,較好地實(shí)現(xiàn)了歷史數(shù)據(jù)較少情形下的回歸預(yù)測(cè)。對(duì)于具有類似特點(diǎn)的預(yù)測(cè)問題,均可采用該方法。如其他商品的銷量預(yù)測(cè),可取近期銷量數(shù)據(jù)作為內(nèi)部因素,并結(jié)合該商品經(jīng)營(yíng)特點(diǎn),引入多種可能影響銷量的外部因素,通過實(shí)驗(yàn)篩選,確定最優(yōu)特征向量。為了進(jìn)一步提升預(yù)測(cè)的準(zhǔn)確性,下一步研究將嘗試人工智能領(lǐng)域的新算法,如深度學(xué)習(xí)等的應(yīng)用。