王爾東
隨著社會經(jīng)濟的發(fā)展和人民生活水平的提高,牛奶及其相關(guān)產(chǎn)品已經(jīng)成為人們?nèi)粘I钪匾囊画h(huán)。從一個角度來說,社會需求量的上升導(dǎo)致了奶價上升,缺乏科學(xué)客觀的牛奶產(chǎn)量預(yù)測會對人民生活產(chǎn)生影響;從另一個角度來說,牛奶產(chǎn)量是奶業(yè)的基石,對牛奶產(chǎn)量的科學(xué)預(yù)測對生產(chǎn)者具有十分重要的現(xiàn)實意義。通過對牛奶產(chǎn)量的預(yù)測,不僅可以探索其發(fā)展變化的規(guī)律,而且能為奶業(yè)的生產(chǎn)制造者提供有意義的指導(dǎo),從而進行合理的牛奶生產(chǎn),避免浪費,提高經(jīng)濟效益的同時進一步為社會提供正確的消費導(dǎo)向,促進奶業(yè)與消費者之間的良性循環(huán)。
關(guān)于月度牛奶產(chǎn)量這樣的時間序列數(shù)據(jù),在文獻調(diào)研中并沒有發(fā)現(xiàn)相關(guān)研究。但是,對于年度、季度牛奶產(chǎn)量的數(shù)據(jù)卻有所涉及。文獻[1]應(yīng)用灰色模型(gray model,GM)GM(1,1)對新疆牛奶產(chǎn)量發(fā)展進行預(yù)測,結(jié)果表明該模型有較高的可靠性和實用性,能夠?qū)π陆哪虡I(yè)發(fā)展能夠起到一定的導(dǎo)向作用。文獻[2]應(yīng)用ARIMA(Autoregressive Integrated Moving Average Model,ARIMA)模型對河北省的牛奶產(chǎn)量進行預(yù)測,結(jié)果表明該模型具有良好的預(yù)測效果和應(yīng)用價值,可以對河北省牛奶產(chǎn)品進行合理并準(zhǔn)確的分析。文獻[3]應(yīng)用多元線性回歸模型(multivariable linear regression model,MR)對短時交通流量進行預(yù)測,結(jié)果表明該模型預(yù)測精度良好。文獻[4]應(yīng)用貝葉斯網(wǎng)絡(luò)對牛奶產(chǎn)量進行預(yù)測,結(jié)果表明該模型在理論上具有嚴(yán)格性與統(tǒng)一性,能有效直觀地進行預(yù)測。文獻[5]應(yīng)用MR對成品油價格進行了預(yù)測,結(jié)果表明多元線性回歸模型達到了較好的效果。
多元線性回歸在與預(yù)測相關(guān)的研究中有廣泛的應(yīng)用。多元線性回歸模型根據(jù)歷史的樣本數(shù)據(jù),建立多元線性回歸的預(yù)測模型,從而預(yù)測未來時刻多元線性回歸模型中的回歸參數(shù)。通過一些的模型精度評估指標(biāo).對多元線性回歸模型參數(shù)的預(yù)測進行評測,選擇最優(yōu)的預(yù)測模型,從而表明這個模型可以用于分析和預(yù)測因變量對自變量的回歸關(guān)系問題。
多元線性回歸利用以下的原理進行計算:假設(shè)自變量與因變量之間存在著線性關(guān)系,用一定的線性回歸模型來擬合自變量與因變量之間的關(guān)系,并通過確定模型參數(shù)來得到回歸方程。然后,可以通過此回歸方程來分析變量之間的相關(guān)關(guān)系,進而能夠檢驗、分析各個自變量對因變量的線性影響。多元線性回歸模型在時間序列預(yù)測中的應(yīng)用可以表示為公式(1),這里Yt是因變量的預(yù)測值,是通常應(yīng)用最小二乘法確定的回歸系數(shù),是回歸方程的常數(shù)項,是自變量,e代表誤差。
公式(1)表明它表明被解釋變量Yt的變化由兩部分進行解釋。第一,由t個解釋變量Y的變化引起的Yt的線性變化部分;第二,由其他隨機因素引起的Y的變化部分,e為隨機誤差;a0是回歸方程的常數(shù)項;是回歸系數(shù);t=1,2,…,n,以上隨機因素引起的變化。
本文的整體研究框架大致分為以下幾個步驟:首先進入https://datamarket.com/data網(wǎng)站搜集某地1962年1月至1975年12月的牛奶產(chǎn)量數(shù)據(jù)并整理成“.csv”格式的數(shù)據(jù)文件,再將數(shù)據(jù)進行預(yù)處理(時間序列化)。接下來將數(shù)據(jù)文件導(dǎo)入R語言環(huán)境,并進行模型參數(shù)設(shè)置,將數(shù)據(jù)分為訓(xùn)練集和測試集后,使用rminer程序包中的MR模型進行預(yù)測,計算預(yù)測精度,最后調(diào)整參數(shù),選擇最高預(yù)測精度的模型,驗證模型的準(zhǔn)確性。
整個預(yù)測過程的實現(xiàn)程序如算法1所示。首先導(dǎo)入“rmin-er”的程序包,然后將月度牛奶產(chǎn)量數(shù)據(jù)通過“read.csv("數(shù)據(jù)文件路徑名稱",header=TRUE)”函數(shù)讀取進來,并保存到“tab”這個變量中;之后將tab中的“每月產(chǎn)量”這一列數(shù)據(jù)通過代碼da=tab$production將其提取出來,并對其進行時間序列化。然后設(shè)置模型參數(shù),通過代碼“window=12”調(diào)整窗口長度為12,通過代碼“H=12”調(diào)整測試集大小為12;接著通過代碼“L=length(a)”計算數(shù)據(jù)長度;最后再設(shè)置測試集;下一步通過代碼“d=CasesSeries(a,c(1:window)”將所有數(shù)據(jù)轉(zhuǎn)化為矩陣d,再通過代碼“LD=nrow(d)”計算其行數(shù),最后通過代碼“dtr=1:(LD-H)”設(shè)置訓(xùn)練集的行數(shù),參數(shù)調(diào)整完成。接著使用fit()函數(shù)建立多元線性回歸模型,同時運用lforecast函數(shù)建立預(yù)測模型并保存至變量pred中,再建立變量r表示預(yù)測值與測試集在RMSE運算后的誤差并做出圖像,最后顯示出預(yù)測值與測試集分別在RMSE和MAE度量標(biāo)準(zhǔn)下的誤差值。
本實驗的步驟與代碼設(shè)計如表1所示:
表1 實驗步驟與代碼設(shè)計
本實驗采用的是美國某地1962年1月至1975年12月的月度牛奶產(chǎn)量,共158個數(shù)據(jù)點,由Time Serious Data Library提供。本實驗的數(shù)據(jù)整體呈波動上升趨勢。
本實驗的程序編寫語言與操作環(huán)境是R,R用于統(tǒng)計分析、繪圖的語言和操作環(huán)境,是一個自由、免費、源代碼開放的軟件。本實驗使用了rminer程序包,提供用戶可視化的角色挖掘和角色狀態(tài)更新平臺。
本實驗運用了RMSE與MAE兩種度量標(biāo)準(zhǔn),
其中yt為預(yù)測值,ft為真實值,T為測試點個數(shù)。
本實驗根據(jù)參數(shù)中的窗口長度window作為變量,通過等距調(diào)整window的值記錄,因變量預(yù)測精度,得到的實驗設(shè)計結(jié)果。由實驗得出的圖表可以得出以下結(jié)論與分析:
(1)總體來說,多元回歸模型對于月度牛奶產(chǎn)量的預(yù)測是十分優(yōu)秀的,能夠成功得出對未來牛奶產(chǎn)量的科學(xué)預(yù)測。
(2)預(yù)測精度在參數(shù)window的變化下逐漸趨于穩(wěn)定。預(yù)測的誤差在window值取2至10是快速下降,并且預(yù)測精度急劇升高,預(yù)測性能越來越好。
(3)在window值取8時,預(yù)測精度最高;隨著window值的升高,圖像始終在實際數(shù)據(jù)上下波動,且波動幅度較小。
表2 MR模型對該地1975年1月至12月月度牛奶產(chǎn)量預(yù)測的實驗結(jié)果
本文運用多元線性回歸模型,從1962年1月至1974年12月月度牛奶產(chǎn)量的數(shù)據(jù)出發(fā),通過數(shù)據(jù)時間序列化和建模預(yù)測,成功對1975年1月至12月月度牛奶產(chǎn)量進行了科學(xué)的預(yù)測。并且通過均方根誤差(RMSE)與平均絕對值誤差(MAE),計算了不同窗口長度下多元線性回歸模型的預(yù)測精度。其中,窗口長度為8的模型誤差值更小,預(yù)測精度更高。