国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于支持向量回歸的酒店入住情況預(yù)測

2018-02-01 14:54武文斌
中國新技術(shù)新產(chǎn)品 2018年3期

武文斌

摘 要:當(dāng)今社會,屬于第三產(chǎn)業(yè)的旅游業(yè)對社會的發(fā)展起著越來越重要的作用。酒店入住是旅游業(yè)發(fā)達(dá)與否的一個重要體現(xiàn)。本文從維多利亞酒店入住情況數(shù)據(jù)出發(fā),應(yīng)用支持向量回歸機的方法對酒店入住情況相關(guān)的月度入住次數(shù)這一時間序列數(shù)據(jù)進(jìn)行建模和預(yù)測,進(jìn)一步計算預(yù)測結(jié)果的均方根誤差來定量地評價預(yù)測精度。通過實驗驗證,我們可以對酒店入住情況進(jìn)行較為精準(zhǔn)的預(yù)測,為維多利亞酒店未來營業(yè)模式的安排提供有意義的參考。

關(guān)鍵詞:支持向量回歸;時間序列預(yù)測;實驗驗證

中圖分類號:U491 文獻(xiàn)標(biāo)志碼:A

0 引言

酒店入住情況對于每一家酒店,甚至對整座城市的旅游業(yè)起著至關(guān)重要的作用。酒店可以通過對以往入住情況的統(tǒng)計,比如歷史的月住房次數(shù)數(shù)據(jù)來預(yù)測下一個月或者下幾個月的入住次數(shù)。這樣就可以在旅游旺季來臨之際提前做好準(zhǔn)備,從而實現(xiàn)人力物力的合理配置,減少不必要的損失,從而取得經(jīng)濟(jì)效益。通過對酒店入住情況的預(yù)測,不僅可以探索其發(fā)展變化的規(guī)律,而且可以從一個側(cè)面反映社會經(jīng)濟(jì)現(xiàn)象的發(fā)展情況。

對于月住房次數(shù)這樣的時間序列數(shù)據(jù),通過文獻(xiàn)調(diào)研,還沒有發(fā)現(xiàn)相關(guān)的研究。但是,對于其他領(lǐng)域的時間序列數(shù)據(jù),已有不少相關(guān)研究,并涉及到眾多技術(shù)。特別地,應(yīng)用支持向量回歸機(support vector machines regression, SVR)預(yù)測時間序列數(shù)據(jù)已有不少研究。楊金芳等人簡要介紹了時間序列預(yù)測的研究狀況以及支持向量回歸的基本原理,將支持向量回歸用于對煤氣爐時間序列的預(yù)測,并同其他神經(jīng)網(wǎng)絡(luò)進(jìn)行比較,實驗表明支持向量回歸在預(yù)測性能方面明顯更優(yōu)。尉詢楷等人將支持向量機預(yù)測模型應(yīng)用于某型航空發(fā)動機的滑油金屬含量監(jiān)測中,并與遞歸神經(jīng)網(wǎng)絡(luò)預(yù)測器進(jìn)行比較,實驗表明支持向量機表現(xiàn)出優(yōu)秀的泛化能力,可預(yù)測區(qū)間較長且具有較高的準(zhǔn)確度。

董輝、冷伍明詳細(xì)分析了支持向量機用于時間序列預(yù)測的理論基礎(chǔ),并采用支持向量機和其他兩種神經(jīng)網(wǎng)絡(luò)模型進(jìn)行對比,分別對仿真時序和工程滑坡變形時序進(jìn)行了回歸與預(yù)測,結(jié)果表明在噪聲水平較低時,SVR回歸效果稍好。

曲文龍等人介紹了相空間重構(gòu)和基于支持向量機的時間序列預(yù)測建模技術(shù),提出了復(fù)雜時間序列的多尺度分解方法,對支持向量機回歸與預(yù)測的各項參數(shù)設(shè)置進(jìn)行了實驗分析,通過對股票數(shù)據(jù)進(jìn)行建模和預(yù)測表明支持向量機對復(fù)雜時間序列具有較好的預(yù)測效果。夏國恩針對目前鐵路客運量預(yù)測方法不足的問題,采用SVR對鐵路客運量時間序列進(jìn)行預(yù)測,通過與標(biāo)準(zhǔn)的反向傳播人工神經(jīng)網(wǎng)絡(luò)進(jìn)行對比表明,SVR的預(yù)測精度更高。

1 支持向量回歸

