- -108
2010年第16期(总第151期)
NO.16.2010
(CumulativetyNO.151)
China Hi-Tech Enterprises
摘要:预测在现实生活中有很重要的运用,实用域很广。由于社会经济的需要,不同的预测模型也随之应运而生,如
灰色预测模型、曲线模拟、回归分析、神经网络、时间序列分析预测模型。不同的预测模型各有特点和适用范围,文章通过对某货运公司未来七天用户货运申请量预测的具体实例,探讨预测模型的特点和应用。关键词:预测模型;灰色预测模型;曲线模拟;回归分析;时间序列分析;神经网络中图分类号:O438 文献标识码:A 文章编号:1009-2374 (2010)16-0108-02预测模型的特点及应用研究
刘 辉,葛生燕,钟 武,田小琴,张锦琰
(重庆邮电大学,重庆 400065)
我们通过对一些货运公司运营及工作的了解,发现如果公司能够提前得到一段时间内每天的货物申请量作为参考,那么将带来极大的经济效益。根据实际情况得到某货运公司现有一个月的A 类货物申请量数据,来预测其后7天内每天各类货物申请量。其中,A 类货物一个月的申请量为(1601 5421 10 4439 1703 3232 2200 1167 17 3737 1807 1628 1723 2584 1551 2479 1199 4148 2449 2026 1690 3374 2015 2480 1850 2249 1674 3666 2029 1238)。
预测需要有历史数据的支持,根据已给数据的特点,决定用什么样的模型进行预测。下面我们一一介绍和运用。
一、各种预测模型介绍及特点
(一)灰色预测模型
灰色预测方法,特别是GM(1,1)模型,近年来在社会,科技,农业,气象,水利,医学等各个领域得到了广泛的应用,但在实际的应用过程中发现效果时好时坏。我们通过以下原因了解其特点:
1.若原始序列是杂乱无章的,经过GM(1.1)模型后,序列也成指数型变化规律,因此,可以说GM(1.1)基本只适合指数型变化的系统。
2.G(1.1)对累加之后的原始数据可能会预测的更为准确,但对原始序列直接校验预测的有可能不准确。
3.灰色模型的根本假设是假定参数a,
u 为定常数的一阶线性微分方程(1)(1)()
()dx t ax t u dt
+=向原始数列逼近,其本质是使原始数据成指数规律变化。
通过以上解释我们可以得出:灰色模型只适合成指数型变化的序列,在本题中,我们明显可以看出数列并不是指数的变化趋势,所以灰色预测模型在此题中不适用。(二)曲线模拟
曲线模拟是根据已知的历史资料来拟合一条曲线,使得这条曲线能反映负荷本身的增长趋势,然后按照这个增长趋势曲线,对要求的未来某一点估计出那个时刻的负荷预测值。常用的趋势模型有线性趋势模型、多项式趋势模型、线性趋势模型、对数趋势模型、逻辑斯蒂 (logistic)模型等。
从本题给出的数列来看,多项式模拟比较适合,但是,此
数列呈上下波动且范围较大,必须采用高阶的多项式模拟。然而,多项式模拟随着阶数的增加预测结果的可信度就越低,一般是不超过3、4阶,然而3、4阶无法模拟出此题的数列的趋势,所以,曲线模拟在此题也不适用。
(三)回归分析
回归分析法又称统计分析法,其任务是确定预测值和影响因子之间的关系。该方法不仅依赖于模型的准确性,更依赖于影响因子其本身预测值的准确度。在此题中只给出一个月的货物申请量,并没有给出其他相关的数据信息,所以,我们无法从题目中找出影响因子,因此回归分析在此题中仍然不适用。
(四)时间序列分析
时间序列较为抽象。设已知时间序列X 1,
X 2,…X n ,其中X i 表示某活动第i 个时刻的数据,
时间序列预测就是在n 时刻根据前n 个时刻的数据估计第n+1时刻的值,这是一个对给定的数据拟合一个模型然后进行外推的过程。
从上面可以看出,想要使用时间序列分析,数据间必须存在着某种依赖关系,但是在本题中,顾客的申请总量是随机
的,不存在或很难寻找到X n +1=f (X 1,
X 2,…X n )这样的数据依赖关系,因此,时间序列分析在此题也不适用。
通过以上分析可知以上预测模型在此题中均不适用,那有没有使用于此题的预测模型呢?有,那就是神经网络预测模型。
(五)神经网络模型
神经网络是人脑神经网络的一种物理模型,是由大量神经元按照一定的方式组合而成的网络。数学上可以证明神经网络可以逼近任意的函数,这样一来神经网络模型可以弥补其他很多方法的在数据搜集因素相关分析等方面的缺陷。神经网络以其独特的信息处理特点,在许多领域得到成功的运用。
1.神经网络模型基本原理。在拥有一些输入和相应的输出而不清楚由输入得到输出机理的情况下,我们可以把输入与输出之间的未知过程看成是一个“网络” ,通过不断地给这个网络输入和相应的输出来“训练”,网络便不断地调节各节点之间的权值以满足输入输出。训练结束后,我们给定一个输入,网络便会根据已调节好的权值计算出一个输出。这
2.神经网络预测步骤:(1)首先要明确建立的这个模型的内部逻辑关系;(2)确定隐层数,神经元的个数,画出简要模型图;(3)确定采用什么样的神经网络来建立模型;(4)通过测试数据来训练模型;(5)根据测试训练得到的数据和实际数据进行比对,估算出误差。从而修改隐层中的权值和阀值。
二、BP神经网络建模及求解
根据以上步骤,我们来编写相应的程序,应用 MATLAB 的神经网络工具箱对该网络模型进行训练主要代码如下 :clear %清除已建网络
p=[1601 5421 10 4439 1703 3232 2200 1167 17 3737 1807 1628 1723
2584 1551 2479 1199 4148 2449 2026 1690 3374 2015 2480 1850 2249
1674 3666 2029 1238];
p1=p./40000 %数据转换
pi=p1(1:12) %选取训练样本
ti=p1(9:20) %注意与网络输入层节点数对应
n=newff([0 1],[5 7 1 ]); %建立网络,注意各层调整节点数n.trainparam.show=50; %设定参数
n.trainparam.goal=0.0001; %精度不是越小越好,双向调整
n.trainparam.epochs=1000; %实际次数很小,调整对结果有影响
n=train(n,pi,ti); %训练网络
yi=sim(n,pi)
y1=(yi-ti)./ti %计算目标相对误差
pk=[0.06 0.1052 0.1200]; %选择检验样本
tk=[0.1483 0.1624 0.1869];
yk=sim(n,pk) %仿真检验,与tk对比
y2=(yk-tk)./tk %计算检验相对误差
pk=p1(24:30); %预测后七天的申请量
yk=sim(n,pk)
yk=yk.*40000
通过以上代码,不断调节神经元个数,和神经层数,未来七天用户申请量预测结果见表1:
表1
第一天第二天第三天第四天第五天第六天第七天1663240515581852350916052198
结果分析:从预测结果来看,预测结果的仍然符合原来数列上下波动的趋势,并且保持着历史数据按时间变化的规律,结果较为理想,预测结果可以作为公司进行决策时的参考。
三、思考与建议
通过对货运公司运营的具体事例的解题,我们可以对各种预测模型有一个基本的了解。可以发现,不同的预测模型都有着各自独特的特点,在适用于它们的领域和问题中,发挥着极其精妙的作用。在当前我国经济飞速发展的形式下,倘若我们能够掌握各种预测模型的特点,灵活运用在各个行业中,必定为各行业本身,为社会、国家带来更大的经济效益和发展。预测模型在社会上的广泛使用只是我们对知识和科技用知识运用的典型,更为重要的是我们能够真正的具备用知识武装头脑,用科技创造未来的思想去为国家创造更为灿烂的明天。
参考文献
[1]李丽,王振领.MATLAB工程计算及应用[M].北京:人民邮电出版社,2001.
[2]吴翠娟.基于神经网络的选煤厂日用水量预测研究[J].2009,(4).
[3]王惠霞,冯俊文,苏琴.灰色预测模型与指数曲线预测模型的比较分析[J].1995,(3).
[4]秦大建,李志蜀.基于神经网络的时间序列组合预测模型研究及应用[J].计算机应用,2006,26(Z1).[5]魏巍,MATLAB控制工程工具箱技术手册[M].北京:国防科技工业出版社,2004.
- -
109下载本文