王蘭梅, 陳崇成, 葉曉燕, 潘淼鑫, 2
(1. 福州大學(xué)空間數(shù)據(jù)挖掘與信息共享教育部重點(diǎn)實(shí)驗(yàn)室, 地理空間信息技術(shù)國(guó)家地方聯(lián)合工程研究中心, 福建 福州 350108; 2. 福建師范大學(xué)數(shù)學(xué)與信息學(xué)院, 福建省公共服務(wù)大數(shù)據(jù)挖掘與應(yīng)用工程技術(shù)研究中心, 福建 福州 350117)
隨著旅游業(yè)的快速發(fā)展, 人們生活品質(zhì)的提高, 休閑旅游成為一種時(shí)尚. 各著名景區(qū)常發(fā)生的游客扎推和擁擠等安全事件, 給景區(qū)管理和游客旅游均帶來(lái)困擾. 為避免該類事件的發(fā)生, 景區(qū)管理者應(yīng)掌握短期內(nèi)游客流量的預(yù)測(cè)數(shù)據(jù), 以便制定合理的分流方案. 20世紀(jì), 國(guó)際上主要用經(jīng)典時(shí)間序列模型和計(jì)量經(jīng)濟(jì)學(xué)模型[1]開展旅游需求研究, 但存在非線性擬合能力差的缺點(diǎn). 隨著人工智能算法的發(fā)展, 學(xué)者們開始將BP神經(jīng)網(wǎng)絡(luò)(back propagation neural network, BPNN)[2]和支持向量回歸(support vector regression, SVR)[3]等算法應(yīng)用于旅游客流量預(yù)測(cè)領(lǐng)域[4]. SVR在解決小樣本、 非線性時(shí)間序列預(yù)測(cè)中表現(xiàn)出許多特有的優(yōu)勢(shì), 但是其參數(shù)選擇是影響預(yù)測(cè)精度的重要因素. 人們優(yōu)化SVR參數(shù)的智能化算法主要包括布谷鳥搜索(cuckoo search, CS)和粒子群算法(particle swarm optimization, PSO)[5]等. Chen等[6]提出以SVR和GA結(jié)合的GA-SVR模型預(yù)測(cè)中國(guó)入境游客流量, 結(jié)果顯示GA-SVR模型明顯優(yōu)于BPNN和ARIMA模型. 灰狼算法(grey wolf optimization, GWO)是由Mirjalili等[7]提出的一種群體智能算法, 其在全局尋優(yōu)方面明顯優(yōu)于GA、 CS和PSO等智能化優(yōu)化算法[8-9]. 互聯(lián)網(wǎng)時(shí)代背景下, 學(xué)者也嘗試將網(wǎng)絡(luò)搜索數(shù)據(jù)應(yīng)用在旅游客流量預(yù)測(cè)中, 取得不錯(cuò)的效果[10-12]. Sun等[13]將旅游歷史客流量數(shù)據(jù)與百度指數(shù)、 谷歌指數(shù)相結(jié)合用到客流量預(yù)測(cè)中, 發(fā)現(xiàn)預(yù)測(cè)效果有顯著提高. 本研究將網(wǎng)絡(luò)搜索數(shù)據(jù)加入旅游客流量預(yù)測(cè)中, 利用GWO算法優(yōu)化SVR的參數(shù), 并用參數(shù)優(yōu)化后的SVR模型實(shí)現(xiàn)旅游客流量的預(yù)測(cè).
SVR主要是通過(guò)一個(gè)非線性映射函數(shù), 把訓(xùn)練樣本變換到高維特征空間(可能是無(wú)限維), 使得在高維空間中樣本的分布更有規(guī)律性, 以便構(gòu)造線性決策函數(shù)[14]. 對(duì)于給定的數(shù)據(jù)集合T=(xi,yi),i=1, 2, …,n,xi∈Rn,yi∈R, 這里xi為輸入值, 即客流量的影響因素,yi為xi相對(duì)應(yīng)的輸出值, 即客流量的預(yù)測(cè)值,n為訓(xùn)練樣本的數(shù)目, 目標(biāo)是找出樣本在高維特征空間的回歸函數(shù)[15].
f(x)=w×φ(x)+b
(1)
其中:f(x)為待擬合預(yù)測(cè)函數(shù);φ(x)為非線性映射函數(shù);w和b分別為權(quán)重和偏置, 通過(guò)懲罰風(fēng)險(xiǎn)函數(shù)R(C)獲得.
(2)
引入非負(fù)松弛變量δ和δ*, 則式(2)等價(jià)于:
(3)
(4)
利用KKT(Karush-Kuhn-Tucker)條件, 最終得到SVR函數(shù).
(5)
其中:xi為訓(xùn)練集輸入值,x為測(cè)試集輸入值.
GWO算法主要包含灰狼群體社會(huì)等級(jí)的劃分、 包圍、 獵捕和攻擊等方面內(nèi)容[7].
1) 灰狼社會(huì)等級(jí)的劃分. GWO算法中, 將灰狼按照適應(yīng)度值分為四個(gè)等級(jí).
2) 包圍. 進(jìn)行狩獵時(shí), 灰狼需要對(duì)獵物進(jìn)行包圍, 狼群個(gè)體間的位置不斷發(fā)生更新. 包圍行為的公式為
D=|C×Xp(t)-X(t)|,X(t+1)=Xp(t)-A×D
(6)
其中:D為灰狼個(gè)體與獵物之間的距離;Xp為食物的位置(即全局最優(yōu)解位置);X為灰狼的位置(即潛在解位置);t為當(dāng)前迭代次數(shù),A和C為系數(shù)向量.
3) 獵捕. 灰狼包圍獵物后, 開始獵捕, 一般由α、β和δ引導(dǎo),ω則根據(jù)α、β和δ的位置更新各自的位置.
Dα=|C1×Xα-X|,Dβ=|C2×Xβ-X|,Dδ=|C3×Xδ-X|
(7)
(8)
其中:Dα、Dβ、Dδ分別表示為灰狼α、β和δ與灰狼ω之間的距離;X(t+1)為更新后灰狼的位置.
4) 攻擊. 在攻擊階段, 灰狼完成抓獲獵物的使命, GWO算法取得最優(yōu)解.
利用經(jīng)過(guò)GWO算法參數(shù)優(yōu)化后的SVR模型對(duì)景區(qū)客流量進(jìn)行建模預(yù)測(cè), 具體步驟如下:
1) 對(duì)景區(qū)客流量等相關(guān)數(shù)據(jù)進(jìn)行預(yù)處理, 確定輸入和輸出變量.
2) 設(shè)置SVR參數(shù)(c,g)的取值范圍, 并設(shè)置相關(guān)參數(shù).
3) 在規(guī)定范圍內(nèi)初始化各灰狼個(gè)體的位置Xi為(1, 2, …,N), 并對(duì)參數(shù)a,A和C進(jìn)行初始化.
4) 計(jì)算種群中各灰狼個(gè)體的適應(yīng)度值, 并排序選取最優(yōu)的3只灰狼個(gè)體, 依次取名為α、β、δ.
5) 計(jì)算其他灰狼ω與3只最優(yōu)灰狼的距離, 更新各灰狼ω的位置, 同時(shí)更新參數(shù)a,A和C的值.
6) 判斷是否達(dá)到最大迭代次數(shù), 輸出適應(yīng)度最佳的灰狼Xα, 利用最優(yōu)的參數(shù)(c,g)建立SVR預(yù)測(cè)模型.
以四川省九寨溝和四姑娘山兩個(gè)景區(qū)為例, 實(shí)驗(yàn)數(shù)據(jù)如表1所示. 選擇百度指數(shù)作為網(wǎng)絡(luò)搜索數(shù)據(jù)的代表. 因GWO-SVR模型建立的過(guò)程是一樣的, 九寨溝景區(qū)詳細(xì)介紹, 四姑娘山景區(qū)在2.5節(jié)中簡(jiǎn)要說(shuō)明.
表1 九寨溝和四姑娘山實(shí)驗(yàn)數(shù)據(jù)說(shuō)明
選擇和收集代表游客興趣和搜索行為的候選關(guān)鍵詞, 主要有以下五個(gè)步驟組成:
1) 確定初始搜索關(guān)鍵詞. 選取“九寨溝”“九寨溝旅游”“九寨溝攻略”“九寨溝天氣”為初始搜索關(guān)鍵詞.
2) 擴(kuò)展搜索關(guān)鍵詞. 利用初始搜索關(guān)鍵詞, 借助百度指數(shù)網(wǎng)站的需求圖譜功能、 相關(guān)詞工具官網(wǎng)(http://www.78901.net/keywords/)的查詢相關(guān)詞功能和愛站網(wǎng)(https://ci.aizhan.com/)的關(guān)鍵詞挖掘模塊等工具, 進(jìn)一步擴(kuò)展與特定景區(qū)旅游相關(guān)的搜索關(guān)鍵詞. 經(jīng)過(guò)簡(jiǎn)單篩選, 共選擇48個(gè)關(guān)鍵詞, 如表2所示.
表2 九寨溝旅游搜索關(guān)鍵詞
續(xù)表2
3) 獲取搜索關(guān)鍵詞的整體趨勢(shì). 用Java爬蟲程序批量獲取48個(gè)搜索關(guān)鍵詞的每日的整體趨勢(shì)數(shù)據(jù).
4) 計(jì)算關(guān)鍵詞整體趨勢(shì)與客流量的相關(guān)性. 用皮爾森相關(guān)系數(shù)R作篩選搜索關(guān)鍵詞, 計(jì)算每個(gè)搜索關(guān)鍵詞與客流量1~14 d提前期的R值. 同一搜索關(guān)鍵詞中, 選擇R值最大的提前期作為該關(guān)鍵詞的最佳提前期.
為驗(yàn)證相關(guān)系數(shù)法篩選關(guān)鍵詞提前期的有效性, 以四姑娘山客流量為例, 設(shè)計(jì)小實(shí)驗(yàn)如下.
輸入變量為昨日客流量和關(guān)鍵詞“四姑娘山天氣”的搜索數(shù)據(jù), 輸出變量為旅游客流量數(shù)據(jù). 訓(xùn)練數(shù)據(jù)集為2016年10月30日到2018年7月15日的前624 d數(shù)據(jù), 測(cè)試數(shù)據(jù)集為2018年7月16日到2018年8月4日共20 d的數(shù)據(jù). 對(duì)關(guān)鍵詞“四姑娘山天氣”的提前期1~14 d分別建立GWO-SVR客流量預(yù)測(cè)模型, 用平均絕對(duì)百分誤差(mean absolute percentage error, MAPE)作為預(yù)測(cè)精度指標(biāo). 計(jì)算關(guān)鍵詞“四姑娘山天氣”1~14 d提前期與客流量之間的R值以及每個(gè)模型的平均絕對(duì)百分誤差. 相關(guān)系數(shù)與預(yù)測(cè)精度的對(duì)比如表3所示.
表3 R值與預(yù)測(cè)精度的對(duì)比
表4 R > 0.8的九寨溝搜索關(guān)鍵詞
從表3中可見,R值最大時(shí)的提前期為2 d, 與預(yù)測(cè)精度最高的提前期相同, 且預(yù)測(cè)精度遠(yuǎn)高于其他提前期精度.R值第二大時(shí)的提前期為3 d, 此時(shí)的預(yù)測(cè)精度為第二高.R值第三大時(shí)的提前期為1 d, 此時(shí)的預(yù)測(cè)精度為第三高. 因此, 用相關(guān)系數(shù)法篩選關(guān)鍵詞提前期是有效的.
5) 確定最終關(guān)鍵詞. 設(shè)置關(guān)鍵詞的R閾值, 確定最終關(guān)鍵詞.R閾值設(shè)為0.8, 搜索關(guān)鍵詞如表4所示.
以2014年5月25日至2017年7月8日共1 141 d的數(shù)據(jù)為訓(xùn)練集, 以2017年7月9日至2017年7月28日共20 d的數(shù)據(jù)為測(cè)試數(shù)據(jù)集. 輸入變量為昨日客流量、 前日客流量、 去年同日客流量、 前年同日客流量、 昨日官網(wǎng)點(diǎn)擊數(shù)、 時(shí)間特征信息(主要是星期特征)、 最佳提前期搜索關(guān)鍵詞的整體趨勢(shì); 輸出變量為旅游客流量數(shù)據(jù). 設(shè)置灰狼優(yōu)化算法的最大迭代次數(shù)100, 種群規(guī)模50. 參數(shù)c取值范圍為[0.01, 100], 參數(shù)g取值范圍為[0.01, 100]. 將灰狼優(yōu)化算法得到的最優(yōu)參數(shù)(c,g)帶入到SVR中, 建立SVR模型對(duì)客流量進(jìn)行預(yù)測(cè).
在建立GWO-SVR模型后, 構(gòu)建ARIMA、 BPNN、 SVR、 PSO-SVR、 CS-SVR和無(wú)網(wǎng)絡(luò)搜索數(shù)據(jù)(沒(méi)有網(wǎng)絡(luò)搜索數(shù)據(jù)的GWO-SVR模型)等6個(gè)對(duì)比模型. 九寨溝客流量原值與7個(gè)預(yù)測(cè)模型的預(yù)測(cè)值的對(duì)比結(jié)果如圖1所示. 選擇平均絕對(duì)誤差(mean absolute error, MAE)、 均方誤差(mean squared error, MSE)和平均絕對(duì)百分誤差3個(gè)指標(biāo)來(lái)衡量模型的預(yù)測(cè)性能. 6個(gè)預(yù)測(cè)模型在九寨溝旅游客流量預(yù)測(cè)中的性能比較結(jié)果如表5所示.
圖1 九寨溝客流量的原值與預(yù)測(cè)值Fig.1 Original and predicted tourist flow in Jiuzhaigou Valley
表5 九寨溝的預(yù)測(cè)性能比較
表5中可見, 與ARIMA模型相比, BPNN模型的MAE、 MSE和MAPE分別下降了9.80%、 8.48%和5.23%, SVR模型的MAE、 MSE和MAPE分別下降了16.39%、 22.52%和15.29%, 說(shuō)明SVR對(duì)客流量預(yù)測(cè)問(wèn)題更有效. 與SVR模型相比, PSO-SVR模型的MAE、 MSE和MAPE分別下降了4.71%、 8.37%和4.28%; CS-SVR模型的MAE、 MSE和MAPE分別下降了5.84%、 6.31%和4.51%; GWO-SVR模型的MAE、 MSE和MAPE分別下降了11.6%、 15.46%和9.74%. 表明參數(shù)優(yōu)化提高SVR模型的預(yù)測(cè)精度, 且突出GWO算法的優(yōu)越性. 總之, GWO-SVR模型表現(xiàn)最好, 證明將GWO和SVR結(jié)合起來(lái)的模型用于九寨溝客流量預(yù)測(cè)中是適當(dāng)和有效的.
為驗(yàn)證GWO-SVR模型的穩(wěn)定性, 將該模型應(yīng)用于四姑娘山景區(qū)中. 四姑娘山的搜索關(guān)鍵詞有成都到四姑娘山、 四姑娘山、 四姑娘山攻略等.R閾值設(shè)為0.65, 最終搜索關(guān)鍵詞如表6所示. 用昨日客流量、 時(shí)間特征信息、 最佳提前期搜索關(guān)鍵詞的整體趨勢(shì)作為輸入變量, 用旅游客流量數(shù)據(jù)作為輸出變量, 以2016年10月30日到2018年7月15日的624 d數(shù)據(jù)為訓(xùn)練集, 以2018年7月16日到2018年8月4日共20 d的數(shù)據(jù)為測(cè)試集, 建立GWO-SVR預(yù)測(cè)模型. 同樣, 對(duì)比模型選擇ARIMA、 BPNN、 SVR、 PSO-SVR、 CS-SVR和無(wú)網(wǎng)絡(luò)搜索數(shù)據(jù)6個(gè)模型. 四姑娘山客流量原值與7個(gè)模型的預(yù)測(cè)值的對(duì)比結(jié)果如圖2所示, 預(yù)測(cè)性能比較結(jié)果如表7所示.
表6 R > 0.65的四姑娘山搜索關(guān)鍵詞
圖2 四姑娘山客流量的原值與預(yù)測(cè)值Fig.2 Original and predicted tourist flow in Four Girls Mountain
結(jié)合表5和表7的結(jié)果, 發(fā)現(xiàn)ARIMA模型均表現(xiàn)最差, BPNN模型均表現(xiàn)第二差, 這說(shuō)明在短期客流量預(yù)測(cè)中SVR模型優(yōu)于ARIMA和BPNN模型. 表5和表7的結(jié)論是SVR模型優(yōu)于ARIMA和BPNN模型, PSO-SVR、 CS-SVR和GWO-SVR模型優(yōu)于SVR模型, GWO-SVR模型優(yōu)于PSO-SVR和CS-SVR模型, GWO-SVR模型優(yōu)于無(wú)網(wǎng)絡(luò)搜索數(shù)據(jù)模型. 兩個(gè)景區(qū)客流量預(yù)測(cè)結(jié)論是一致的, 表明GWO-SVR預(yù)測(cè)模型具有穩(wěn)定性.
表7 四姑娘山的預(yù)測(cè)性能比較
利用網(wǎng)絡(luò)搜索數(shù)據(jù)建立GWO-SVR模型對(duì)九寨溝和四姑娘山兩個(gè)景區(qū)的客流量分別進(jìn)行研究. 實(shí)驗(yàn)結(jié)果表明: 首先, GWO-SVR預(yù)測(cè)模型在九寨溝和四姑娘山兩個(gè)不同規(guī)模的景區(qū)中表現(xiàn)出泛化能力強(qiáng)、 預(yù)測(cè)精度高等優(yōu)點(diǎn). 其次, 網(wǎng)絡(luò)搜索數(shù)據(jù)提高旅游客流量預(yù)測(cè)精度, 為旅游客流量預(yù)測(cè)研究提供新的數(shù)據(jù)來(lái)源. 最后, 在與ARIMA、 BPNN、 SVR、 PSO-SVR、 CS-SVR和無(wú)網(wǎng)絡(luò)搜索數(shù)據(jù)6個(gè)模型的對(duì)比實(shí)驗(yàn)中, 發(fā)現(xiàn)本研究提出的GWO-SVR預(yù)測(cè)模型在各評(píng)價(jià)指標(biāo)上都表現(xiàn)最優(yōu). 因此, GWO-SVR模型能較好地預(yù)測(cè)旅游短期客流量.