支持向量機回歸是一種機器學(xué)習(xí)方法,并可以應(yīng)用于時間序列數(shù)據(jù)的預(yù)測。SVR采用了結(jié)構(gòu)風(fēng)險最小化原則,通過多維輸入和輸出之間的實值映射來提高所建立模型的泛化能力。該映射可以表示為一種潛在函數(shù),并且當(dāng)引入非線性核函數(shù)K(xi,x)時該映射也是非線性的,將輸入空間轉(zhuǎn)換為的更高維特征空間的線性回歸函數(shù)。使用ε(也稱誤差邊界)不敏感損失函數(shù)的非線性SVR回歸函數(shù)可以表示為:

其中,αi和αi*是求解目標(biāo)函數(shù)中的拉格朗日乘數(shù),ai、αi*和a 表示最優(yōu)值,C是預(yù)設(shè)值(也稱為懲罰因子),用來調(diào)節(jié)經(jīng)驗誤差和泛化誤差的平衡。在公式(1)中,觀察到的輸入向量xi是實際對回歸函數(shù)有貢獻(xiàn)的支持向量,并且對應(yīng)于正的αi和αi*。在本文中,我們選擇了流行的高斯徑向基函數(shù)作為核函數(shù),可以表示為K(x,y)=exp(-(x-y)2/2σ2),其中σ是核函數(shù)參數(shù)。

在SVR建模過程中,有3個參數(shù)ε,C和σ需要被確定。已有一些可用于參數(shù)選擇的智能方法,比如遺傳算法,粒子群優(yōu)化算法,模擬退火算法等。本文采用了啟發(fā)式算法直接從訓(xùn)練數(shù)據(jù)中計算ε和σ這兩個參數(shù)的取值。

2 研究方法

本文的整體研究框架大致分為以下幾個步驟:首先上網(wǎng)搜集維多利亞酒店入住情況數(shù)據(jù)并整理成“.csv”格式的數(shù)據(jù)文件,再將數(shù)據(jù)進(jìn)行預(yù)處理(將原始數(shù)據(jù)轉(zhuǎn)換格式、時間序列化等),然后將預(yù)處理后得到的數(shù)據(jù)劃分成訓(xùn)練集和測試集,并由此對訓(xùn)練集建立SVR模型,接著應(yīng)用SVR模型進(jìn)行預(yù)測,最后將所得到的預(yù)測值計算預(yù)測精度。

