南京财经大学本科毕业论文(设计)
通过对“部分”已知信息的生成、开发,提取有价值的信息,实现对系统运行规律的正确认识和有效控制。灰色预测模型属于全因素的非线性拟合外推类方法,在形式上是单数列预测,只运用研究对象自身的时间序列建立模型,与其相关联的因素没有参与建模,这正是灰色系统“灰”的体现。因为任何一个系统究竟包含多少因素,难以说清。比如人口系统的再生产是由生育、死亡、疾病、灾害、环境、社会、经济等诸多因素影响、制约的共同结果,如此众多的因素不可能通过几个指标就能表达清楚,它们对人口增长的潜在而复杂的影响更是无法精确计算。这反映人口系统具有明显的灰色性,适宜采用灰色模型去发掘和认识其原始时间序列综合灰色量所包涵的内在规律。
3.灰色系统建模方法
设X(0)= [x(0)(1), x(0)(2), …, x(0)(n)]为系统输出的非负原始数据序列,为揭示系统的客观规律,在建模前灰色系统理论采用了独特的数据预处理方式,对序列X(0)进行一阶累加生成,即 1-AGO(Accumulating Generation Operator),得生成序列X(1),即
x(k) =
(1)(0)x?(i) (k = 1, 2, …, n) (1) i?1kGM(1, 1)预测模型是一阶单变量的灰色微分方程动态模型
x(0)(k) + az(1)(k) = b (k = 1, 2, …, n) (2) 其中z(1)(k)为x(1)(k)的紧邻均值生成,即z(1)(k)= 0.5[x(1)(k)-x(1)(k?1)],式(1)白化方程形式为
dx(1)?ax(1)?b (3) dt其中a,b为待定系数,分别称之为发展系数和灰色作用量,a的有效区间是(-2, 2)。应用最小二乘法可经下式求得:
? = (a,b)T= (BTB)?1?BT?Yn (4) a
5
南京财经大学本科毕业论文(设计)
??1/2(x(1)(1)?x(1)(2)),1???(1)(1)?? 1/2(x(2)?x(3)),1?其中 B =?? (5) ??????1/2(x(1)(n?1)?x(1)(n)),1???Yn= [x(0)(2), x(0)(3), …, x(0)(n)] (6)
方程的解,即时间响应函数为
?(1)bb?x?(k?1)?(x(0)(1)?)?e?ak? ?aa (7)
??(0)(k?1)?x?(1)(k?1)?x?(1)(k)?x4.灰色模型检验
为确保所建灰色模型有较高的精度应用于预测实践,一般需要按下述步骤进行检验:
?(0)(k)之残差e(k)、相对误差?k和平均相对误差?: (1) 求出x(0)(k)与x
e(k)1n?(k), ?k?(0)?100%, ????k e(k)?x(k)?xx(k)nk?1(0)(0)(2) 求出原始数据平均值x,残差平均值e:
1n(0)1n(0) x = ?x(k), e = e(k) ?nk?1n?1k?2(3) 求出原始数据方差s1与残差方差s2的均方差比值C和小误差概率P:
21n1n(0)2 s1 = ?[x(k)?x], s2?[e(0)(k)?e]2 ?nk?1n?1k?2222 C =s2/s1 , p= P{e(0)(k)?e < 0.6745s1}
通常e(k)、?k、C值越小,p值越大,则模型精度越好。若?< 0.01且?k<0.01,C<0.35,p>0.95, 则模型精度为一级。 根据灰色系统理论,当发展系数a?(-2,2)且
a??0.3时,则所建GM(1, 1)模型则可用于中长期预测。
6
南京财经大学本科毕业论文(设计)
5.短期预测模型的建立
一般而言,在一次人口普查的时间段内(5年),人口各项指标保持平稳发展态势,可以运用中国人口统计年鉴的数据(见附录2,2002年-2006年),编写MATLAB灰色预测系统程序(程序及其运行结果见附录1),运行程序时注意将相应的循环次数做修改,取初始向量x为2002年-2006年的中国总人口数(具体数据来自中国统计年鉴),用来预测2007-2011年的人口数目,取m=5,计算结果如下:
表1 2007-2011年全国人口预测值 年度 人口(万) 误差 2007 132222 0 2008 132978 14.9986 2009 133738 -7.2241 2010 134503 -32.2237 2011 135272 23.0237 从上表可知,误差相对于预测的人口数来说很小,模型预测的效果良好。
(二)长期预测
1.模型II原理(灰数等维递补动态预测方法)
一般情况下,GM(1,1)模型通过对数列长度的不同取舍,可得到系列预测结果,而组成一个预测灰区间,即灰平面,供决策选用。但有时利用GM(1,1)模型预测所得灰区间过大,而失去意义。因为GM模型预测灰平面成一喇叭形展开,即预测时刻越远预测的灰区间越大。所以,用已知序列建GM(1,1)模型进行长期预测时,不用这个模型一直预测下去,而是只预测一个值,并将这个灰数补充在已知数列之后,为不增加序列长度,去掉第一个已知数据,保持数据列的等维,再建立GM(1,1)模型,这样“新陈代谢”,不断补充新信息,使灰度逐步降低,直到完成预测目的或达到一定精度为止。
7
南京财经大学本科毕业论文(设计)
2.模型II建立
实际灰色建模中,系统的原始序列数据不一定全部用来建模,不同维数序列建模,所得的参数a,b的值是不一样的,因而模型的预测值也不同,他们构成一个预测灰区间。因而必须选择合适维数的灰色模型。
同时,也可以构造合适维数的新陈代谢模型,每次加入最新的数据,剔除掉旧数据,保持序列长度不变,类推可以建立GM(1,1)模型群。
本文的思路是首先求出各年净增人口序列,然后利用净增人口序列计算出净增人口序列的预测值,再加上上一年的总人口值,即得所预测年份的总人口数。具体做法是使用GM(1,1)模型预测时要建立多个不同维的GM(1,1)模型,从中选取精度最高的M维模型进行预测,GM(1,1)模型的特点是预测的第一个值的效果最好,预测的时间越长,预测误差越大,我们利用GM(1,1)模型只预测第一个值,然后将这个预测值补充到预测数列后,同时去掉预测数列的第一个的值,保持一个维数不变的状态,依次下去,灰数依次递补,达到预测的目的,相应的,我们分别建立5、6、7、8、9维的灰色动态模型和新陈代谢模型,对于2005,2006年的我国实际总人口数进行检验性预测。
8
南京财经大学本科毕业论文(设计)
表2 中国人口数据
出生率(‰) 死亡率(‰) 自然增长率(‰) 17.82 6.21 11.61 18.21 6.34 11.87 20.91 6.36 14.55 22.28 6.6 15.68 20.19 6.9 13.29 19.9 6.82 13.08 21.04 6.78 14.26 22.43 6.86 15.57 23.33 6.72 16.61 22.37 6.64 15.73 21.58 6.54 15.04 21.06 6.67 14.39 19.68 6.7 12.98 18.24 6.64 11.6 18.09 6.64 11.45 17.7 6.49 11.21 17.12 6.57 10.55 16.98 6.56 10.42 16.57 6.51 10.06 15.64 6.5 9.14 14.64 6.46 8.18 14.03 6.45 7.58 13.38 6.43 6.95 12.86 6.41 6.45 12.41 6.4 6.01 12.29 6.42 5.87 12.4 6.51 5.89 12.09 6.81 5.28 年份 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006
总人口(万) 97542 98705 100072 101654 103008 104357 105851 107507 109300 111026 112704 114333 115823 117171 118517 119850 121121 122389 123626 124761 125786 126743 127627 128453 129227 129988 130756 131448 净增人口(万) 1283 1163 1367 1582 1354 1349 1494 1656 1793 1726 1678 1629 1490 1348 1346 1333 1271 1268 1237 1135 1025 957 884 826 774 761 768 692
9