杭州师范大学学报(自然科学版)第8卷第1期Vol.8No.12009年1月JournalofHangzhouNormalUniversity(NaturalScienceEdition)Jan.2009文章编号:1674-232X(2009)01-0066-04基于BP神经网络的福州市人口预测模型胡喜生1,2,洪伟2,吴承祯2(1.福建农林大学交通学院,福建福州350002;2.福建农林大学城乡规划研究中心,福建福州350002)摘要:根据福州市区1981-2004年的人口统计数据,应用BP2MSM算法,建立福州市区BP神经网络的时间序列预测模型,并与一元线性回归模型、人口自然增长模型、指数函数模型、幂函数模型、马尔萨斯人口增长模型、Logistic人口预测模型的预测结果进行比较,结果表明BP神经网络对人口数量的预测精度更高,效果更好.关键词:福州市;神经网络;人口预测模型;BP2MSM算法中图分类号:TU981文献标志码:A城市规模是土地利用总体规划与城市总体规划协调与衔接的重点.城市规模主要包括人口规模和用地规模,而人口规模又是两者中起决定作用的,相应地,人口规模预测协调就是重中之重[1].人口预测可为城市的经济预测、产业发展定位、各项生态专项规划和制定决策提供重要的参考依据[2].其方法很多,有人口自然增长法、劳动平衡法、职工带眷系数法、GM(1,1)灰色模型法、移动平均数法、指数平滑法、一元线性回归法、马尔萨斯人口模型、宋健人口预测模型、Logistic模型[324]和BP神经网络模型[5]等.在实际应用中根据收集到的时间序列数据进行模型拟合,方法简单、便于操作,但由于影响人口增长的因素众多,相互作用复杂,因此它是十分复杂的非线性系统.神经网络为寻找这种规律提供了有效的方法,它具有高度的自学习能力,能以任意精度逼近任意非线性函数,因此比较适合于一些复杂问题的建模[5].在此运用BP神经网络模型对福州市区人口增长进行预测,从而为该区域城市规划和土地规划提供科学依据.1数据来源与方法1.1数据来源1949-2004年度福州市区历年年末总人口(户籍)(表1),来源于福州统计局[6].表1福州市区人口统计数据Table1FoundationdataofpopulationinFuzhoucity(人)年份19811982198319841985198619871988实际人口10980731121918114196911646951189531120504012365601251288理论人口11175941121116113608611529921171308119261712181531247387误差率/%1.778-0.071-0.515-1.005-1.532-1.031-1.489-0.312年份19891990199119921993199419951996实际人口12690771292353130791113213721338007135479313752071396598理论人口12782061307793133297713514681362211136626113674941371721误差率/%0.7191.1951.9162.2781.8090.847-0.561-1.781收稿日期:2008206209基金项目:福建省科技项目计划(2008J0239);福建农林大学青年教师基金(06B13).作者简介:胡喜生(1979—),男,福建莆田人,讲师,硕士,主要从事城市生态与环境保护教学研究.(n+1)第1期胡喜生,等:基于BP神经网络的福州市人口预测模型67年份19971998199920002001200220032004实际人口14168421436878145399714849311537685157647916624111708505理论人口13854571412754145414015057411560158161105416538491686958误差率/%-2.215-1.6790.0101.4011.4622.193-0.515-1.261注:实际人口为福州市区历年年末户籍总人口,理论人口为应用BP预测模型预测的人口.1.2BP神经网络人工神经网络(ANN)是20世纪80年代中期迅速兴起的一门非线性科学,具有记忆、联想、自适应、自组织、容错性等一系列优点.神经网络理论中的Kolmogrov定理[7]表明:具有n个输入神经元、2n+1个隐含层神经元和m个输出神经元的三层BP神经网络可以任意精度逼近任何紧致子集上的连续函数F:In→Rm.这就从数学上保证了ANN用于福建省耕地预测等领域建模中的可行性.在实际应用中最广泛的人工神经网络模型是用前馈反向传播模型.反向传播算法(BP算法)是一种误差反向传播的自动学习过程.BP网络常包含输入层、隐含层和输出层,节点的激活函数为逻辑函数(简称S函数).BP算法的学习方法是:首先设定网络的初始状态,对样本输入作前向计算,然后对网络实际输出值与理论值间误差进行判别,如果该误差小于给定值,学习结束;否则,将误差反向传播,调整连接权值和阈值,直到这种迭代过程收敛.尽管应用背景不一,收敛效果不一,但必将存在一个收敛点.反向调整连接权值Wij和阈值θj修正量的第n+1次迭代算式为:ij=ηδjXi+αΔWij,Δθj=ηδj+αΔθj.(n)(n+1)(n)当j为输出层节点时,δj=Oj(1-Oj)(Yj-Oj);当j为隐含层节点时,δj=Xj(1-Xj)∑δmWij.其中Oj和Yj分别为节点j的实际输出和理论输出;m取j节点所在之上一层的所有节点;Xj是节点j的输入;η为学习率,0η1;α为冲量因子,0α1.1.3用于优化BP网络参数改进单纯形法本研究应用改进单纯形法(MSM,ModifiedSimpleMethod)训练优化BP网络参数,称为BP2MSM混合算法[8].2实例分析———福州市区人口预测模型2.1福州市区人口BP预测模型的建立2.1.1样本数据预处理就福州市区1981-2004年的人口数据进行实证分析和检验,其中1981-2000年人口数作为预测数据,2001-2004年人口数为检验数据.以时间1981年为1,1982年为2,以此类推,作为x,以福州市区历年人口为y,利用BP人工神经网络建立福州市区人口预测模型.由于历年人口数据是一维时间序列,但BP神经网络要求用多组样本输入来训练网络,而且输入数据范围一般在[0,1],因此将对网络输入、输出变量做如下归一化处理:Si-(Smin-δ)Ei=(Smax+δ)-S,min其中Smax、Smin为样本序列中最大值和最小值,δ为一小量,以保证变换后的Ei序列最大值略小于1和最小值略大于0.2.1.2BP网络结构的确定神经网络理论Kolmogorov定理已经证明,经充分学习的三层BP网络可以逼近任何函数,因此该文选择三层网络.根据BP网络算法的映射原理,对样本集合输入量x和输出量y,可以假定其存在一映射F:yi=F(X)=Fi(x),i=1,2,⋯,20.为了寻求F的最佳映射,BP网络模型将样本集合的输入、输出转化为非线性优化,通过对简单非线性函数的复合,建立一个高度的非线性映射关系,实现F值的最优逼近.时间序列数据输入层节点数是人为确定的,输入层节点数过多,会造成网络学习次数较大.经过反复试验,最终确定为1个输入节点,且输出层68杭州师范大学学报(自然科学版)2009年节点数为1.对于福州市区人口预测模型模拟,时间为输入层,包含1个节点,记为(x);福州市区历年户籍人口(y)为输出层,含1个节点,记为y;隐含层为1层,节点数设置为5,构建三层前馈反向传播神经网络模型.2.1.3BP网络学习算法的确定如前所述,基本的BP算法存在一定局限,故文章在BP算法训练网络中出现收敛速度缓慢时启用改进单纯形法(MSM,ModifiedSimpleMethod)来优化此时的网络参数,实现全局优化以改善BP算法的局部最小问题.2.1.4BP预测模型模拟实现应用QBASIC自编的BP2MSM程序,以福州市区1981-2000年户籍人口为学习样本,在学习过程中,经不断调试,学习速率η取0.65、动量因子β取0.45,网络中权值和阈值的初值取[-0.3,0.3]之间的32随机数时,收敛速度快、时间短.以H=∑(yi-^yi)2考核网络学习情况,并不断使H趋于最小.学习7195i=1次后,全局误差H趋于收敛,训练结束.用BP2MSM算法训练后的BP网络模型(表2),按照人工神经网络方法计算网络模型的预测理论值,结果表明BP网络吻合程度较理想,离差平方和为0.0162,相关系数达到0.993,理论值与实际值误差率保持在3%以内(表1),说明该文应用的BP2MSM算法研究福州市区人口预测模型,结果是理想的.2.1.5BP预测模型检验为了检验BP所建立的福州市区人口BP预测模型的实用性,采用2001-2004年数据作为独立检验样本,对该模型的预测精度进行检验.结果表明预测数据和实际值基本符合,误差率保持在2.5%以下(表1),可以认为预测满足精度要求.说明BP神经网络预测模型在理论上是可行的,实践上也具有可操作性.表2福州市区人口BP预测模型Table2BPpredictionmodelofpopulationinFuzhoucity权值或阈值输入层与隐含层权值27.5563.8051.127-0.3205.038隐含层阈值-1.575-6.4190.515-8.7585.272隐含层与输出层权值-2.92024.207-1.3022.9032.217输出层阈值3.3272.2BP预测模型与其它模型的比较进一步采用一元线性回归模型、人口自然增长模型、指数函数模型、幂函数模型、马尔萨斯人口增长模型、Logistic人口预测模型对福州市区人口数量进行模拟(表3).模拟结果表明几种模型模拟的效果都较理想.一元线性回归模型模拟结果表明以上数据总体上处于增长趋势.马尔萨斯法和人口自然增长法预测本例结果相近,由表3可见,两者的年增长率r值和精度一样,预测结果都比较理想,因为马尔萨斯和人口自然增长法是根据人口增长直接拟合的,它们预测原理相近.与其它6个常用模型相比,BP神经网络人口预测模型模拟精度明显优于其它6个模型,且相关系数最大,达到0.993.这说明BP神经网络通过权值反向调整表现出很强的自适应能力,对于人口这个复杂非线性系统波动性具有较强的再现和泛化功能,而且结合相空间重构技术从而减少了建模过程中的主观性[9],因此,BP神经网络人口预测模型可以推广应用.表3福州市区人口增长预测模型Table3PredictionmodelofpopulationgrowthinFuzhoucity模型方程相关系数r一元线性回归模型Y=24129.31t+10504480.975人口自然增长模型Y=1098073(1+0.0167)t0.980指数函数模型Y=1000000e0.0175t0.987幂函数模型Y=977039.00t0.1400.896马尔萨斯人口增长模型Y=1098073e0.0167t0.980Logistic人口预测模型Y=5999842/(1+4.634e-0.0232t)0.981BP神经网络模型0.993第1期胡喜生,等:基于BP神经网络的福州市人口预测模型693结语BP算法简单、直观、易于编制程序在计算机上实现,但它的缺点是学习速度慢,存在局部最小问题.而该文提出的应用基于改进单纯形和神经网络的人口预测方法,则充分利用了改进单纯形算法收敛性好、回归精度高、运算速度快的特点和神经网络具有的较强的非线性映射能力,从而克服了BP算法易陷入局部极小的缺陷.同时改进单纯形法不需要提供对象的梯度信息,因此,BP2MSM算法具有全局搜索,易于找到优化位置及收敛速度快等特点,提高了预测的速度和精度.文章以福州市区1981-2004年的人口数据为基础资料,其中1981-2000年人口数作为预测数据,2001-2004年人