《基于神经网络的多因素人口预测研究》读书笔记
2018-05-31 15:29:19 1 举报
AI智能生成
一篇关于神经网络人口预测的学术论文初稿
作者其他创作
大纲/内容
人口预测
1 标题,作者,指导老师
标题
基于神经网络的多因素人口增长预测研究
Multifactorial population prediction research based on modified BP neural network
作者
指导老师
2 摘要
(引言:必要性,意义)
陈述本研究的主要目的和范围
描述本研究所使用的方法
总结本研究的成果
成熟本研究的主要结论
人口增长直接关系到经济、社会等方面的发展,同时对合理控制人口,提高人口质量,改善人口结构有着重大意义。论文统计了中国1978~2015年的人口基础数据、经济方面数据和教育方面数据,并进行了主成分分析进行数据降维,得到影响人口增长的5个因子。随后搭建优化的神经网络,使用已有的5个因子数据及次年的增长人口对神经网络进行训练。神经网络通过隐藏层把五个因子发散开来,随后将发散开来的数据进行挤压,去除含有无关细节的噪音数据,保留相关的数据,并通过反向传播寻找到输入与输出数据之间的关系。最后使用已经训练好的神经网络对未来六年的增长人口进行预测,预测的结果为:【神经网络预测结果】。过去的神经网络人口模型大多只是从人口基数的趋势出发,此论文虑了影响人口的多个根本原因,将多个原因的因子作为输入,得到最终的人口,预测更为准确。
3关键词 中国分类号
关键词
BP神经网络 人口预测 主成分分析
中国分类号
4 引言
1 本研究的背景,必要性,意义
长期以来,人口预测一直是有着十分重要意义的一个课题。通过预测未来的人口数量,相关部门可以对用于教育、医疗、基础设施等方面的投入做出更好的决策,使得社会资源更好的分配。且中国作为一个人口大国,其人口预测之于人口数量、人口结构及人口质量控制都有着非凡的意义[1~3]。
2 本领域已有的研究现状
3 提出问题
从根本的影响因素去考虑人口增长问题,再使用科学的方法进行预测
4 本研究的观点,贡献成果
忽略了人口增长的混沌特性 -》 多因素人口研究,从其根源考虑人口增长,并使用科学的方法进行预测,使得人口预测更加的准确
5 正文
材料获取及处理
材料获取(制表展示)
本文所有数据来源:国家数据统计局: http://data.stats.gov.cn/easyquery.htm?cn=C01
参考人口因素分析文献[5],挑选出如下指标作为影响人口因素的指标:
人口基础数据
人口基数,出生率,死亡率,外来人口总量(数据缺失),净迁移人数(数据缺失)
经济因素
居民消费水平,GDP,人均GDP,人均可支配收入(数据不全),人均家庭总收入(数据不全),邮电业务总量,第一产业指数
经济指标
教育因素
普通高等学校招生数,高校数量
文化教育指标
...
医疗因素
医疗卫生人员数,医疗机构数
医疗指标
材料处理
数据清洗
摒弃缺失或不全的数据,矫正少数偏离均值较远的数据
主成分分析法[7、8]
目的:因为牵涉的因子过多,不利于神经网络的收敛,故进行主成分分析法进行处理
主成分分析法,运用降低数据纬度的思想,把多个因子转换为一个或者几个因子,转换后的一个或者几个因子能够同样起到跟原因子一样的描述效果
首先使用SPSS进行KMO and Bartlett's Test检验变量之间的相关性[7]
经济方面
进行 KMO and Bartlett's Test
结果如图:【Test分析表】KMO值,sig值
以上结果显示KMO值为 { } 大于0.50,sig为0.000,可以进行主成分分析。
进行主成分分析,得到解释的总方差表如下:【主成分分析表】
由上表累积方差贡献率看出,选取一个主成分的贡献率为95.736%,所以选取一个主成分是可行的。使用此因子作为经济方面的衡量指标
教育两个因子的KMO值等于0.50,且因子较少,故不作主成分分析
标准化处理
为了后续的神经网络的有效训练,对数据进行标准化处理。使用SPSS对因子进行Z-score数据标准化。次年增长人口除以1000使得数据映射到一个较小的数值,便于后续得到增长人口数。
相关分析
使用SPSS进行变量相关性分析,分析结果如下:【相关分析结果表】
剔除相关系数较低的死亡率因子
最终材料
人口基数
出生率
经济因子
教育方面因子
医疗方面因子
BP神经网络设计及人口预测
原理、算法优化及模型简介
原理及TensorFlow简介
BP 神经网络是人工神经网络(artificial neural network)的一种,目前已经在模式识别、回归预测等领域得到广泛的应用。
BP 神经网络是一种应用最广泛并且很强大的神经网络,只要 BP 神经网络中隐藏层的神经元足够,并以足够的数据进行训练,足以以任何一个精度无限逼近某个非线性函数,故使用其进行多元非线性拟合。
算法主要思想是在训练的过程中信号正向传播和误差反向传播修正神经网络参数。 [9~11]
TensorFlow 目前最受欢迎的深度学习框架之一,TensorFlow 意为张量流动,通过搭建张量流图对数据进行计算,相比matlab神经网络有着无与伦比的灵活性[12~13]。
传统神经网络学习算法一般使用SGD或者Momentum优化算法,即随机梯度下降法或者动量法。
神经网络训练和测试、使用流程图为:【流程图】
Adam优化算法[14]
Adam算法简介
改进为Adam算法,即自适应时刻估计法(adaptive moment estimation),目前最优的机器学习算法之一,此算法可以计算每个参数的自适应学习速率。
优化后的神经网络流程图如图:【优化后的神经网络流程图】
此算法相比传统的学习算法,计算更加的高效,所需内存更少,收敛速度加快,并且不容易调入局部最优解,得到的最终结果也更准确。[14]
时间序列预测(线性)
时间序列预测即通过一些已知的历史数据对未来位置数据的取值进行估计,主要有单步预测、多步预测、滚动预测。实验证明因为网络难以收敛而发生振荡,导致多步预测误差较大。[1]
整体预测模型
建立两个神经网络用于预测
首先建立一个神经网络模型,用于预测未来人口增长
使用已有的数据对此神经网络进行训练和评估
神经网络令人不满意,调整参数,结构;神经网络令人满意,进行下一步;
随后建立一个另一个神经网络模型,用于预测五个因子2016-2020年的数据
训练人口增长预测神经网络
使用已有的结构和参数,训练数据改为1978-2014因子数据、1979-2015人口数量,
对2016-2020年人口进行预测
神经网络搭建
使用TensorFlow框架及Python语言搭建如下神经网络:【多层神经网络示意图】
多层神经网络表达力更强,因为Adam算法的强大,足以训练多层神经网络。
输入层为 五个因子
三个隐藏层,神经元数量分别为:
输出层为 预测的次年增长人口
网络层数的选取:本文采用均1 个输入层,1 个隐含层,1 个输出层的 3 层神经网络网络。因为大量实践已经表明,四层前馈网络的预测结果比三层网络更容易进入局部最小值,因此在实际应用中选用只 有一个隐层的三层网络[1]。
因为Adam算法的强大,有把握训练深层神经网络
人口增长预测
预训练和评估神经网络
使用如下参数对神经网络进行训练:【参数表】
输入:1978~2009年的6个因子
期望输出:1979-2010年相比前一年的人口增长数量
全局学习速率:0.01
一阶矩估计的指数衰减率:0.9
二阶矩估计的指数衰减率:0.999
epsilon极小值:10e-8
对网络进行训练,训练中的误差曲线如下:【误差曲线图】
评估神经网络
使用2010-2014 5年的5个因子数据作为输入,对2011-2015年相比前一年的人口增长进行预测
结果及预测误差如下:【结果及误差】
因子短期预测
因子的预测采用单步预测,使用各个因子1978-2015的数据进行训练,预测未来各个因子2016-2020年的数据
【神经网络因子预测图【实例因子1】】,其他因子略
神经网络人口增长预测
人口增长的预测采用滚动预测,即使用当年的5个因子,预测次年的人口数量
BP-NN预测
短期预测
预测因子发展
一元回归
灰色系统理论
神经网络
【神经网络因子预测图】
因子发展去进行短期预测
长期预测
因为各个影响因子和人口增长具有的混沌特性,使用神经网络对人口进行较准确的短期预测是可行的,但对于长期预测则缺乏科学性,在此不做讨论
1963年美国气象学家爱德华·诺顿·洛伦茨提出混沌理论(Chaos),非线性系统具有的多样性和多尺度性
GA-ENN
GA-ENN预测
RNN
每一时刻的计算,都会受到上一时刻的影响(LSTM是历史时刻),但正是因为这种特性,递归神经网络拥有更强大的模拟能力
RNN是时间序列预测中最强大最有效的工具之一
# 因为RNN的记忆功能,比BP NN预测更准确
三线性插值->更多训练内容
LSTM模型(待定)
因为RNN的记忆功能,比BP NN预测更准确
6 结论或者讨论
优点
开创了多因子人口预测,从最根本的因素去预测人口增长
缺点
完全相信并使用前人已经研究好的成果
影响因素没有考虑完全
先对因子进行预测,再使用预测的因子对人口进行预测,无形中加大了预测误差
改进
使用遗传算法对初始权值,神经网络的结构进行优化
7 致谢
8 参考文献
医疗 剔除
主要因素来源
经济 -》 人口
主成分分析法
9 附录
相关代码
原始材料
相关图表
0 条评论
回复 删除
下一页