整個預(yù)測過程的實現(xiàn)程序如算法1所示。首先導(dǎo)入“rminer”的數(shù)據(jù)包,然后將酒店入住情況數(shù)據(jù)通過“read.csv("數(shù)據(jù)文件路徑名稱”,header=TRUE)”函數(shù)讀取進(jìn)來,并保存到“table”這個變量中;之后將table中的入住次數(shù)這一列數(shù)據(jù)通過代碼“Rm=table$Room_nights”從“table”中取出來并保存到“Rm”這個變量中;再使用“as.numeric()”、“as.character()”3個函數(shù)將取出的原始數(shù)據(jù)進(jìn)行預(yù)處理;接著通過代碼“Rm=ts(Rm,start=c(1980,1),frequency=12)”將“Rm”變量的時間序列周期設(shè)定為月度數(shù)據(jù)的潛在周期12,以便建立預(yù)測模型;然后將原始數(shù)據(jù)劃分為訓(xùn)練集和測試集;接下來使用時間序列建模函數(shù)“fit()”對訓(xùn)練集建立SVR模型;然后通過“l(fā)forecast()”函數(shù)建立預(yù)測模型并執(zhí)行預(yù)測;最后使用“mgraph()”繪圖函數(shù)繪制預(yù)測結(jié)果。

算法1:月度酒店入住次數(shù)預(yù)測

輸入:往期酒店月入住次數(shù)

輸出:未來酒店月入住次數(shù)

1.library(rminer)

2. table = read.csv(“文件路徑", sep=",", header=TRUE)

3.Rm=table$Room_nights

4.Rm=as.numeric(as.character(Rm))

5.Rm=ts(Rm,start = c(1980,1),frequency = 12)endprint

6.window=24

7.H=6

8.L=length(Rm)

9.Target=Rm[181:186]

10.d=CasesSeries(Rm,c(1:window))

11.LD=nrow(d)

12.dtr=1:(LD-H)

13.SV=fit(y~.,d[dtr,],model="ksvm",C=NA,epsilon=NA,kpa="automatic",seed=1000)

14. Pred=lforecast(SV,d,start=(LD-H+1),horizon=H)

15. r=round(mmetric(Target,Pred,metric="RMSE"),3)

16. txt=paste("SVM RMSE:",r,"\n")

17.mgraph(Target,Pred,graph="REG",Grid=10,col=c("black","blue"),leg=list(pos="topright",leg=c("target","predictions")),main=txt)

3 實驗驗證

3.1實驗準(zhǔn)備

實驗數(shù)據(jù)來源于對維多利亞1980年1月到1995年6月酒店入住情況的統(tǒng)計。該時間序列共計186個數(shù)據(jù)點,設(shè)置前180個點為訓(xùn)練集,最后6個點為測試集。實驗數(shù)據(jù)總體呈上升趨勢,但也有周期性的波動,波峰主要出現(xiàn)在春秋兩季,此時正值旅游旺季。實驗運行環(huán)境為R語言和集成開發(fā)環(huán)境Rstudio。R是用于統(tǒng)計分析、繪圖展示的語言和操作環(huán)境。R語言免費開源,并提供了對象、運算符和函數(shù)來探索、建模和可視化數(shù)據(jù)。其中,Rminer是以開源數(shù)據(jù)挖掘工具WEKA為核心的R語言程序包。Rminer實現(xiàn)了大多數(shù)經(jīng)典和最新的數(shù)據(jù)挖掘算法,本文應(yīng)用Rminer作為SVR預(yù)測模型的實現(xiàn)方法。

為了比較不同預(yù)測模型的優(yōu)劣,本文采用均方根誤差(root mean square error, RMSE)作為預(yù)測模型的度量指標(biāo)。RMSE的計算公式為

RMSE

其中,y和f分別表示時間序列的觀測值和模型輸出值,T為數(shù)據(jù)點的個數(shù)。本文通過對測試集計算RMSE來評價模型的預(yù)測精度,RMSE值越小,預(yù)測精度越高,預(yù)測模型性能越好。

3.2 實驗結(jié)果

本實驗通過改變窗口長度這個模型參數(shù)來得到四個不同的SVR模型。每個模型的窗口長度L都設(shè)為月度數(shù)據(jù)的潛在周期12的整數(shù)倍,在四個模型中分別為12、24、36、48。懲罰因子C均取默認(rèn)值3。誤差邊界ε和核函數(shù)σ參數(shù)通過啟發(fā)式算法從訓(xùn)練數(shù)據(jù)中計算獲得其取值。

通過分析實驗結(jié)果,可以看出以下幾點:(1)RMSE值的數(shù)量級為105,而原始數(shù)據(jù)的數(shù)量級為106,說明我們的預(yù)測精度是比較高的;(2)RMSE的最小值為22759.41,此時窗口長度為24,說明當(dāng)窗口長度為24時預(yù)測精度最高,模型性能也最好;(3)隨著L的不斷增大,ε不斷增大,σ不斷減小,RMSE呈現(xiàn)出先減小后增大的趨勢。

4 結(jié)論

本文應(yīng)用支持向量回歸機模型對酒店入住情況相關(guān)的時間序列數(shù)據(jù)進(jìn)行預(yù)測,預(yù)測精度(RMSE值)達(dá)到了22759.41。基于目前工作,后續(xù)還可以做進(jìn)一步研究,比如應(yīng)用自回歸移動平均(autoregressive integrated moving average, ARIMA)、3次指數(shù)平滑(Hot-Winters)等模型進(jìn)行實驗,比較各種統(tǒng)計學(xué)和人工智能等不同預(yù)測模型的優(yōu)劣。

參考文獻(xiàn)

[1]楊金芳, 翟永杰, 王東風(fēng), 等.基于支持向量回歸的時間序列預(yù)測[J].中國電機工程學(xué)報,2005, 25(17):110-114.

[2]尉詢楷, 李應(yīng)紅, 張樸, 等.基于支持向量機的時間序列預(yù)測模型分析與應(yīng)用[J].系統(tǒng)工程與電子技術(shù), 2005,27(3):529-532.

[3]董輝, 冷伍明.支持向量機的時間序列回歸與預(yù)測[J].系統(tǒng)仿真學(xué)報, 2006, 18(7):1785-1788.

[4]曲文龍, 樊廣佺, 楊炳儒.基于支持向量機的復(fù)雜時間序列預(yù)測研究[J].計算機工程,2005,31(23):1-3.

[5]夏國恩, 曾紹華, 金煒東.支持向量回歸機在鐵路客運量時間序列預(yù)測中的應(yīng)用[J].計算機應(yīng)用研究,2006,23(10):180-182.endprint