基于模糊逻辑预测统计人口总数的方法与流程

文档序号:17866513发布日期:2019-06-11 23:15阅读:335来源:国知局

本发明涉及计算机技术领域,尤其涉及一种基于模糊逻辑预测统计人口总数的方法。



背景技术:

人口预测的需求是随着社会经济发展而提出来的。一个国家人口总量直接影响经济、社会资源的利用。因此,能否正确预测国家的统计人口总量是非常重要的。首先,人口增长的变化会影响到国家政策的指定。改革开放以来,我国从世界第一人口大国,劳动力资源过剩,享受人口红利,渐渐地转变为新生儿不足,青壮年劳动力巨减,老龄化问题严重的社会。因此,国家在生育方面的政策也从倡导“一胎政策”转变为“鼓励二胎”,养老制度和税收制度也发生了相应改变。其次,人口增长的变化也会对经济的发展产生巨大的影响。由于青壮年劳动力短缺,人工成本上升,国家经济必须向高端制造业转型,不能再像从前一样靠廉价劳动力,低端制造业来吸引外资和走向世界。最后,人口增长的变化也会对社会的稳定产生巨大影响。国家可能会考虑效仿新加坡、日本等发达国家,放宽移民政策来引入外来人口弥补劳动力短缺。而外来移民人口的进入,必然会引起一系列社会变化。因此,正确预测人口数量对我国社会、经济和政策的发展都至关重要,它确保我们在合适的时机推出合适的人口政策,有利于社会的稳定和经济的健康发展。

尽管自2000年以来,很多中国学者采用了平均增长率法和指数平滑法等传统的时间序列方法来预测未来的人口数据,但是,与中国统计局年度公报人口数据想对比,基于上述方法的人口预测出现较大的误差。导致误差的原因主要有两点。首先,它要求有精确的历史数据。由于传统方法都是以时间序列的精确值为基础的,所以,数据的精确与否对预测的结果会产生巨大的影响。而模糊时间序列能够在数据资料不完整和含有噪音的情况下,得到精确的预测。其次,它假设与现实世界是不符合的。传统方法假设社会系统是确定不变的,认为时间序列的未来值与当前值、过去值以及白噪声之间存在着确定、明确的函数关系。但是,真实社会是复杂的动态系统,充满着不确定性因素,很难以用确定的函数关系来描述人口的变化。也就是说传统方法的假设与真实世界是不符合的。因此,采用传统的方法得出的结果就不够准确。因此,需要采用一种准确性更高的方法来预测统计人口。



技术实现要素:

为了解决现有技术中的问题,本发明提供了一种基于模糊时间序列预测统计人口总数的方法,能够提高预测准确度,节约成本。

本发明通过以下技术方案来实现:

一种基于模糊时间序列预测统计人口总数的方法,包括从国家统计局官网中,利用爬虫爬取n年的中国统计人口总数的历史数据和对应的年份,得到历史人口数据{xt,t=1,2,…n};然后,对收集到的数据作如下操作:

第一步,计算出每年统计人口总量的历史数据中两个相邻年份的人口增加值vi(i=1,2,...,n-1)。。通过比较这些增加值,得到最大增加vmax和最小增加量vmin。

