張楊航 ,呂 鋒*,李鋒軍,張雷雷,蘇建新
(1.河南科技大學(xué) 機(jī)電工程學(xué)院,河南 洛陽(yáng) 471003;2.第一拖拉機(jī)股份有限公司,河南 洛陽(yáng) 471004)
農(nóng)機(jī)裝備是“中國(guó)制造2025”戰(zhàn)略的十大重點(diǎn)領(lǐng)域之一,是支撐我國(guó)農(nóng)業(yè)生產(chǎn)和發(fā)展的重要基礎(chǔ)和戰(zhàn)略性產(chǎn)業(yè)。 農(nóng)機(jī)裝備市場(chǎng)需求量季節(jié)性變化明顯,需求高峰月份與低谷月份的銷(xiāo)量差別巨大。準(zhǔn)確預(yù)測(cè)農(nóng)機(jī)裝備銷(xiāo)量是整個(gè)農(nóng)機(jī)裝備企業(yè)供應(yīng)鏈管理中的重要環(huán)節(jié),利于企業(yè)合理制定生產(chǎn)計(jì)劃,可減少需求高峰期“斷供”或積壓過(guò)多庫(kù)存造成的損失。拖拉機(jī)作為各類(lèi)農(nóng)機(jī)裝備的動(dòng)力源, 具有適用范圍廣泛的優(yōu)勢(shì),同時(shí)政策補(bǔ)貼力度較大,是農(nóng)機(jī)裝備市場(chǎng)的熱點(diǎn)。 相比于小型拖拉機(jī),大型拖拉機(jī)生產(chǎn)難度較大、造價(jià)較高且更適于土地流轉(zhuǎn)后集中連片作業(yè),因此,針對(duì)大型拖拉機(jī)的銷(xiāo)量預(yù)測(cè)具有重要意義。
傳統(tǒng)銷(xiāo)量預(yù)測(cè)研究集中于時(shí)間序列模型和回歸預(yù)測(cè)模型應(yīng)用研究, 例如移動(dòng)平均法、 指數(shù)平滑法、ARMA 法、多元回歸法,這些銷(xiāo)量預(yù)測(cè)模型在電商、汽車(chē)等多個(gè)領(lǐng)域得到了廣泛的應(yīng)用[1-2]。 與其他產(chǎn)品相比, 大型拖拉機(jī)銷(xiāo)量受經(jīng)濟(jì)環(huán)境和補(bǔ)貼政策影響較大,時(shí)間序列模型僅能識(shí)別自身過(guò)去或滯后值之間的內(nèi)在關(guān)系,無(wú)法確定各影響因素對(duì)銷(xiāo)量的影響。 回歸預(yù)測(cè)模型缺乏數(shù)據(jù)樣本學(xué)習(xí)過(guò)程,易導(dǎo)致非線(xiàn)性關(guān)系模糊、 計(jì)算過(guò)程復(fù)雜,難以取得令人滿(mǎn)意的預(yù)測(cè)效果[3]。隨著人工智能的發(fā)展,基于機(jī)器學(xué)習(xí)的智能預(yù)測(cè)方法成為近年來(lái)的研究重點(diǎn),如人工神經(jīng)網(wǎng)絡(luò)和支持向量機(jī)(Support Vector machine,SVM)[4]。 人工神經(jīng)網(wǎng)絡(luò)模型的預(yù)測(cè)效果依賴(lài)于數(shù)據(jù)量的大小,而拖拉機(jī)月度銷(xiāo)售量的預(yù)測(cè)更依賴(lài)新信息, 如果可用數(shù)據(jù)較少,則人工神經(jīng)網(wǎng)絡(luò)很難取得良好的樣本外表現(xiàn)[5]。 SVR是SVM 對(duì)回歸問(wèn)題的一種運(yùn)用, 可有效解決預(yù)測(cè)中小樣本、非線(xiàn)性等問(wèn)題,且在高維模式識(shí)別中表現(xiàn)出一定優(yōu)勢(shì),被廣泛應(yīng)用于電力預(yù)測(cè)、客運(yùn)需求預(yù)測(cè)等領(lǐng)域。
在SVR 預(yù)測(cè)模型的具體應(yīng)用中, 懲罰系數(shù)C 和核函數(shù)參數(shù)g 的選取對(duì)預(yù)測(cè)性能具有關(guān)鍵性的影響。在機(jī)器學(xué)習(xí)領(lǐng)域,各類(lèi)啟發(fā)式算法因其強(qiáng)大的優(yōu)化性能而被廣泛應(yīng)用于模型的參數(shù)優(yōu)化,如Tharwat. A等[6]使用量子粒子群優(yōu)化算法對(duì)SVM 超參數(shù)進(jìn)行優(yōu)化;Zhou Tao 等[7]使用遺傳算法對(duì)SVM 超參數(shù)進(jìn)行優(yōu)化, 提高了模型預(yù)測(cè)精度和計(jì)算速度;Kapoor. K等[8]使用基于灰狼優(yōu)化的SVM,得到最佳參數(shù)組合,獲得最優(yōu)二值分類(lèi)結(jié)果。 但是,這些啟發(fā)式算法均從隨機(jī)的可行初始解出發(fā),采用迭代改進(jìn)策略,去逼近問(wèn)題的最優(yōu)解, 而不是系統(tǒng)地以確定的步驟去尋求答案,因而無(wú)法保證收斂到最優(yōu)點(diǎn)。網(wǎng)格搜索與交叉驗(yàn)證法可以通過(guò)循環(huán)遍歷,嘗試每一種可能性,進(jìn)而找出全局最優(yōu)點(diǎn),并在參數(shù)較少的情況下,也不存在計(jì)算時(shí)間過(guò)長(zhǎng)的問(wèn)題, 因此被廣泛應(yīng)用于SVM 的參數(shù)優(yōu)化中。 雷會(huì)平等[9]提出一種改進(jìn)的網(wǎng)格搜索和交叉驗(yàn)證方法, 建立了復(fù)雜水體硝酸鹽濃度的SVR 預(yù)測(cè)模型,有效提升了預(yù)測(cè)精度和訓(xùn)練效率;奚杏杏等[10]使用基于網(wǎng)格搜索與交叉驗(yàn)證相結(jié)合的SVR 模型對(duì)血壓進(jìn)行預(yù)測(cè), 結(jié)果表明該模型的預(yù)測(cè)準(zhǔn)確率和方根誤差值均明顯優(yōu)于傳統(tǒng)的機(jī)器學(xué)習(xí)算法;Wang Zhenhe 等使用GS-SVM 作為優(yōu)化分類(lèi)器,對(duì)蟲(chóng)害持續(xù)時(shí)間進(jìn)行判別, 表現(xiàn)出較好的分類(lèi)性能。在參考現(xiàn)有研究成果的基礎(chǔ)上, 綜合考慮季節(jié)、農(nóng)業(yè)經(jīng)濟(jì)環(huán)境和農(nóng)機(jī)補(bǔ)貼政策影響,引入基于網(wǎng)格搜索和交叉驗(yàn)證的支持向量回歸模型(GSCV-SVR),對(duì)大型拖拉機(jī)銷(xiāo)量進(jìn)行預(yù)測(cè)研究, 以期獲得更高的預(yù)測(cè)精度。
參考現(xiàn)有研究成果,結(jié)合數(shù)據(jù)可得性,選取如表1 所示的若干變量作為影響因素預(yù)測(cè)銷(xiāo)量。 其中,第一產(chǎn)業(yè)人員從業(yè)數(shù)量、 農(nóng)村居民可支配收入指數(shù)、農(nóng)作物播種面積和農(nóng)機(jī)補(bǔ)貼額為每年年末統(tǒng)計(jì)數(shù)據(jù),采用線(xiàn)性插值法充填為月度數(shù)據(jù)。主要農(nóng)作物和柴油價(jià)格取上月月初和月末的平均價(jià)格。
表1 各變量類(lèi)別及名稱(chēng)Table 1 Category and name of each variable
月份是影響大型拖拉機(jī)銷(xiāo)量的重要離散型分類(lèi)特征, 普通編碼方式會(huì)體現(xiàn)特征值之間的大小關(guān)系,造成模型預(yù)測(cè)誤差。為使特征值之間距離計(jì)算更加合理,經(jīng)常對(duì)離散型特征使用One-Hot 編碼,將特征數(shù)值表示為二進(jìn)制向量,并將這些向量作為模型訓(xùn)練特征,以有效提高模型預(yù)測(cè)精度。 使用One-Hot 編碼方法對(duì)月份進(jìn)行編碼,如圖1 所示。
圖1 各月份的ONE-HOT 編碼Figure 1 ONE-HOT code for each month
為消除不同維度數(shù)據(jù)間的量綱差別,需對(duì)除月份之外的數(shù)據(jù)進(jìn)行歸一化處理:
SVM 是按監(jiān)督學(xué)習(xí)方式對(duì)數(shù)據(jù)進(jìn)行二元分類(lèi)的廣義線(xiàn)性分類(lèi)器,SVR 是SVM 由分類(lèi)問(wèn)題到回歸問(wèn)題的推廣,是SVM 的重要應(yīng)用分支。 設(shè)樣本集為(xi,yi),i=1,2,3,K,n, SVR 通過(guò)非線(xiàn)性映射將回歸數(shù)據(jù)映射到高維空間,在高維空間構(gòu)建回歸函數(shù):
式中,ω 為權(quán)向量;b 為偏置量;φ 為核函數(shù), ω和b 可以通過(guò)求解最優(yōu)分類(lèi)面函數(shù)的最小化獲取:
式中,C 為懲罰系數(shù);ξi和為松弛變量;ε 為取值為任意正數(shù)的偏差。
使用拉格朗日乘子法計(jì)算得到:
由于輸入特征與銷(xiāo)量數(shù)據(jù)間呈現(xiàn)高度的非線(xiàn)性關(guān)系,特選擇徑向基核函數(shù)(RBF)進(jìn)行回歸數(shù)據(jù)的高維映射,表示為:
式中,K(X,X′)為滿(mǎn)足 Mercer 條件的核函數(shù);g為核函數(shù)參數(shù)。
計(jì)算得到SVR 模型為:
K 折交叉驗(yàn)證法將訓(xùn)練數(shù)據(jù)等分為K 個(gè)子集,選擇任一子集作為測(cè)試集,其他子集作為訓(xùn)練集進(jìn)行交叉驗(yàn)證, 重復(fù)K 次, 找到均方誤差最小的參數(shù)組合,并將得到的最優(yōu)參數(shù)輸入到SVR 模型中,具體如圖2 所示。
圖2 交叉驗(yàn)證詳解圖Figure 2 Detail figure of cross validation
網(wǎng)格搜索法即采用窮舉搜索的方式,在指定的參數(shù)范圍內(nèi)按步長(zhǎng)依次對(duì)參數(shù)組合進(jìn)行搜索。本研究提出一種改進(jìn)的網(wǎng)格搜索法,即通過(guò)不斷收縮網(wǎng)格大小和步長(zhǎng)來(lái)達(dá)到更高精度并有效提高搜索效率。改進(jìn)的網(wǎng)格搜索與交叉驗(yàn)證法具體步驟如下:
第一步:設(shè)定參數(shù)和的取值范圍[2N,2N],設(shè)定初始步長(zhǎng)為M,獲得一個(gè)粗網(wǎng)格,網(wǎng)格中的節(jié)點(diǎn)即為給定范圍內(nèi)所有可能得到的參數(shù)組合。
第二步:對(duì)所有參數(shù)組合使用交叉驗(yàn)證法進(jìn)行評(píng)價(jià),找到均方誤差最小的參數(shù)組合(Ci,gi)。
第三步:選取參數(shù)組合(Ci,gi)相鄰兩個(gè)節(jié)點(diǎn)間的網(wǎng)格作為新的參數(shù)組合選擇范圍,并設(shè)定搜索步長(zhǎng)為,再次進(jìn)行交叉驗(yàn)證,找到新的均方誤差最小的參數(shù)組合(Ci,gi)。
第四步:若(Ci,gi)在交叉驗(yàn)證中均方誤差滿(mǎn)足精度要求,儲(chǔ)存(Ci,gi)至 SVR 模型,反之則轉(zhuǎn)到第三步,直至(Ci,gi)在交叉驗(yàn)證中均方誤差滿(mǎn)足精度要求。
網(wǎng)格搜索與交叉驗(yàn)證法以參數(shù)均方誤差最小化為目標(biāo),以參數(shù)范圍為約束條件,遍歷每個(gè)可能的參數(shù)組合,避免了局部最優(yōu)解的存在,可有效提高參數(shù)優(yōu)選的準(zhǔn)確性。
GSCV-SVR 大型拖拉機(jī)銷(xiāo)量預(yù)測(cè)模型流程如圖3 所示。
圖3 GSCV-SVR 大型拖拉機(jī)銷(xiāo)量預(yù)測(cè)模型流程圖Figure 3 Flow chart of GSCV-SVR large tractor sales prediction model
以2017—2021 年某品牌某型號(hào)大型拖拉機(jī)在河南省的銷(xiāo)量數(shù)據(jù)為基礎(chǔ),對(duì)農(nóng)機(jī)裝備銷(xiāo)量預(yù)測(cè)進(jìn)行實(shí)例分析,具體數(shù)據(jù)如圖4 所示。
圖4 2017—2021 年某品牌某型號(hào)拖拉機(jī)的河南銷(xiāo)量數(shù)據(jù)Figure 4 Sales data of a brand and model of tractor in Henan Province from 2017 to 2021
取2017—2020 年的銷(xiāo)量數(shù)據(jù)作為訓(xùn)練數(shù)據(jù),對(duì)2021 年的數(shù)據(jù)進(jìn)行預(yù)測(cè);與2021 年的實(shí)際銷(xiāo)量數(shù)據(jù)進(jìn)行對(duì)比,計(jì)算預(yù)測(cè)誤差,評(píng)價(jià)模型的準(zhǔn)確性.
首先對(duì)數(shù)據(jù)進(jìn)行預(yù)處理,之后設(shè)定模型中懲罰系數(shù)和核函數(shù)參數(shù)的初始范圍為[2~8,28],初始步長(zhǎng)為1。針對(duì)所選的數(shù)據(jù)集特征,交叉驗(yàn)證CV 參數(shù)K 選擇4。通過(guò)網(wǎng)格搜索與交叉驗(yàn)證確定最佳參數(shù)組合,得到GSCV-SVR 預(yù)測(cè)模型。 將2021 年自變量數(shù)據(jù)輸入GSCV-SVR 預(yù)測(cè)模型,得到預(yù)測(cè)結(jié)果。 預(yù)測(cè)結(jié)果與實(shí)際數(shù)據(jù)對(duì)比如圖5 所示。
圖5 GSCV-SVR 預(yù)測(cè)值與實(shí)際值對(duì)比圖Figure 5 Comparison of GSCV-SVR predicted value and actual value
為進(jìn)一步檢驗(yàn)GSCV-SVR 在大型拖拉機(jī)銷(xiāo)量預(yù)測(cè)上的準(zhǔn)確性, 分別使用 LSTM 人工神經(jīng)網(wǎng)絡(luò)、ARIMA、LASSO 回歸常用預(yù)測(cè)模型, 對(duì) 2021 年銷(xiāo)量數(shù)據(jù)進(jìn)行預(yù)測(cè)。各模型預(yù)測(cè)結(jié)果與實(shí)際數(shù)據(jù)對(duì)比如圖6 所示。
圖6 各預(yù)測(cè)模型結(jié)果對(duì)比圖Figure 6 Comparison diagram of the results of each prediction model
表2 給出了各模型預(yù)測(cè)結(jié)果與實(shí)際數(shù)據(jù)的均方根誤差(RMSE)和平均絕對(duì)誤差(MAE),由此可知GSCV-SVR 的均方根誤差和平均絕對(duì)誤差均最小,相比其他預(yù)測(cè)模型具有更好的預(yù)測(cè)性能。
表2 各模型預(yù)測(cè)效果對(duì)比Table 2 Comparison of the prediction effects of each model
將SVR 方法應(yīng)用于大型拖拉機(jī)銷(xiāo)量預(yù)測(cè)研究中,可有效解決預(yù)測(cè)研究中歷史數(shù)據(jù)量少、影響因素多的問(wèn)題。 提出一種改進(jìn)的網(wǎng)格搜索與交叉驗(yàn)證法,用于SVR 參數(shù)尋優(yōu)并可有效提高網(wǎng)格搜索的精度和效率。通過(guò)分析選取影響銷(xiāo)量的特征并將其歸一化和One-Hot 編碼處理,作為模型的輸入,以增強(qiáng)模型的可解釋性,提高預(yù)測(cè)精度。預(yù)測(cè)結(jié)果表明,在小樣本情況下,利用RBF 核函數(shù)建立的GSCV-SVR 模型相比于LSTM、ARIMA 和LASSO 回歸模型具有更高的精度,能夠用于大型拖拉機(jī)的銷(xiāo)量預(yù)測(cè)。