ARIMA模型在总人口预测中的应用
【摘要】人口发展与社会经济的发展是密不可分的,研究我国总人口的发展,对我国人口数进行分析和预测,有利于及时控制人口的增长调节人口平衡,利于及时了解发展趋势并做出反应对策使我国人口发展步入健康的轨道。本文利用时间序列建模原理和思路,并结合R3.2.1软件对1962年——2014年我国年底总人口数据做分析和预测。找到对原始数据有着较好的拟合度和较高的预测精度的模型。利用此模型可对我国年底总人口进行合理的预测。 【关键词】ARIMA建模
总人口人口预测
目录
.
.
一、引言 ....................................................................................................................................... 3
1.1研究背景 ...................................................................................................................... 3 1.2研究现状 ...................................................................................................................... 4 二、模型建立 .............................................................................................................................. 5
2.1模型识别 ...................................................................................................................... 5
2.2模型的参数估计 ........................................................................................................ 8 2.3模型的诊断 ................................................................................................................ 10 2.模型的预测 .................................................................................................................... 12 三、模型的优缺点及推广 ..................................................................................................... 13
3.1模型的优缺点 ............................................................................................................ 13 3.2模型的推广 ................................................................................................................ 13 结束语.............................................................14
【参考文献】........................................................ 15
附录...............................................................16
.
.
一、 引言
1.1研究背景
我国是世界上人口最多的国家,自
1980年开始,年末中国总
人口就已经超过了10亿,并一直保持约占世界总人口的五分之一,亚洲人口的三分之一。中国人口的发展同中国社会的发展一样经过了漫长而曲折的道路。在世纪的进程中,目前我国进入了一个全新的时 代,要想在21世纪——这个充满竞争与挑战的时代中变的富强、屹立于世界民族之林,实现我们的,这全取决于人。能否顺利解决人口现状等问题,是我国乃自世界共同面临的问题,由于地球的资源是有限的,它不可能无的容纳人口,当人口过多,会由于经济跟不上,工作岗位欠缺,医疗等水平不足,从而导致整个社会处于一种动荡之中;然而如果人口过少,又会由于人员不足,导致各方面人力资源不足,无法正常完成各项必须社会活动,这也会极大地一个国家的发展,因此,对人口的研究是具有相当的意义的。
我国由于幅员广阔,民族众多,各民族发展水平不一,同时作为世界第一人口大国,我国的耕地面积却相对不足,因此我国每年都需要从国外大量进口粮食,由于过分依赖于进口这对我国的发展影响巨大,为此甚至有国外势力叫嚣只要断绝给中国供粮,三五年之内中国必定大乱。当然那只是敌对势力的一厢情愿与恶意诋毁,但我们自己却必须
.
.
认识到在由于人口的问题而导致的一系列问题,关于人口问题我国必须重视,并根据其趋势做出反应对策。因此,认真分析我国当前人口现状,从中发现其变化的趋势,并对未来总人口进行短期预测,及时采取必要的政治及经济措施来解决人口发展问题,对树立未来的发展目标很有必要。总之,人口是构成社会的主体,在我国社会主义现代化建设中,人口问题始终是极为重要的问题,而人口问题的本质是发展问题。人口发展与社会经济的发展也是密不可分的。基于此,我们利用时间序列中的ARMA模型对我国人口进行预测,对人口的控制起到指导作用,有利于采取必要的政治及经济措施来进行。所以,对其进行分析和测试是非常有意义的工作。
1.2研究现状
在对人口问题的研究上,国内外学者做了相当多的工作。在国内程等利用自限模型对我国的人口增长进行了预测,认为中国在2010年-2019年人口数依次会缓慢增加,2016年突破14亿大关,且未来15年人口净增加量不会超过1亿;蒋慧
基于多元统计模型对广西人口
增长进行了分析,得出了人口增长的综合因子,并提出了稳定人口增长的建议;丁明
等运用相空间重构神经网络模型对我国人口增长进行
预测,很好的解决了非线性的问题,为我国人口增长预测提供了一种新
.
.
的方法;王保等,利用Logistic模型进行人口预测,并检验了2005
年—2007年的数据误差,取得了理想的效果。在国外,Rosen
利用Malthusian模型对人口进行研究,也取得了不错的成绩。本文基于
时间序列在研究时间相关问题上的优势,以1949年-2014年的年末总人口数据,利用时间序列知识建模,找到适合人口增长的过程的时间序列模型(模型识别),然后利用参数估计估计出模型的参数(参数估计),再对模型进行诊断,判断模型的好坏(模型诊断),最后利用已经建立的模型对未来的给定的时间进行预测(预测)。
二、 模型建立
2.1模型识别
首先需要对数据进行预先的处理,观察其时间序列图是否为平稳序列,可以用R软件完成(具体程序见于附录1),可得到时间序列图为:
.
.
年末总人口.万人.70000196090000110000130000197019801990Time20002010
图1:人口时间序列图
由图一可以看出,年底总人口数随着时间增加的同时也在逐年上涨,有着明显的上升趋势。因此可得出这列数据是不平稳的、方差也是不平稳的结论。并且数据大致是呈线性变化的,因此可以考虑做差分变换。
先对数据做一阶差分变换后再观察序列是否平稳,可运用R软件编程得
其变换后的序列及变换后序列的自相关图和偏自相关图(具体
程序见附录2):
.
.
年末总人口.万人.10002000197019801990Time20002010Series diff(x, difference = 1)0.5-0.5ACF5Lag1015Series diff(x, difference = 1)Partial ACF-0.20.45Lag1015
图二:一阶差分序列图及其ACF、PACF图
由图二可知,对原始数据在进行一阶差分之后的时间序列图显示并不算平稳,并且一阶差分后的ACF图仍呈现出近似直线下降趋势,因此可以考虑再做一次差分运算。通过编程可以得到(具体程序见附录3):
.
.
年末总人口.万人.-400200197019801990Time20002010Series diff(x, difference = 2)0.3ACF-0.30.05Lag1015Series diff(x, difference = 2)Partial ACF-0.30.05Lag1015
图三:对数二阶差分序列图及其ACF、PACF图
再观察其二阶差分后的时间序列图,基本上趋于平稳,而其自相关图(ACF)和偏自相关图(PACF)呈现出明显的拖尾形式,且PACF图在滞后6阶比较显著,ACF在滞后1,3,6阶相对较显著,由此可以认为原
.
.
序列基本上可以用ARIMA(1,2,1),ARIMA(1,2,2),ARIMA(1,2,3),进行拟合。
对ARIMA(1,2,1)模型序列满足:
Yt+Yt−2−2Yt−1=∅(Yt−1+Yt−3−2Yt−2)+et−∑6i=1θiet−i ① 由①式可以得到:
Yt=(2+∅)Yt−1+(1−2∅)Yt−2−∅Yt−3+et−θet−1 ② 同理可以得到 ARIMA(1,2,2)模型:
Yt=(2+∅)Yt−1+(1−2∅)Yt−2−∅Yt−3+et−∑2i=1θiet−i ③ ARIMA(1,2,3) 的模型为:
Yt=(2+∅)Yt−1+(1−2∅)Yt−2−∅Yt−3+et−∑3i=1θiet−i ④
2.2模型的参数估计
根据2.1节,已经找到几个可能用于拟合的模型,分别为ARIMA(1,2,1),ARIMA(1,2,2),ARIMA(1,2,3),那么接下来就应该对其进行参数估计,在对模型进行参数估计时有多种方法可以选择,这里选择用最小二乘估计,通过R编程序可以得到如下结果(具体程序见于附录4):
Call:
arima(x = x, order = c(1, 2, 1), method = \"CSS\")
.
.
Coefficients:
ar1 ma1 -0.4794 0.5150 s.e. 0.1033 0.1901
sigma^2 estimated as 21752: part log likelihood = -327.05 Call:
arima(x = x, order = c(1, 2, 2), method = \"CSS\") Coefficients:
ar1 ma1 ma2 -0.5216 0.8442 -0.3147 s.e. 0.0009 0.0912 0.1014
sigma^2 estimated as 16939: part log likelihood = -320.67 Call:
arima(x = x, order = c(1, 2, 3), method = \"CSS\") Coefficients:
ar1 ma1 ma2 ma3 -0.5203 0.76 -0.1111 0.3405 s.e. 0.0008 0.1327 0.1435 0.1278
sigma^2 estimated as 15191: part log likelihood = -317.
由上面的输出可以确定在②式中的系数,并且由估计值的误差项se判断该系数是否显著(通过判定在0是否在区间[∅−2se,∅+2se]内,若在则系数不显著,如不在则显著)。 从而代入②可以确定ARIMA(1,2,1)模型为:
Yt=1.5206Yt−1−0.0412Yt−2−0.4794Yt−2+et−0.515et−1 ⑤ 类似代入③式得ARIMA(1,2,2)表达式为:
Yt=1.4784Yt−1+0.0432Yt−2−0.5216Yt−2+et+0.8442et−1−0.3147et−2 ⑥
代入④式得ARIMA(1,2,3)模型的表达式:
Yt=1.4797Yt−1+0.0406Yt−2−0.5203Yt−2+et+0.76et−1−0.3405et−3 ⑦
.
.
2.3模型的诊断
在对模型完成了识别和参数估计之后,需要对模型进行诊断,诊断模型是否具有对原时间序列数据的很好的拟合效果。主要进行拟合模型的残差分析和分析过度参数化;对模型进行过度参数分析主要看在进行差分时是否出现过度差分的状况,而对残差进行分析主要需要做以下几个方面的工作:
⑴,检验残差是否是随机的,一个模型如果能很好的拟合,那么拟合后的残差基本上是随机的,残差是应该围绕在某条平行于x=0这一条直线上下波动的,并且波动的幅度不会很大,这可以用做残差序列图观察得到;
⑵,检验残差是否呈正态性,一个模型如果能很好的拟合,那么其残差应该是呈正态性的,这里用残差QQ图和S-W正态性检验(原假设为:H0:数据是呈正态性的)进行;
⑶,判断残差之间是否是相互的,一个模型如果能很好的拟合,那么其残差之间相对是比较的,这里主要用残差的自相关序列图和L-B检验(原假设为:H0:原数据的残差之间是不相关的)进行。 诊断ARIMA(1,2,1)模型,用R软件编程序(具体程序见于附录5)输出为:
.
.
Series residuals(model)Standardized Residuals123ACF-3-119601980Time2000-0.3-0.10.1510Lag15Normal Q-Q PlotSample Quantiles400-4000-2-10Theoretical Quantiles12
图4:ARIMA(1,2,1)模型残差的序列图、ACF图和QQ图
Shapiro-Wilk normality test
W = 0.93417, p-value = 0.00592
Box-Ljung test
X-squared = 23.846, df = 23, p-value = 0.4124
由图4中的残差序列图可以看出残差基本基本上是围绕x=0这条直线上下波动的,因此可以认为ARIMA(1,2,1)模型拟合满足残差是随机的条件;又由图4中的QQ可以看出残差基本上是集中在一条直线上的,
.
.
由S-W检验的的p=0.00592<0.05,检验也可以认为残差是非正态的;又在残差的自相关图中,只有滞后二阶是是显著的,因此可以认为残差之间基本上也是不相关的,特别由B-L检验的p=0.4121>0.05,因此没有充分的理由拒绝原假设,应该认为残差是相互的。到此就已经对模型行进行了诊断,由于残差正态性不足,说明用ARIMA(1,2,1)模型拟合原数据不是十分合适。
同理可对ARIMA(1,2,2)和ARIMA(1,2,3),进行诊断,这里图形和数据检验就不再一一呈现在论文中。在诊断中发现模型ARIMA(1,2,2)用于拟合是满足条件的,而ARIMA(1,2,3)模型也由于残差正态性不足而不适合用于拟合合。因此在对人口模型进行预测时采用ARIMA(1,2,1)模型。并且在进行参数冗余分析时发现,对于该时间序列用ARIMA(1,2,2)模型拟合后,对ARIMA(p,d,q)中p,d,q任意一个变小都不能再满足条件,因此用ARIMA(1,2,2)模型是适合且简化的,因此后文选用ARIMA(1,2,2)模型进行预测。
2.4模型预测
由2.1,2.2,2.3三节已经完成了对模型的识别、参数估计和模型诊断,现在就需要运用该模型对原时间序列趋势进行预测。在实际情况中,过去的状态已经是即成的事实,我们关心的更多的是未来是什么状态,从而就可以判断在目前的情况未来的情况,进而可以进行相应的措施予以
.
.
应对。这里假设对未来5年进行预测,编程得到(具体程序见附录6):
Time Series: Start = 2015 End = 2019 Frequency = 1
[1] 137487.2 138208.4 1336.0 139666.2 140397.4
Time Series: Start = 2015 End = 2019 Frequency = 1
[1] 162.5725 305.4282 518.2338 796.2256 1129.1609
[7]
由上输出,可知由模型ARIMA (3,2,6)预测的2015年-2019年年末总人口数分别为:137487.2,138208.4 ,1336.0,139666.2,140397.4(单位:万人)。并且还可以对人口数进行区间估计,在此就不列出。
三、 模型优缺点及推广
3.1模型优缺点
优点:ARIMA模型在对许多时间序列都适用,并且在建模过程中有多种方法可以选择,并且在模型的诊断中能过对模型的好坏进行评价,对预测起到很好的作用。
缺点:ARIMA模型对数据进行预测时,对短期预测效果还是比较好的,但随着时间的延长,其预测误差就比较大了。 3.2模型的推广
ARIMA模型对大多以时间为变量的趋势都有比较好的拟合效果,可广泛运用于气温、股票、降水量、商品价格等的研究之中。
.
.
结束语
人口问题是人类社会伴随始终的问题,在新中国成立之初,由于对人口问题的认识不足,导致我国大量的人员过剩,从而影响到后面几十年的发展,给教育、医疗社会带来了巨大的压力,即便后来在意识到问题的严重性后,在计划生育下,人口得到了有效的控制,然而由于人口基数过大,人们传统观念的根深蒂固,我国人口还是处于不断增长的时期,最近几年又由于伴随着人口老龄化情况加剧,社会经济压力又有了很大的压力,这对我国的经济在一定程度上有着不良影响,慢慢在对计划生育问题上又有了一定放松,在一定条件下允许第二胎。这一系列的重大举措反应了当代人对人口问题的重视。本文对未来几年利用模型进行了预测,对是一定的补充说明。
论文结束之际,在此向各位老师表示感谢,对在相关领域做出贡献的学者表示感谢。
.
.
参考文献:
[1]程华,高孝成,幺焕民《我国人口增长预测问题的自限模型》,[J],哈尔滨师范大学自然科学学报,2009年,第25卷第3期:34-36 [2]蒋慧萍,《基于多元统计模型的广西人口增长分析》,[J],企业科技与发展,2010年,第10期:190-192
[3]丁明磊,杨晓娜,曹连海《相位空间重构神经网络模型在我国人口增长预测中的应用》,[J],华北水利水电学院学报,2008年6月,第29卷第3期:95-98
[4]王保学,蔡果兰,《Logistic模型的 参数估计及人口预测》[J],北京工商大学学报(自然科学版),2009年11月,第27卷第6期:75-79
[5] Rosen F,《The principle of population as political theory: Godwin's Of
population and the Malthusian controversy》,[J],Journal Of The History Of Ideas [J Hist Ideas] 1970 Jan-Mar; Vol. 31 (1), pp. 33-48.
[6]潘红宇等译,《时间序列分析及应用》[M],机械工业出版社,2011年1月
[7]薛毅,陈丽萍,《统计建模与R软件(下册)》[M],清华大学出版社
.
.
附录
1、做时间序列的序列图
plot(x)
2、做序列的一阶差分时间按序列图及处理后的ACF图,PACF图程序:
mydata<-read.table(\"C:/Users/Administrator/Desktop/shuju.txt\x<-ts(mydata,frequency =1, start =1962) par(mfrow=c(3,1)) plot(x)
plot(diff(x,difference=1)) #做差分后的时间序列图
acf(diff(x,difference=1),ci.type='ma') #做差分后的自相关图 pacf(diff(x,difference=1)) #做差分后的偏自相关图
3、做序列的二阶差分时间按序列图及处理后的ACF图,PACF图程序:
mydata<-read.table(\"C:/Users/Administrator/Desktop/shuju.txt\x<-ts(mydata,frequency =1, start =1962) par(mfrow=c(3,1))
plot(diff(x,difference=2))#做差分后的时间序列图
acf(diff(x,difference=2),ci.type='ma') #做差分后的自相关图 pacf(diff(x,difference=2)) #做差分后的偏自相关图
4、估计模型中的参数程序:
mydata<-read.table(\"C:/Users/Administrator/Desktop/shuju.txt\x<-ts(mydata,frequency =1, start =1962)
arima(x,order=c(1,2,1),method=\"CSS\")#CSS代表条件最小二乘估计 arima(x,order=c(1,2,2),method=\"CSS\")#CSS代表条件最小二乘估计 arima(x,order=c(1,2,3),method=\"CSS\")#CSS代表条件最小二乘估计
.
.
5、对模型的残差进行检验程序:
library(TSA)
mydata<-read.table(\"C:/Users/Administrator/Desktop/shuju.txt\x<-ts(mydata,frequency =1, start =1962) m<-matrix(c(1:3,2),2,2) layout(m);layout.show(3);
model=arima(x,order=c(1,2,1)) #当需要改诊断其他模型时就改变此处的p,d,q值即可
plot(rstandard(model,infl = iflSR),ylab ='Standardized Residuals', type='o');abline(h=0);#画残差图
qqnorm(residuals(model))#画残差的QQ图 qqline(residuals(model))#画残差图QQ图
shapiro.test(residuals(model))#对残差做正态性检验 acf(residuals(model))#对残差做自相关图
LB.test(model,lag=25)#求残差Ljung-Box统计量
6、对未来5年年末人口数的预测程序:
library(TSA)
mydata<-read.table(\"C:/Users/Administrator/Desktop/shuju.txt\x<-ts(mydata,frequency =1, start =1962) model=arima(x,order=c(1,2,2))#确定模型
predict(model,c(5))#对未来五年在model模型下的预测
.
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- dfix.cn 版权所有 湘ICP备2024080961号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务