system: [SYSTEM]

user: 3. GM(1，1)模型在旅游人数中的应用 潍坊市旅游资源丰富，拥有众多旅游景点，凭借优越的条件，得到了众多游客的青睐，旅游业的发展潜力巨大。我们将通过MATLAB 软件，运用GM(1，1)预测模型，利用2011年至2019年潍坊市旅游人数的原始数据，通过模型来预测2020年至2024年潍坊市的旅游人数。表1展示了潍坊市2011年至2019年的旅游人数，本数据来源于中国统计信息网，数据的准确性值得信赖。 Table 1 Number of tourists in Weifang from 2011 to 201 年份/年 旅游人数/万人 2011 3631.5 2012 4256.0 2013 4735.2 2014 5195.8 2015 5611.5 2016 6115.1 2017 6805.5 2018 7586.9 2019 8240.1 表1. 潍坊市2011年至2019年的旅游人数 3.1. 潍坊市未来五年旅游人数预测 下面利用2011年至2019年潍坊市的旅游人数建立GM(1，1)模型。 1) 设原始数据列为 x ( 0 ) = ( 3631.5 ， 4256.0 ， 4735.2 ， 5195.8 ， 5611.5 ， 6115.1 ， 6805.5 ， 7586.9 ， 8240.1 ) ； 2) 计算级比 λ ( k ) = x ( 0 ) ( k − 1 ) x ( 0 ) ( k ) ， k = 2 ， 3 ， ⋯ ， 9 。代入数值，通过MATLAB软件计算得到 λ = ( λ ( 2 ) ， ⋯ ， λ ( 9 ) ) = ( 0.8533 ， 0.8988 ， 0.9114 ， 0.9259 ， 0.9176 ， 0.8986 ， 0.8970 ， 0.9207 ) ， 所有级比都落在其可容覆盖区间(0.8187， 1.1994)内，证明数列 x ( 0 ) 可以建立GM(1，1)模型进行灰色预测； 3) 对原始数据 x ( 0 ) 做一次累加得 x ( 1 ) = ( 3631 ， 7887 ， 12623 ， 17818 ， 23430 ， 29545 ， 36351 ， 43937 ， 52178 ) ； 4) 生成数列 x ( 1 ) 的邻均值生成数列 z ( 1 ) 。计算可得： z ( 1 ) = ( 5759，10255，15221，20624，26488，32948，40144，48058 ) ； 5) 生成数据矩阵B及数据向量 Y n 。 B = [ − z ( 1 ) ( 2 ) 1 − z ( 1 ) ( 3 ) 1 ⋮ ⋮ − z ( 1 ) ( 9 ) 1 ] = [ − 5759 1 − 10255 1 − 15221 1 − 20624 1 − 26488 1 − 32948 1 − 40144 1 − 48058 1 ] ， Y n = [ x 0 ( 2 ) x 0 ( 3 ) ⋮ x 0 ( 9 ) ] = [ 4256 .0 4735 .2 5195 .8 5611 .5 6115 .1 6805 .5 7586 .9 8240 .1 ] ； 6) 对 x ( 1 ) 建立微分方程： d x ( 1 ) ( t ) d t + a x ( 1 ) ( t ) = u 。 利用MATLAB软件求得 a = − 0.0942 ， u = 3718.3 ； 7) 微分方程的解为 x ¯ ( 1 ) ( k + 1 ) = 43089 e 0.0942 k − 39458 ； 8) 对数列 x ¯ ( 1 ) ( k + 1 ) 作累减可得旅游人数的预测值，见表2。 Table 2 A comparison between the actual and predicted number of tourists in Weifang Cit 年份/年 实际人数/万人 预测人数/万人 2011 3631.5 3631 2012 4256.0 4258 2013 4735.2 4679 2014 5195.8 5141 2015 5611.5 5649 2016 6115.1 6207 2017 6805.5 6821 2018 7586.9 7495 2019 8240.1 8235 表2. 潍坊市旅游人数实际值与预测值对比 9) 精度检验 由表2可知，实际值与预测值比较接近，说明模型的拟合效果比较准确，而且利用MATLAB程序可得相对误差 Q = ( 0 ， 0.0005 ， 0.0119 ， 0.0105 ， 0.0067 ， 0.0151 ， 0.0022 ， 0.0121 ， 0.0006 ) ，因为 Q ( k ) < 0.1 ，所以该预测达到较高要求。 10) 经过GM(1，1)灰色模型预测分析，得到了潍坊市未来五年的旅游人数预测，见表3。 Table 3 Forecast of the number of tourists in Weifang in the next five year 年份/年 旅游人数/万人 2020 9049 2021 9943 2022 10，926 2023 12，006 2024 13，192 表3. 未来五年潍坊市旅游人数预测 模型预测曲线见图1，呈现增长态势。从图中也可以看出，预测较好，精度较准。 图1. 潍坊市旅游人数预测曲线 3.2. GM(1，1)预测模型的MATLAB代码 根据GM(1，1)模型的建模步骤，利用MATLAB软件进行相关计算，具体代码如下： clear;clc; %建立符号变量a(发展系数)和u(灰作用量) syms a u; c=[a u]'; %原始数列x0 x0=[3631.5 4256.0 4735.2 5195.8 5611.5 6115.1 6805.5 7586.9 8240.1]; n=length(x0); %级比检验 Xle=exp(-2/(n+1)); Xre=exp(2/(n+2)); lambda=x0(1:end-1)./x0(2:end); range=minmax(lambda); if range(2) Xle disp('所有的级比都落在可容覆盖区间，可以建立GM模型') else disp('没有通过级比检验') end %对原始数列 x0 做累加得到数列 x1 x1=cumsum(x0); %对数列x1做紧邻均值生成 for i=2:n z(i)=(x1(i) + x1(i-1))/2; end z(1)=[ ]; %构造数据矩阵 x1=[-z;ones(1，n-1)]; Y=x0; Y(1)=[ ];Y=Y'; %使用最小二乘法计算参数a(发展系数)和u(灰作用量) c=inv(x1*x1')*x1*Y; c=c'; a=c(1); u=c(2); %预测后续数据 F=[ ];F(1)=x0(1); for i=2:(n+5) F(i)=(x0(1)-u/a)/exp(a*(i-1))+ u/a; end %对数列 F 累减还原，得到预测出的数据 G=[ ];G(1)=x0(1); for i=2:(n+5) G(i)=F(i)-F(i-1); %得到预测出来的数据 end disp('预测数据为：'); G %模型检验 H=G(1:9); %计算残差序列 epsilon=x0-H; %计算相对误差序列 Q=abs(epsilon./x0); Q %绘制曲线图 t1=2011:2019; t2=2011:2024; plot(t1， x0，'ro'); hold on; plot(t2， G， 'g-'); xlabel('年份/年'); ylabel('旅游人数/万人'); legend('原始数据'，'预测数据'); grid on;