基于
LOF
SSA
PSO
SVM
模型
旅游
客流量
预测
D O I:1 0.3 9 6 9/j.i s s n.1 0 0 1-5 3 3 7.2 0 2 3.3.0 3 1*收稿日期:2 0 2 3-0 3-0 7基金项目:2 0 2 2年呼伦贝尔学院科研资助项目(2 0 2 2 F D Y B 0 3);内蒙古自治区高等学校科学技术研究项目(N J Z Y 1 9 2 3 1).作者简介:张娟,女,1 9 8 6-,硕士,讲师;研究方向:经济分析与预测;E-m a i l:h l b e z h j 1 6 3.c o m.基于L O F-S S A-P S O-L S S VM模型的旅游客流量预测*张 娟(呼伦贝尔学院数学与统计学院,0 2 1 0 0 8,内蒙古自治区呼伦贝尔市)摘要:针对月度旅游客流量影响因素复杂,时间序列数据中可能存在异常值和噪声的特点,提出了一个基于局部异常因子(L O F)和奇异谱分析(S S A)的L O F-S S A-P S O-L S S VM预测模型.数据预处理阶段,对原始序列运用X 1 2季节加法模型消除季节性的影响,采用L O F方法检测季节调整后序列的异常值,并使用线性插值和最小二乘支持向量机(L S S VM)方法来修正异常值,新的待预测序列由修正后的季节调整序列与季节因子序列加和得到.预测阶段,首先采用奇异谱分析(S S A)方法来剔除新的待预测序列中的噪声,然后采用P S O-L S S VM方法对其进行预测.以上海2 0 0 4年1月至2 0 1 8年1 2月旅游客流量序列的预测为例,通过与A R I MA、L S S VM等模型比较,表明L O F-S S A-P S O-L S S VM模型能有效提高旅游客流量的预测精度和稳定性.关键词:旅游客流量预测;局部异常因子;最小二乘支持向量机;粒子群寻优;奇异谱分析中图分类号:F 5 9 2;T P 3 9 1 文献标识码:A 文章编号:1 0 0 1-5 3 3 7(2 0 2 3)0 3-0 0 3 1-0 60 引 言旅游业具有“无烟产业”和“永远的朝阳产业”的美称,是非贸易外汇收入的主要来源之一.根据国家旅游局统计数据,2 0 1 8年我国旅游总收入5.9 7万亿元,同比增长1 0.5%,旅游业对全国G D P的综合贡献为9.9 4万亿元,占全国G D P总量的1 1.0 4%.旅游客流量是旅游业发展水平的重要指标,科学合理地预测旅游客流量,对于旅游资源高效利用及地方经济的发展规划具有重要指导意义和实践价值.在旅游客流量的预测方法上,国内外学者已经进行了大量研究.涉及到的预测模型主要有时间序列模型1,2、计量经济模型3和人工智能模型4,5等.由于支持向量机模型(S VM)6在小样本、非线性条件下的明显优势,它已成为非线性时间序列预测的一种重要方法.最小二乘支持向量机(L S S VM)是基于支持向量机的改进模型,被广泛应用于多种预测领域7,8.L S S VM模型中参数的选择直接影响到其预测精度,因此,粒子群算法(P S O)9、布谷鸟算法(C S)1 0等方法被广泛应用于其参数优化.多位学者的实证结果表明,相比较L S S VM方法,基于P S O和C S方法参数寻优的L S S VM模型预测精度更高.在实际预测问题中,由于时间序列的固有复杂性,针对序列的不同特征采用相应的预处理方法便显得尤为重要.对于月度旅游客流量的数据,主要包含3个数据特征:1)由于受到旅游资源和旅游活动的影响,旅游业具有明显的季节性.对于具有季节效应的时间序列,常用的预处理方法为X 1 2季节分解1 1,即剔除季节效应影响后,提取出季节调整后序列做进一步分析.2)对于原始数据而言,由于容易受到大的经济因素(比如金融危机、世博会等事件)影响,使得时间序列数据中包含有一定的异常值,而异常值的出现会增大时间序列的预测误差,因此,异常值检测和修正成为序列预处理的一个重要步骤.常用的方法是局部异常因子算 法1 2(l o c a lo u t l i e r f a c t o r,L O F).3)数据本身可能包含噪声,如果不加处理而直接进行建模预测,模型的预测精度 第4 9卷 第3期2 0 2 3年7月 曲阜师范大学学报J o u r n a l o f Q u f u N o r m a l U n i v e r s i t y V o l.4 9 N o.3J u l y2 0 2 3 也会大大降低.常用的剔除噪声的方法有小波分解1 3,1 4(WT)、经 验 模 态 分 解1 5(e m p i r i c a lm o d ed e c o m p o s i t i o n,EMD)和 奇 异 谱 分 析1 6(s i n g u l a rs p e c t r u ma n a l y s i s,S S A)等.梁小珍等1 7通过对我国航空客流量的预测研究,发现在序列去噪方面,S S A方法的去噪效果明显优于EMD方法.以上研究的主要问题是,对于旅游客流量序列,缺乏综合季节性、异常值、噪声项3种因素的全面研究.基于上述分析,结合月度旅游客流量的数据特征,本文构建了一种以X 1 2季节分解、L O F异常值检测、S S A分解重构为序列预处理方法的P S O参数寻优下的L S S VM预测模型.针对原始数据具有季节效应的特点,首先采用X 1 2季节分解,通过L O F异常值检测方法识别出异常值并进行修正,利用S S A方法剔除了待预测序列中的噪声.最后为了保证模型精度,使用P S O方法对L S S VM中的参数进行寻优,并利用参数结果进行L S S VM预测.同时,将原始单一模型、仅S S A处理的模型、仅L O F修正的模型与L O F-S S A-L S S VM模型的预测结果做对比分析,以期找出更为精确的预测模型.本文结构安排如下:第1节介绍本文使用的主要方法和模型框架;第2节以上海月度旅游客流量为例,进行了实证研究;最后一节总结全文研究结论.1 模型设计本文基于L O F异常值检测的L O F-S S A-P S O-L S S VM模型对上海月度旅游客流量进行预测分析,模型框架如图1,具体步骤如下.(1)对原始序列进行X 1 2季节调整,得到季节因子(S F)和季节调整后序列(S A).(2)采用L O F异常值检测方法针对季节调整后序列(S A)进行异常值检测,得到异常值点所在的位置.(3)使用插值修正和L S S VM预测修正方法对序列中异常值点进行修正,得到修正后的季节调整序列.(4)修正后的季节调整序列与季节因子相加,得到新的待预测序列.(5)通过对4)中的月度数据进行S S A分解和重构,得到去噪后的新的待预测序列.(6)采用P S O-L S S VM方法对去噪后的新的待预测序列进行预测,从而得到预测值.图1 L O F-S S A-P S O-L S S VM预测模型框架2 模型预测效果检验2.1 数据来源及评价准则本文采用2 0 0 4年1月至2 0 1 8年1 2月上海市月度旅游客流量(即接待过夜游客人数)为研究数据,共1 8 0个观测值,数据来自于 上海统计年鉴.由图2可以看出,上海月度旅游客流量呈整体上升趋势,且具有明显的季节变动规律.某些月份的客流量数值明显异于周边数据,可能为异常值所在位置.为了保证实证结果的可靠性,根据模型要求,本文进行了3组滚动预测.第一组以2 0 0 4年1月2 0 1 5年1 2月数据(1 4 4个观测值)为训练样本对模型进行训练,2 0 1 6年1月1 2月的1 2个数据作为测试样本来检验模型预测精度.第二组以2 0 0 4年1月2 0 1 6年1 2月数据(1 5 6个观测值)预测2 0 1 7年1月1 2月的数据.第三组以2 0 0 4年1月2 0 1 7年1 2月数据(1 6 8个观测值)预测2 0 1 8年1月1 2月的数据.图2 2 0 0 4年1月2 0 1 8年1 2月上海旅游客流量序列图23 曲阜师范大学学报(自然科学版)2 0 2 3年为了评价不同模型之间的预测准确度,本文采用平均 绝 对 误 差(MA E)和 平 均 绝 对 百 分 误 差(MA P E)作为评价指标.2.2 预测效果检验2.2.1 L O F检测针对上海旅游客流量具有明显季节性和趋势性的特点,为了避免周期性的季节变化对模型预测准确度的影响,首先采用X 1 2季节加法模型对原序列进行分解,得到了季节调整后序列(S A)和季节因子(S F).其次依据季节调整后序列(S A)考察数据的异常变动,采用L O F异常值检测的方法,取k=1 0,计算每月客流量数据的L O F值,并以L O F临界值为1.5判断数据的异常性.图3为1 8 0个训练数据的L O F值,根据约定的阈值共检验出1 6个异常值,异常数据对应的具体位置如表1所示.图3 训练样本的L O F1 0值序列 表1 L O F异常值检测结果月份L O F1 0月份L O F1 02 0 0 4-1 21.5 2 32 0 1 0-1 04.4 5 72 0 0 5-0 21.7 1 12 0 1 0-1 12.3 3 92 0 0 5-0 61.5 1 92 0 1 1-0 12.6 2 02 0 0 6-0 12.3 3 42 0 1 3-0 52.6 0 62 0 0 9-0 82.1 3 92 0 1 4-0 12.0 5 92 0 1 0-0 21.7 1 32 0 1 5-0 22.1 1 72 0 1 0-0 42.4 1 72 0 1 6-0 21.9 8 82 0 1 0-0 95.8 8 92 0 1 8-0 22.5 6 5 为了考察1 6个异常值出现的原因,结合特殊事件对上海旅游客流量的影响,经过分析可得,2 0 0 9-0 8的异常数据受到了当年金融危机的影响;2 0 1 0-0 4、2 0 1 0-0 9、2 0 1 0-1 0、2 0 1 0-1 1的异常数据受到了上海世博会的影响;2 0 0 5-0 2、2 0 0 6-0 1、2 0 1 0-0 2、2 0 1 1-0 1、2 0 1 4-0 1、2 0 1 5-0 2、2 0 1 6-0 2、2 0 1 8-0 2这几年2月份前后的异常数据,主要是受到旅游周期的影响;2 0 0 4-1 2、2 0 0 5-0 6、2 0 1 3-0 5的异常数据可能是随机干扰所造成的.异常数据的存在会影响预测模型中的参数估计,从而增大预测误差,因此对其进行修正是非常必要的.2.2.2 线性插值及L S S VM修正季节调整序列根据表1提取出的异常数据位置,对季节调整序列进行修正,具体方法为:对于单一的异常数据点,比如2 0 0 5-0 6、2 0 0 9-0 8、2 0 1 3-0 5等,采用临近点线性插值法来修正异常数据;对于成片的异常数据点,比如2 0 1 0-0 9、2 0 1 0-1 0、2 0 1 0-1 1等,以当前异常值之前的数据序列为基础,使用L S S VM方法进行预测来修正异常数据.修正前后的数据对比如图4,可以看出,相比较原始序列,异常值修正后的季节调整序列具有更好的平稳性和规律性.图4 L O F修正前后的季节调整序列2.2.3 S S A对新的待预测序列进行降噪将异常值修正后的季节调整序列与之前得到的季节因子序列(S F)相加,即得到了新的待预测序列.在剔除了原始序列的异常值之后,对于新的待预测序列中的噪声项,使用S S A分解和重构方法来完成去噪.S S A方法的一个重要步骤是嵌入维数L的选择,由于L一般不超过序列长度的1/3,且最好为周期的整数倍,以训练集2 0 0 4年1月2 0 1 5年1 2月(共1 4 4个观测值)为例,选择嵌入维数L=4 8.图5是前2 0个特征值对应的特征值曲线图,从特征值变化趋势中可以看出,从第1 5个特征值开始,曲线下降速度缓慢,且经过计算前1 5个分量的方差累积贡献率达到9 6.1 5%.所以,提取前1 5个分量对原始序列进行重构,以得