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