基于ACO_SVM的扬州市旅游业年总收入预测

2024-04-06 15:27杨奥莉
黑龙江科学 2024年5期
关键词:总收入扬州市扬州

苏 丹,杨奥莉

(1.扬州工业职业技术学院 基础科学部,江苏 扬州 225000;2.浙江师范大学 数学与计算机科学学院,浙江 金华 321000)

0 引言

近年来,旅游业成为助推经济发展的重要环节,能够增加就业机会、推动产业结构升级、促进国际贸易等。随着人民生活水平的不断提高、交通的便利化与文化产业的不断发展,旅游业已成为各旅游城市的支柱产业。旅游年总收入预测结果能够反映城市旅游业与旅行社的发展走势,是衡量城市经济发展指标的重要依据,可为城市旅游发展规划的制定提供合理的参考,更有利于针对性地提升城市旅游业的服务质量。

针对旅游业年总收入的预测已有大量研究成果。张伟等选取马尔可夫模型对山东省各地区旅游总收入进行预测,得出各地区旅游业最终都将进入发达阶段的结论[1]。蔡溢等基于灰色系统理论对贵州省旅游业发展与预测进行了研究[2]。张吉洋等根据海南旅游业总收入时间序列数据建立ARIMA模型进行试验,得到海南省旅游业总收入的最佳预测模型,为海南省的旅游业发展提出建议[3]。

上述研究分别选择不同的算法预测模型,但采用SVM模型预测旅游业总收入的研究较少。基于此,以扬州市为例,引入ACO优化算法对SVM模型的关键性参数进行寻优处理,建立基于ACO_SVM的旅游业年总收入预测模型,并结合MATLAB进行模型实验,以期得到最优的扬州市旅游业总收入预测模型,为扬州旅游业未来发展规划的制定提供参考。

1 扬州市旅游业发展现状

扬州的城市经济发展离不开旅游业可持续发展的助力。扬州政府先后出台《大运河扬州段文化与旅游融合发展规划》《扬州市旅游促进条例》与《扬州市“十四五”文化与旅游业发展规划》等政策文件,对旅游业的发展给予政策引导与扶持。

截至2020年底,扬州市拥有国家A级旅游景区57家,其中5A级旅游景区1家、4A级旅游景区14家、3A级旅游景区32家,A级旅游景区数量位居江苏省第二位。2019年游客接待总量达7747.07万人次,比2016年增长38%,年均增长11.2%;旅游总收入由2016年的691.39亿元提升至2019年的1010.2亿元,年均增速约13.5%;旅游业收入占全市生产总值的17.27%,旅游业增加值占全市GDP的8%[4]。

以上数据表明,扬州市旅游业的发展对其经济增长起到了促进作用,且扬州市的经济增长也极大地带动了其旅游业的发展,分析扬州旅游业总收入的发展趋势,对于研究扬州旅游业对其经济增长的影响具有重要意义。

2 ACO_SVM模型的构建

2.1 支持向量机理论基础

支持向量机(SVM)是一种基于监督学习方式的机器学习算法,与其他机器学习算法相比,SVM具有结构简单、适应性好、训练速度快等优点[5、6]。针对旅游业年总收入预测问题,将支持向量机作为回归器进行建模。在SVM的回归模型中,将输入的样本数据x通过映射函数φ(x)映射至高维空间H以解决非线性问题,随后在这个高维空间中构建线性模型估计回归函数[7、8]:

f(x,φ)=ωφ(x)+b

式中,ω表示权值向量,b表示偏移向量。

对于给定的样本集D=(xi,yi)i=1,…,n,采用ε线性不敏感损失函数定义如下:

式中,y′为回归函数中的预测值,y为其对应的实测值。故对应的支持向量机称为ε-支持向量机,其对应的约束优化问题见式(1):

(1)

为更好地进行求解,引入Lagrange乘子将上式转化为对偶问题,最终得到SVM的回归函数:

式中,γ为RBF核函数参数。

2.2 ACO_SVM模型参数的选取

采用SVM模型对扬州市旅游业年总收入进行预测时,惩罚参数C与核函数参数γ的取值对预测结果的精确度有很大的影响。为避免模型中选取的最优惩罚C与核函数参数γ所造成的误差,选取蚁群算法(ACO)[9]对SVM模型中的参数C与γ进行寻优处理,建立基于ACO_SVM优化算法的旅游业年总收入预测模型。

2.2.1 ACO算法的基本原理

ACO算法是对蚂蚁寻找食物的行为进行模仿归纳而形成的一种新型元启发式算法,其基本原理为:蚂蚁在觅食时会分泌信息素,并通过分辨信息素的浓度来引导自身前进方向,确定巢穴与食物来源之间的最短路径。随着时间变化,信息素浓度会变淡,故需对其进行选择并及时更新,设置迭代次数,最终找到全局最优解,避免影响选择路径优化的现象出现[10、11]。

2.2.2 构建解空间

式中,β为启发函数因子,α为信息素因子,ηij(t)为两点之间长度的倒数,i,j分别为起始点与终点,t为最大迭代次数,τij(t)为时间t由i到j的信息素含量,Jk(i)为还没被访问过的节点集合,全部访问完成后表示一次循环结束。

2.2.3 更新信息素

记录迭代次数上的最优解(最短路径),调整不同城市路线中的信息素含量:

τij(t+n)=(1-ρ)*τij(t)+Δτij

式中,C0为正常数,Lk为蚂蚁k在当前周期内通过路径的长度。

2.2.4 判断是否结束

若迭代次数少于最大迭代次数,迭代次数+1,同时清空所有蚂蚁经过路线的记录表,并返回第一步。否则结束计算,将得到的最优解进行输出处理。

2.2.5 利用ACO算法优化SVM参数

