图6 GA-BP 人口预测模型的残差图
从图6可以看出,残差R均小于1,故此模型精确度较好,可用于人口预测。
七、模型评价与推广
6.1.优点:
(1)数据精确可靠。题目涉及到的数据,均是从“中国统计局”官方网站下载,并且对论文中涉及到的众多影响因素进行了量化处理,使得论文的说服力强,实际性更高。。
(2)很好的创新性。运用GA-BP 神经网络预测模型来预测人口,避免了复杂的数学建模过程,与传统的预测方法相比,基于BP 神经网络的时间序列预测方法不仅计算简单、灵活,而且能提高预测的精确度。 6.2.缺点:
人口增长的动态因素很多,所以模型与实际还是有一些距离的。再者,模型只能进行短时间预测。
八、参考文献
[1].国务院关于印发国家人口发展“十二五”规划的通知[J]. 中华人民共和国国务院公报,2012,11:12-19.
[2]. 王鹏. 中国人口预测的最优组合模型[D]. 华北电力大学,2009:11-24. [3]. 毕小龙, 袁勇. 基于BP神经网络的人口预测方法研究[J].武汉理工大学学报( 交通科学与工程版),2007,31(3):556-558.
[4]. 贾楠, 胡红萍, 白艳萍. 基于BP 神经网络的人口预测[J].山东理工大学学报( 自然科学版),2011,25(3):22-24.
[5]. 朱凯, 王正林. 精通MATLAB 神经网络[M]. 北京:电子工业出版社,2010.1:193-200.
[6]. 王鹏. 中国人口预测的最优组合模型[D]. 华北电力大学,2009:11-24. [7]. 刘静. 基于人口学理论的中国放开生育二胎政策研究[J]. 经营管理者,2011,15:68-70.
[8]. MATLAB 中文论坛.MATLAB 神经网络30 个案例分析[M]. 北京:北京航空航天大学出版社,2010.4:21-29.
[9]. 万玉琼,梁俊有. 基于遗传算法改进BP 网络的灾害预测模型研究[J]. 中国水运,2008,8(4):255-257.
[10]. 国家统计局人口统计司. 中国人口统计年鉴[M]. 北京:中国统计出版社, 2013.10.17.
九、附录
附录一:
%中国人口预测
x1=[10.4357 10.5851 10.7507 10.9300 11.1026 11.2704 11.4333 11.5823 11.7171 11.8517 11.9850 12.1121 12.2389 12.3626 12.4761 12.5786 12.6743 12.7627 12.8453 12.9227 12.9988 13.0756 13.1448 13.2129 13.2802 13.3450 13.4091 13.4735 13.5404]; n=length(x1);
lamda=x1(1:n-1)./x1(2:n) x0=diff(x1); x0=[x1(1),x0] for i=2:n
z1(i)=0.5*(x1(i)+x1(i-1)); end
B=[-z1(2:end)',ones(n-1,1)]; Y=x0(2:end)'; abhat=B\\Y
x=dsolve('Dx+a*x=b','x(0)=x0');
x=subs(x,{'a','b','x0'},{abhat(1),abhat(2),x1(1)}); yuce=subs(x,'t',0:30) digits(6); x=vpa(x)
epsilon=x1-yuce
delta=abs(epsilon./x1) delta_mean=mean(delta) x1_0=x1-x1(1);
yuce_0=yuce-yuce(1);
s0=abs(sum(x1_0(1:end-1))+0.5*x1_0(end)); s1=abs(sum(yuce_0(1:end-1))+0.5*yuce_0(end)); tt=yuce_0-x1_0;
s1_s0=abs(sum(tt(1:end-1))+0.5*tt(end)); absdegree=(1+s0+s1)/(1+s0+s1+s1_s0) c=std(epsilon,1)/std(x1,1)
rho=1-(1-0.5*abhat(1))/(1+0.5*abhat(1))*lamda
附录二:
y1=[1984,1985,1986,1987,1988,1989,1990,1991,1992,1993,1994,1995,1996,1997,1998,1999,2000,2001,2002,2003,2004,2005,2006,2007,2008,2009,2010,2011,2012];%年份
s1=[10.4357,10.5851,10.75070,10.9300,11.1026,11.2704,11.4333,11.5823,11.7171,11.8517,11.9850,12.1121,12.2389,12.36260,12.4761,12.5786,12.6743,12.7627,12.8453,12.9227,12.9988,13.0756,13.1448,13.2129,13.2802,13.345,13.4091,13.4735,13.5404];%全国人口真实值
s2=[10.4357 10.6198 10.7965 10.9659 11.1284 11.2843 11.4339 11.5774 11.7150 11.8470 11.9736 12.0951 12.2116 12.3234 12.4307 12.5335 12.6322 12.7268 12.8176 12.9047 12.9883 13.0684 13.1453 13.2191 13.2898 13.3577 13.4228 13.4852 13.5451]%全国人口拟合值 plot(y1,s1,'b',y1,s2,'g') xlabel('时间') ylabel('人口')
title('全国人口的实际值和拟合值'); legend('实际值','拟合值')
附录三:
y=[1982:1:2012];%年份
b=[20.1900 19.9000 21.0400 22.4300 23.3300 22.3700 21.5800 21.0600 19.6800 18.2400 18.0900 17.7000 17.1200 16.9800 16.5700 15.6400 14.6400 14.0300 13.3800 12.8600 12.4100 12.2900 12.4000 12.0900 12.1000 12.1400 11.9500 11.900 11.9300 12.1000];%出生率
d=[6.9000 6.8200 6.7800 6.8600 6.7200 6.6400 6.5400 6.6700 6.7000 6.6400 6.6400 6.4900 6.5700 6.5600 6.5100 6.5000 6.4600 6.4500 6.4300 6.4100 6.4000 6.4200 6.5100 6.8100 6.9300 7.0600 7.0800 7.1100 7.1400 7.1500];%死亡率
z=[13.2900 13.0800 14.2600 15.5700 16.6100 15.7300 15.0400 14.3900 12.9800 11.6000 11.4500 11.2100 10.5500 10.4200 10.0600 9.1400 8.1800 7.5800 6.9500 6.4500 6.0100 5.8700 5.8900 5.2800 5.1700 5.0800 4.8700 4.7900 4.7900 4.9500]%自然增长率 plot(y,b,'r') hold on
plot(y,d,'k') plot(y,z,'g') hold off grid on
xlabel('时间') ylabel('%')
title('出生率,死亡率,自然增长率的变化情况'); legend('出生率','自然增长率','死亡率')
问题三程序 clc clear
year=1984:2012;
P=[10.4357 10.5851 10.75070;10.5851 10.75070 10.9300 ; 10.75070 10.9300 11.1026; 10.9300 11.1026 11.2704;11.1026 11.2704 11.4333;
11.2704 11.4333 11.5823;11.4333 11.5823 11.7171;11.5823 11.7171 11.8517;11.7171 11.8517 11.9850;11.8517 11.9850 12.1121;
11.9850 12.1121 12.2389; 12.1121 12.2389 12.36260; 12.2389 12.36260 12.4761;12.36260 12.4761 12.5786; 12.4761 12.5786 12.6743;
12.5786 12.6743 12.7627;12.6743 12.7627 12.8453;12.7627 12.8453 12.9227;12.8453 12.9227 12.9988;12.9227 12.9988 13.0756;
12.9988 13.0756 13.1448 ;13.0756 13.1448 13.2129;13.1448 13.2129 13.2802; 13.2129 13.2802 13.345;13.2802 13.345 13.4091; 3.345 13.4091 13.4735];
T=[10.9300 11.1026 11.2704 11.4333 11.5823 11.7171 11.8517 11.9850 12.1121 12.2389 12.36260 12.4761 12.5786 12.6743 12.7627 12.8453 12.9227 12.9988 13.0756 13.1448 13.2129 13.2802 13.345 13.4091 13.4735 13.5404]; pmax = max(P); pmax1 = max(pmax); pmin = min(P); pmin1 = min(pmin); for i=1:26
P1(i,:)=(P(i,:)-pmin1)/(pmax1-pmin1); T1(i)=(T(i)-pmin1)/(pmax1-pmin1); end
net = newff(P1',T1,[3 26],{'tansig' 'logsig'},'traingd'); for i = 1:26
net.trainParam.epochs = 15000; net.trainParam.goal=0.01; net.trainParam.lr = 0.1
net = train(net,P1(i,:)',T1(i)); end
y=sim(net,[13.4091 13.4735 13.5404]'); y1=y*(pmax1-pmin1)+pmin1
十、附件
附件一:全国人口出生率、死亡率、自然增长率、性别比
年 份 总人数(千万) 出生率(?) 死亡率(?) 自然增长率(?) 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 132129 132802 133450 134091 134735 135404 22.28 20.19 19.90 21.04 22.43 23.33 22.37 21.58 21.06 19.68 18.24 18.09 17.70 17.12 16.98 16.57 15.64 14.64 14.03 13.38 12.86 12.41 12.29 12.40 12.09 12.10 12.14 11.95 11.90 11.93 12.10 6.60 6.90 6.82 6.78 6.86 6.72 6.64 6.54 6.67 6.70 6.64 6.64 6.49 6.57 6.56 6.51 6.50 6.46 6.45 6.43 6.41 6.40 6.42 6.51 6.81 6.93 7.06 7.08 7.11 7.14 7.15 15.68 13.29 13.08 14.26 15.57 16.61 15.73 15.04 14.39 12.98 11.60 11.45 11.21 10.55 10.42 10.06 9.14 8.18 7.58 6.95 6.45 6.01 5.87 5.89 5.28 5.17 5.08 4.87 4.79 4.79 4.95 性别比 106.1863616 106.6110398 106.610703 107.0393375 107.038863 106.1875118 106.2721784 106.3986814 106.2706271 105.5076038 104.2900919 104.1649653 104.4989775 104.2066571 103.3346889 104.3735949 105.1282051 105.8884085 106.7397147 105.9995158 106.0589047 106.1990394 106.2908652 106.301573 106.2706271 106.185567 106.0581084 105.9308072 105.2123948 105.1702913 105.1282051 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 2007 2008 2009 2010 2011 2012
附件二:广州市出生率、死亡率、自然增长率、性别比 年 份 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 2007 2008 2009 2010 2011 2012 总人口(人) 5188285 5267325 5355988 5449820 5554073 5650761 5769101 5854265 5942534 6022186 6122016 6236647 6370241 6467115 6560508 6664862 6741400 6850024 7006896 7125979 7206229 7251888 7376720 7505322 7607220 7734787 7841695 7946154 8061370 8145797 8222969 出生率(?) 死亡率(?) 自然增长率(?) 男(人) 女(人) 18.17 17.06 16.91 16.59 16.63 15.9 15.07 15.73 14.97 13.15 13.11 13.35 12.47 11.82 12.03 11.37 10.1 11.99 10.28 9.56 8.64 7.92 9.56 8.85 8.95 9.3 10.16 9.69 12.47 10.74 12.44 5.38 5.56 5.31 5.36 5.06 5.14 5.3 5.32 5.49 5.09 5.53 5.6 5.29 5.57 5.71 5.4 6.11 5.76 5.77 5.33 5.54 5.68 5.74 5.64 5.42 5.55 5.7 5.42 5.69 5.45 6.17 12.79 11.5 11.6 11.23 11.57 10.76 9.77 10.41 9.48 8.06 7.58 7.75 7.18 6.25 6.32 5.97 3.99 6.23 4.51 4.23 3.1 2.24 3.82 3.21 3.53 3.75 4.46 4.27 6.78 5.29 6.27 2640757 2547528 2685457 2581868 2734532 2621456 2786389 2663431 2844443 2709630 2898250 2752511 2964697 2804404 3009581 2844684 3055107 2887427 3096991 2925195 3151204 2970812 3210324 3026323 3284477 3085764 3334356 3132759 3380751 3179757 3432921 3231941 3469164 3272236 3522913 3327111 3605481 3401415 3670177 3455802 3705036 3501193 3722168 3529720 3779757 3596963 3839680 3665642 3883760 3723460 3942645 3792142 3990328 3851367 4036898 3909256 4089885 3971485 4125784 4020013 4158292 4064677 性别比(%) 103.66 104.01 104.31 104.62 104.98 105.29 105.72 105.8 105.81 105.87 106.07 106.08 106.44 106.44 106.32 106.22 106.02 105.89 106 106.2 105.82 105.45 105.08 104.75 104.31 103.97 103.61 103.27 102.98 102.63 102.3