第二步,确定论域:定义论域u=[vmin*(1-α),vmax*(1+α),其中,0<α<1;将论域u等长度为j个区间(j=1,2,...,m),分别是u1,u2,…um;取出每个区间的中值,赋值为

第三步,构建论域u的每个区间对应的语言变量,记为aj(j=1,2,...,m)。aj表示的是人口变动有最小到最大的程度;

第四步,依据隶属度函数计算每年历史数据变化量的模糊子集向量。隶属度公式如下:

其中c是常数,vi是第一步中计算出的每年的变动值,i=1,2,..n-1,j=1,2,...,m;

第五步,选取前n-2年的模糊隶属度向量来构成矩阵o(n-2)*j,取出第n-1年的隶属度来构建向量k1*j;然后,取出矩阵o(n-2)*j的第j列中的元素和向量k1*j中的第j个元素一一比较,j=1,2,...,m,如果o(n-2)*j中的元素取值比k1*j大,就用k1*j的值替换它,得到一个新的矩阵o′(n-2)*j;

第六步,取出o′(n-2)*j中的每列的最大值,保存到向量f(n)中:

f(n)=[μt(1)=max(o′11o′21…o′(n-2)1),

μt(2)=max(o′12o′22…o′(n-2)2),

………………………………..

μt(m)=[max(o′1mo′2m…o′(n-2)m)]

简写为f(n)=[μt(1),μt(2),...,μt(m)];

第七步,去模糊化:将第六步中的结果带入下式中,求出第n+1年的人口增长量vn:

第八步,将vn和第n年的历史统计总人口相加,得到的就是第n+1年的统计人口预测值。

作为本发明的进一步改进,n≥10。

作为本发明的进一步改进,α取值20%。

作为本发明的进一步改进,a1表示“最低人口增长”;a2表示“很低人口增长”;….am表示“最高人口增长”。

本发明的有益效果是:与现有技术相比,基于模糊时间序列的人口预测法能够减少误差,提高预测的准确度。通过将模糊论和时间序列相结合,它能够在数据资料不完整和含有噪音的情况下,消除动态系统中不确定性因素的影响,从而充分利用历史数据隐含未来变动的信息,来提高预测结果的准确性。因此,基于模糊时间序列的人口预测比传统方法更好。

附图说明

图1是本发明的基于模糊时间序列预测统计人口总数的方法流程图。

具体实施方式

结合附图说明及具体实施方式对本发明作进一步说明。

如图1所示,本发明的基于模糊时间序列预测统计人口总数的方法,包括从国家统计局官网中,利用爬虫爬取n年的中国统计人口总数的历史数据和对应的年份,得到历史人口数据{xt,t=1,2,…n},其中,n根据需要,可选择的10年,20年均可(n≥10)。然后,对收集到的数据作如下操作:

第一步,计算出每年统计人口总量的历史数据中两个相邻年份的人口增加值vi(i=1,2,...,n-1)。通过比较这些增加值,得到最大增加vmax和最小增加量vmin。

第二步,确定论域。定义论域u=[vmin*(1-α),vmax*(1+α),其中,α可以取20%左右。将论域u等长度为j个区间(j=1,2,….,m),分别是u1,u2,…um。取出每个区间的中值,赋值为

第三步,构建论域u的每个区间对应的语言变量,记为aj(j=1,2,...,m)。aj表示的是人口变动有最小到最大的程度。可以理解为a1表示“最低人口增长”;a2表示“很低人口增长”;….am表示“最高人口增长”。

第四步,依据隶属度函数计算每年历史数据变化量的模糊子集向量。隶属度公式如下:

其中c是常数,vi是第一步中计算出的每年的变动值(i=1,2,..n-1),是第二步计算出的对应区间的中值点(j=1,2,...,m)。

第五步,选取前n-2年的模糊隶属度向量来构成矩阵o(n-2)*j,取出第n-1年的隶属度来构建向量k1*j。然后,取出矩阵o(n-2)*j的第j列中的元素和向量k1*j中的第j个元素一一比较(j=1,2,...,m),如果o(n-2)*j中的元素取值比k1*j大,就用k1*j的值替换它,得到一个新的矩阵o′(n-2)*j。

第六步,取出o′(n-2)*j中的每列的最大值,保存到向量f(n)中。也就是说,

f(n)=[μt(1)=max(o′11o′21…o′(n-2)1),

μt(2)=max(o′12o′22…o′(n-2)2),

………………………………..

μt(m)=[max(o′1mo′2m…o′(n-2)m)]

可以简写为f(n)=[μt(1),μt(2),…μt(m)。

第七步,去模糊化。将第六步中的结果带入公式(2)中,求出第n+1年(预测的目标年)的人口增长量vn:

第八步,将vn和第n年的历史统计总人口相加,得到的就是第n+1年(预测的目标年)的统计人口预测值。

如果采用模糊时间序列来做预测的话,能够大大提高人口预测的准确度。采用模糊时间序列模型来预测,将精确记录的时间序列观测值表示为具有模糊特征的语言变量并且建立具有多前间的模糊逻辑关系,最后将模型输出去模糊化得到精确预测值。结果表明这一方法更能较全面反映系统的复杂特征并且有利于在复杂环境中提高预测精度。

以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1