选择RBF为支持向量机的核函数,采用ACO算法搜索最适合的惩罚参数C与核函数参数γ的流程如下:

1)数据预处理及划分训练集与测试集。

2)输入ACO算法参数初始值,设置蚁群数量N,最大迭代次数K,信息素蒸发系数ρ,信息素增加强度Q等。对数组[C,γ]数据进行初始化处理,设置C与γ的取值范围为[0.1,1000]。

3)使用ACO算法对参数进行搜索,蚁群按相应规则朝着信息素最大的地方寻找,不断更新信息素并进行记录。

4)采用数据训练时输出均方误差(MSE),平均绝对百分比误差(MAPE)。

5)判断运算迭代次数是否达到最大迭代数目K或是否达到最佳适应度值的设定精度,若没有则转到步骤3,若有则满足结束条件,停止并输出最佳参数。

3 基于ACO_SVM的扬州市旅游总收入预测结果

3.1 样本数据获取及预处理

3.1.1 原数据获取

通过查阅文献、国家统计年鉴、扬州统计年鉴、扬州市统计网站及广郡通数据平台等,获取扬州市2002—2021年各项统计数据。其中,x0为旅游总收入(亿元),x1为入境游客人数(万人次),x2为国内游客(万人次),x3为客运量(万人),x4为旅客周转量(亿人公里),x5为第三产业实现增加量(亿元),x6为扬州市GDP(亿元),x7为扬州常住人口数量(万人),x8为扬州城镇居民人均可支配收入(元),x9为扬州城镇居民人均消费性支出(元),x10为扬州农村居民人均可支配收入(元),x11为扬州农村居民人均消费性支出(元),x12为扬州市旅行社数量(家),x13为扬州市星级饭店数量(家)。部分原始数据详见表1。

表1 扬州市2002—2021年相关统计的部分原始数据Tab.1 Part of the original data of Yangzhou City from 2002 to 2021

3.1.2 归一化处理

为消除各预测指标数据的量纲对扬州市旅游业年总收入预测结果准确性的影响,对原始数据进行归一化处理。使用mapminmax函数对其进行规范化,将样本数据转化为[-1,1]之间的数据,公式如下[12]:

式中,xij表示原始样本数据,yij表示样本数据归一化后的数据,ymax、ymin为设置参数最大值与最小值的映射区间。由于样本数据要规整在[-1,1],设置ymax=1、ymin=-1。样本数据归一化通过MATLAB实现,表1原始数据归一化的结果详见表2。

表2 扬州市2002—2021年的相关统计部分原始数据的归一化结果Tab.2 Normalization results of some original data of Yangzhou City from 2002 to 2021

3.2 训练集与测试集的划分

将归一化处理后的数据集分为训练数据与测试数据:训练数据集用于建立ACO_SVM预测模型,测试数据集用于检验新提出的回归优化模型。以2002—2018年扬州市的各类数据为训练集,2019—2021年扬州市的各类数据为测试集。

3.3 优化SVM参数与训练模型

3.3.1 参数优化

通过ACO算法搜索支持向量机的2个最优参数:惩罚参数C与核函数的参数γ;选择RBF作为支持向量机的核函数,用MATLAB编程,选取扬州市旅游业年总收入预测的预测指标(x1,…,x13)为输入变量,目标层的旅游总收入(x0)为输出变量,对训练集进行训练。设定惩罚参数C的取值范围为[10,10 000],RBF核函数参数γ的取值范围为[0.001,10]。在搜索过程中为得到2个最优参数,迭代上线设为200,得出模型的最佳适应度为1.26×105。详见图1。

图1 参数优化适应度变化Fig.1 Changes of parameter optimization fitness

3.3.2 训练模型

利用寻优后的惩罚参数C与核函数参数γ对ACO_SVM预测模型进行训练,发现扬州市2002—2018年旅游业总收入预测值与实际值间存在较小的波动,预测值与实际值的MSE与MAPE分别为0.1552与0.0994。拟合优度R2为0.937983,R2值越接近1,说明回归直线对观测值的拟合度越好。参数C=9.344×103,γ=0.01,说明参数寻优过程合理有效,训练结果精度较高。训练结果的拟合效果详见图2。

图2 真实值与预测值拟合效果Fig.2 Fitting effect between the real and the predicted value

扬州市旅游业年总收入增长存在一定的变化趋势,故历史数据可用于总结其旅游业年总收入增长的特点,考虑到其他方面的影响因素,预测未来旅游业年总收入的发展走向。应用ACO_SVM预测模型预测扬州市旅游业总收入的偏差较小,预测值较接近实际值,故将训练好的ACO_SVM预测模型应用于对2022—2026年扬州市旅游业年总收入的预测。预测值详见表3。

表3 扬州市旅游业年总收入预测值Tab.3 Prediction value of total annual tourism revenue of Yangzhou City

3.4 模型预测结果对比

使用ACO_SVM预测模型与SVM预测模型两种学习算法对旅游收入趋势进行预测,ACO_SVM与SVM模型相比,前者的MSE与MAPE分别降低了52%与54%,表明ACO_SVM预测模型具有更高的精度和稳定性,能够提供更实用的依据与参考。详见图3。

图3 ACO_SVM模型与SVM模型精度对比Fig.3 Comparison of accuracy between ACO_SVM model and SVM model

猜你喜欢
总收入扬州市扬州
扬州市出台《扬州市氢能产业安全管理暂行规定》
扬州市查处一起非法经营汽油案
我那水蛇腰的扬州
扬州的夏日
碧桂园:2019年总收入4859.1亿 同比增长28.2%
扬州的秋日
旅游业:半年总收入2.25万亿元
旅游业:半年总收入2.25万亿元
谁有“洪荒之力”里约奥运会收入最高的参赛选手
下扬州