图1商品零售业各月份的预测值与实际值图像 由以上表格和图像可以看出,4、5、6、7月份的损失比较大,损失大约亿元,而其他月份损失相对较少。 计算的Matlab程序: clc,clear load %把原始数据保存在纯文本文件 中 han1(end,:)=[]; %由于2003年的值要预测,删除矩阵的最后一行 m=size(han1,2); %求矩阵的列数 x0=mean(han1,2); % 求矩阵每一行的均值 x1=cumsum(x0) % 对均值进行累加 alpha=;n=length(x0); z1=alpha*x1(2:n)+(1-alpha)*x1(1:n-1) % 求邻值生成值 Y=x0(2:n);B=[-z1,ones(n-1,1)]; ab=B\\Y % 最小二乘法拟合系数 %下面求年平均值的预测值,取n=6 预测下一年度 x_hat=(x0(1)-ab(2)/ab(1))*(exp(-ab(1)*n)-exp(-ab(1)*(n-1))) z=m*x_hat % 求全年的预测值 u=sum(han1)/sum(sum(han1)) %根据历史数据计算每个月的比例值 v=z*u %计算每个月的预测值 绘制图像的程序: clc,clear; x=1:1:12; y1=[ ]; y2=[ 124 157 ]; plot(x,y1,'-*r') hold on plot(x,y2,'-og') hold off %商品零售业 旅游业 利用与商品零售业相同的方法对旅游业进行分析,建立灰色预测模型,对2003年的接待海外旅游人数进行预测。 参考数据为:x2(0)?(19.1,18.10833,20.83333,24.39167,24.75,27.175) 计算得到的数列级比为: k 2 3 4 5 6 ?2(k) 表3 旅游业数列级比 ?2(k)全部在可容覆盖内,因此可以作为模型GM(1,1)的数据进行灰色预测。 x1(1)?(19.1000,37.2083,58.0417,82.4333,107.1833,134.3583)z1(1)??26.3433,45.5417,67.7983,92.3333,118.0533? 利用最小二乘法求得参数的估计值为: a? -0.0946,b?16.4256 进而得到预测k?1年数据的公式为: b???2?0??k?1??x?2?1??k?1??x?2?1??k???x2?0??1???e?at?e?a?k?1?xa??16.4256?0.0946t0.0946?k?1????19.1??e ?e-0.0946???????192.7321e0.0946t?e?0.0946?k?1??由上述公式预测得到2003年商品零售额的平均值为:x?30.6961万人,销售总额Z 为:Z?30.6961?12?368.3527 万人。 月份 1 2 3 4 5 6 7 8 9 10 11 12 ui 预测值 实 际值 表4 旅游业各月份预测值与实际值 图2旅游业各月份预测值与实际值图像 由以上表格和图像可以看出,旅游业的损失比较严重, 4 、5 、6 、7、8、9、10这7个月份的损失更为大,损失约155万人,全年大约损失178 万人,到年底基本恢复正常。 计算程序为: clc,clear load %把原始数据保存在纯文本文件 中 han2(end,:)=[]; %由于2003年的值要预测,删除矩阵的最后一行 m=size(han2,2); %求矩阵的列数 x0=mean(han2,2); % 求矩阵每一行的均值 x1=cumsum(x0) % 对均值进行累加 alpha=;n=length(x0); z1=alpha*x1(2:n)+(1-alpha)*x1(1:n-1) % 求邻值生成值 Y=x0(2:n);B=[-z1,ones(n-1,1)]; ab=B\\Y % 最小二乘法拟合系数 %下面求年平均值的预测值,取n=6 预测下一年度 x_hat=(x0(1)-ab(2)/ab(1))*(exp(-ab(1)*n)-exp(-ab(1)*(n-1))) z=m*x_hat % 求全年的预测值 u=sum(han2)/sum(sum(han2)) %根据历史数据计算每个月的比例值 v=z*u %计算每个月的预测值 绘制图像的程序: clc,clear; x=1:1:12; y1=[ y2=[ plot(x,y1,'-*r') hold on plot(x,y2,'-og') hold off %旅游业 ]; ];