BP神经网络人口预测模型研究与仿真
- 格式:docx
- 大小:38.11 KB
- 文档页数:3
BP神经网络人口预测模型研究与仿真
摘要:基于时间序列的神经网络预测,从模型的结构设计、神经元个数、传递函数等方面,研究BP神经网络预测模型的建模。通过对国家统计局的人口数据建立样本,使用MATLAB对预测模型进行仿真实验,结果证明预测模型能够达到预测效果。
关键词:BP神经网络;人口预测;MATLAB;数学建模;神经元;传递函数
Keyword:BPNeuralNetwork;populationprediction;MATLAB;Mathematicalmodeling;neuron;tranferfunction
0引言
对于人口总量开展科学预测研究,即可为人口规划与未来政策走向提供全面、客观的实施参考。同时不言而喻的是,预测结果数据对于国民经济发展的制定和实现都将具有不可估量的重要意义。时下采用的主要预测方法是:逻辑斯蒂方程法,常微分方程法,动态预测法。这些方法各有其特点及适用范围,但都需要对数据提供一定模型假设支持。
相对于传统的统计预测方法,神经网络模型有着良好的非线性特性,灵活有效的学习方式,以及完全分布式的存储结构。
神经网络中的单个神经元具有自组织复合模式,反映非线性特征,使神经网络能够重建任意的非线连续的函数。通过学习,可以使用网络获得序列的内在规律,从而可以对序列的变化进行预测。使用神经网络可以无需常规建模过程,而且同时又表现出良好的自适应和自学习能力、较强的抗干扰能力。 神经网络应用于预测,大体上可以分为两种方式[]:基于回归分析的神经网络预测和基于时间序列的神经网络预测。
2人口预测模型
2.1输入输出向量设计
基于时间序列的神经网络预测模型的建立,采用前3年的人口总量数据作为神经网络的输入变量,第4年的人口总量数据作为输出变量。即输入为3个数据,输出为1个数据。函数表达式:
(2)
样本集中使用总量的80%作为训练样本集,而将剩余的20%作为测试样本集,进而根据测试数据与真实数据的一致性比较,验证模型的精确度。
2.2网络模型
根据BP网络原理开展设计,一般的预测问题都可以通过单个隐含层实现,因为理论上单隐含层可以逼近任何非线性函数。本次研究构建三层BP神经网络:一个输入层,一个隐含层,一个输出层。
确定了网络层数结构后,需要确定每层的神经元个数。输入层与输出层的神经元个数由具体的输入输出决定,由于输入向量有3个元素,输入层神经元设定为3个,输出层神经元相应即定为1个。对于隐含层神经元个数的选择[],目前没有统一精准的完善方法,经常使用的是经验公式或者试凑法。本文选用了经验公式法。
根据经验公式,Sqr(3+1)+3=5,综合测试比较后得到,隐层神经元可确定为5个。 传递函数又称为激励函数,是BP网络的重要组成部分。BP网络惯常选用的S型对数或正切数和线性函数作为传递函数。
本次研究的预测神经网络模型设计中,输入层-隐含层传递函数采用igmoid的对数函数。Logig即为S型的对数函数,可将神经元的输入(范围为整个实数集)映射到(0,1)中,而是可微,因此非常适合于利用BP算法的神经网络。
隐含层到输出层传递函数采用线性函数。purelin为线性传递函数,文献[]已然证明一个线性传递函数在预测模型中更适合输出层传递函数。
3仿真实验
3.1采集样本
根据国家统计局的数据,我国1994-2022年人口数据如表1所示。
4结束语
根据人口总量的非线性特征,提出基于BP网络非线性的神经网络预测方法,并以人口总量作为预测模型,使用MATLAB仿真模拟已有人口状况况,对人口总量的预测获得了较为满意的结果。由于人口总量会受到人口政策、经济发展及各种因素的客观、综合影响,为了达到最佳宏观预测,在后续研究中则需要将更多的因素加入到预测模型中,如人口出生率、老年率、死亡率等。