全文下载链接 :http://tecdat.cn/?p=27493
最近咱们被客户要求撰写对于预测世界人口的钻研报告,包含一些图形和统计输入。
本文利用R软件技术,别离利用logistic模型、ARFMA模型、ARIMA模型、工夫序列模型对从2016到2100年的世界人口进行预测
作者将1950年到2015年的历史数据作为训练集来预测85年的数据。模型稳定性通过修改后较好,故具备肯定的参考价值。
引言
随着工夫的推移,世界人口一直的增长,为了更好地把握世界人口的停顿速度与法则。咱们利用建设logistic模型并使用R语言软件来剖析并预测在2100年世界的人口数,并与预测出的数据做比照,看模型结构的好坏并进行模型改良与扩大。
模型一:logistic模型
logistic模型又称作阻滞增长模型,次要用来形容在环境资源有限度的状况下,人口数量的增长法则。因为一些因素的影响世界人口数量最终会达到一个饱和值。阻滞作用上体现在对的影响上,使得随着年份的减少而降落。若将示意为的函数,则它应是减函数。则有
因为bgistic回归模型就是基于二项分布族的狭义线性模型,因而在R软件中,Logistic回归剖析能够通过调用狭义线性回归模型函数glm()来实现,其调用格局为
Log<一glm(formula,family=binomial,data)其中,formula为要拟合的模型,family=binomial阐明散布为二项分布,data为可抉择的数据框。
通过在世界银行网站上查阅相干数据,咱们将1950年到2100年的人口数据进行录入,并调用glmnet包来进行拟合。
summary(lg.glm)plot(x, y, main = "人口数随年份变动的logistic曲线",xlab = "年份", ylab = "人口数(千亿)")
Deviance Residuals: Min 1Q Median 3Q Max -0.089181 -0.028946 0.002154 0.027206 0.042212 Coefficients: Estimate Std. Error z value Pr(>|z|)(Intercept) -23.76776 22.17527 -1.072 0.284x 0.01046 0.01101 0.950 0.342(Dispersion parameter for binomial family taken to be 1) Null deviance: 0.923810 on 82 degrees of freedomResidual deviance: 0.082928 on 81 degrees of freedomAIC: 13.991Number of Fisher Scoring iterations: 6
从测验后果可看出随着工夫的推移能影响人口的数量,并且年份越大,人口密度越大;最终会停留到一个饱和值,并失去logistic回归模型:
点击题目查阅往期内容
Python用RNN神经网络:LSTM、GRU、回归和ARIMA对COVID19新冠疫情人数工夫序列预测
左右滑动查看更多
01
02
03
04
模型二 :AFRI MA模型
工夫序列模型可分为段记忆模型和长记忆模型。个别的工夫序列分析模型有自回归(AR)模型、滑动均匀(MA)模型、自回归滑动均匀(ARMA)模型、自回归整合滑动均匀(ARIMA)模型等,这些模型次要是短记忆模型。目前,人们对宏观经济变量的实证钻研发现,长记忆模型尽管远距离观测值间的相依性很小然而仍具备钻研价值。分整自回归挪动均匀模型(ARFMA)模型是长记忆模型,它是由Granger和Joyeux (1980)以及Hosking (1981)在ARIMA模型的根底上构建的,广泛应用于经济金融畛域。
AFRIMA模型定义
AFRIMA模型的基于A R M A模型和ARIMA模型。
ARMA(p,q),模型的模式为:
模型实现:
arfi(Diut[,2][)#建设arfima模型plot(Discnt[,1],Dscunt[,2])#原始数据points(Dicount[,1][1:66],f$fittedcol="red")#拟合数据
从残差图的后果来看,ACF的值不在虚线范畴内,即残差不安稳,不是白噪声,因而上面对数据进行一阶差分。
模型稳定性改良
对数据进行一阶差分使数据更加稳固。
points(c(2016:2100), diffinv(pre$mean)[-1]+ Discount[66,2],col="blue")
从残差图的后果来看,ACF的值和PACF的值都在虚线范畴内,即残差安稳,因而模型稳固。
模型三: ARIMA模型
ARIMA模型定义
ARIMA模型全称为差分自回归挪动均匀模型。是由博克思和詹金斯于70年代初提出的一驰名工夫序列预测办法,博克思-詹金斯法。其中ARIMA(p,d,q)称为差分自回归挪动均匀模型,AR是自回归,p为自回归项;MA为挪动均匀,q为挪动均匀项数,d为工夫序列成为安稳时所做的差分次数。
ARIMA模型的根本思维是:将预测对象随时间推移而造成的数据序列视为一个随机序列,用肯定的数学模型来近似形容这个序列。这个模型一旦被辨认后就能够从工夫序列的过来值及当初值来预测将来值。
ARIMA模型的根本思维是:将预测对象随时间推移而造成的数据序列视为一个随机序列,用肯定的数学模型来近似形容这个序列。这个模型一旦被辨认后就能够从工夫序列的过来值及当初值来预测将来值。
建模过程次要包含:
第一步:自回归过程
令Yt示意t期间的GDP。如果咱们把Yt的模型写成
(Y\_t-)=\_1 (Y_(t-1)-)+u_t
其中是Y的均值,而ut是具备零均值和恒定方差^2的不相干随机误差项(即ut是白乐音),则成Yt遵循一个一阶自回归或AR(1)随机过程。
P阶自回归函数模式写成:
(Y\_t-)=\_1 (Y_(t-1)-)+\_2 (Y\_(t-2)-)+\_3 (Y\_(t-3)-)+⋯+\_p2 (Y\_(t-p)-)+u_t
模型中只有Y这一个变量,没有其余变量。能够了解成“让数据本人谈话”。
第二步:挪动均匀过程
上述AR过程并非是产生Y的惟一可能机制。如果Y的模型形容成
Y\_t=+\_0 u\_t+\_1 u_(t-1)
其中是常数,u为白乐音(零均值、恒定方差、非自相干)随机误差项。t期间的Y等于一个常数加上当初和过来误差项的一个挪动平均值。则称Y遵循一个一阶挪动均匀或MA(1)过程。
q阶挪动均匀能够写成:
Y\_t=+\_0 u\_t+\_1 u_(t-1)+\_2 u\_(t-2)+⋯+\_q u\_(t-q)
自回归于挪动均匀过程
如果Y兼有AR和MA的个性,则是ARMA过程。Y能够写成
Y\_t=+\_1 Y_(t-1)+\_0 u\_t+\_1 u\_(t-1)
其中有一个自回归项和一个挪动均匀项,那么他就是一个ARMA(1,1)过程。是常数项。
ARMA(p,q)过程中有p个自回归和q个挪动均匀项。
第三步:自回归求积挪动均匀过程
下面所做的都是基于数据是安稳的,然而很多时候工夫数据是非安稳的,即是单整(单积)的,个别非安稳数据通过差分能够失去安稳数据。因而如果咱们讲一个工夫序列差分d次,变成安稳的,而后用AEMA(p,q)模型,则咱们就说那个原始的工夫序列是AEIMA(p,d,q),即自回归求积挪动均匀工夫序列。AEIMA(p,0,q)=AEMA(p,q)。
通常,ARIMA 模型建模步骤有4个阶段: 序列平稳性测验,模型初步辨认,模型参数估计和模型诊断剖析。
模型实现
步骤一:辨认。找出适当的p、d、和q值。通过相干图和偏相关图能够解决。
步骤二:预计。预计模型周所含自回归和挪动均匀项的参数。有时能够用最小二乘法,有时候须要用非线性预计办法。(软件能够主动实现)
步骤三:诊断(测验)。看计算出来的残差是不是白乐音,是,则承受拟合;不是,则从新在做。
步骤四:预测。短期更为牢靠。
具体来说:
首先,看一下有没有很显著的trend,需不需要differencing之后再建模。
从ACF和PACF的后果来看,序列没有很快地落入虚线范畴之内,因而,序列不安稳。对序列进行差分。
画出ACF 和PACF,通过看图来决定用哪个模型(ARMA(p,q),ARIMA之类的)。
从差分后的数据后果来看,ACF在8阶后开始落入虚线范畴,PACF在2阶后很快落入虚线范畴,因而p=8,q=2,d=1。
xz1=automa(Dist[1:66,2],ic=c('bic'),trace=T)#主动查找最优的arima模型
ARIMA(2,2,2) : -1058.701 ARIMA(0,2,0) : -1026.504 ARIMA(1,2,0) : -1049.834 ARIMA(0,2,1) : -1048.83 ARIMA(1,2,2) : -1062.532 ARIMA(1,2,1) : -1050.673 ARIMA(1,2,3) : -1058.723 ARIMA(2,2,3) : Inf ARIMA(0,2,2) : -1060.99 Best model: ARIMA(1,2,2)
从残差的ACF后果来看,序列很快稳固地落入虚线范畴,模型稳固。
plot(Discnt[,1],Disnt[,2])points(c(2016:2100) ,Diunt[66,2]+diffinv(xzrcast$mean)[-1],col="red")#预测值2015到2100年
从残差的ACF后果来看,序列很快稳固地落入虚线范畴,模型稳固。
为了测验预测误差是均值为零的正态分布,咱们能够画出预测误差的直方图,并笼罩上均值为零、规范方差的正态分布的曲线图到预测误差上。
points(mst$mids, myst$density, type="l", col="blue", lwd=2)}plotForecrrors(xzrrecast $residuals)
参考文献
【1】统计模仿及其R实现,肖枝洪,武汉大学出版社
【2】Logistic模型在人口预测中的利用,阎慧臻,大连工业大学学报,第27卷第4期
点击文末 “浏览原文”
获取全文残缺材料。
本文选自《R语言用logistic逻辑回归和AFRIMA、ARIMA工夫序列模型预测世界人口》。
点击题目查阅往期内容
R语言工夫序列:ARIMA / GARCH模型的交易策略在外汇市场预测利用
R语言中的工夫序列分析模型:ARIMA-ARCH / GARCH模型剖析股票价格
R语言用Garch模型和回归模型对股票价格剖析
R语言对S&P500股票指数进行ARIMA + GARCH交易策略
R语言ARMA GARCH COPULA模型拟合股票收益率工夫序列和模仿可视化
ARMA-GARCH-COPULA模型和金融工夫序列案例
工夫序列剖析:ARIMA GARCH模型剖析股票价格数据
GJR-GARCH和GARCH稳定率预测普尔指数工夫序列和Mincer Zarnowitz回归、DM测验、JB测验
【视频】工夫序列剖析:ARIMA-ARCH / GARCH模型剖析股票价格
工夫序列GARCH模型剖析股市稳定率
PYTHON用GARCH、离散随机稳定率模型DSV模仿预计股票收益工夫序列与蒙特卡洛可视化
极值实践 EVT、POT超阈值、GARCH 模型剖析股票指数VaR、条件CVaR:多元化投资组合预测危险测度剖析
Garch稳定率预测的区制转移交易策略
金融工夫序列模型ARIMA 和GARCH 在股票市场预测利用
工夫序列分析模型:ARIMA-ARCH / GARCH模型剖析股票价格
R语言危险价值:ARIMA,GARCH,Delta-normal法滚动预计VaR(Value at Risk)和回测剖析股票数据
R语言GARCH建模罕用软件包比拟、拟合规范普尔SP 500指数稳定率工夫序列和预测可视化
Python金融工夫序列模型ARIMA 和GARCH 在股票市场预测利用
MATLAB用GARCH模型对股票市场收益率工夫序列稳定的拟合与预测R语言GARCH-DCC模型和DCC(MVT)建模预计
Python 用ARIMA、GARCH模型预测剖析股票市场收益率工夫序列
R语言中的工夫序列分析模型:ARIMA-ARCH / GARCH模型剖析股票价格
R语言ARIMA-GARCH稳定率模型预测股票市场苹果公司日收益率工夫序列
Python应用GARCH,EGARCH,GJR-GARCH模型和蒙特卡洛模仿进行股价预测
R语言工夫序列GARCH模型剖析股市稳定率
R语言ARMA-EGARCH模型、集成预测算法对SPX理论稳定率进行预测
matlab实现MCMC的马尔可夫转换ARMA - GARCH模型预计
Python应用GARCH,EGARCH,GJR-GARCH模型和蒙特卡洛模仿进行股价预测
应用R语言对S&P500股票指数进行ARIMA + GARCH交易策略
R语言用多元ARMA,GARCH ,EWMA, ETS,随机稳定率SV模型对金融工夫序列数据建模
R语言股票市场指数:ARMA-GARCH模型和对数收益率数据探索性剖析
R语言多元Copula GARCH 模型工夫序列预测
R语言应用多元AR-GARCH模型掂量市场危险
R语言中的工夫序列分析模型:ARIMA-ARCH / GARCH模型剖析股票价格
R语言用Garch模型和回归模型对股票价格剖析
GARCH(1,1),MA以及历史模拟法的VaR比拟
matlab预计arma garch 条件均值和方差模型R语言POT超阈值模型和极值实践EVT剖析