数据分享|R语言武汉流动人口趋势预测:灰色模型GM(1,1)、ARIMA时间序列、logistic逻辑回归模型...

全文链接:http://tecdat.cn/?p=32496

人口流动与迁移,作为人类产生以来就存在的一种社会现象,伴随着人类文明的不断进步从未间断**(** 点击文末"阅读原文"获取完整代码数据******** )。

相关视频

人力资源是社会文明进步、人民富裕幸福、国家繁荣昌盛的核心推动力量。当前,我国经济正处于从以政府主导的投资驱动型的经济"旧常态"向以市场需求为主导的经济"新常态"转型过渡期。

本文帮助客户综合运用R语言灰色预测模型和logistic逻辑回归模型,以及综合运用ARIMA模型和logistic模型,得到武汉市外省流入人口规模**(** 查看文末了解数据免费获取方式 **)**的预测。

文献回顾

国内关于流动人口的定量预测模型有很多,如马尔萨斯模型[1]、马尔可夫链模型[2]、指数平滑预测模型[3]、宋健模型、BP神经网络模型、单变量的双曲模型[4]、系统动力学模型、Leslie人口预测模型[5]、年龄移算法[6-8]以及CPPS 软件预测等。然而,在经济学和管理学范畴内﹐最为主要的有三种,分别是:

第一,灰色预测模型。1982年,我国学者邓聚龙教授创立了灰色系统理论﹐灰色系统理论的研究对象是"部分信息已知,部分信息未知"的"小样本"、"贫信息"不确定性系统。GM(1,1)模型是最常用的一种灰色模型,由一个只含单变量的一阶微分方程构成的模型。国内不少学者运用灰色预测模型对我国总人口规模的发展趋势进行预测[9-11]。还有一部分学者从区域发展的角度出发,构建了一系列城市人口或区域流动人口的灰色预测模型[12一14]。为了减少预测的误差,学者们进一步修正了GM(1,1)灰色预测模型,构建了"等维灰数递补动态预测"模型对人口进行定量预测[15] 。

第二,Logistic曲线模型。Logistic曲线呈S形,称为生长曲线。Logistic方程最早由比利时数学家P. F. Verhult于1838年提出。但长期埋没﹐直到20世纪20年代被生物学家与人口统计学家R.Pearl和L.J. Reed重新发现。经不断完善和发展,现广泛用于人口和商业分析中。我国学者多运用Logistic模型预测我国某地区的人口数量、流动人口规模等[16---20]

第三,时间序列模型。时间序列分析方法是伯克斯和詹金斯(Box-Jenkins)1976年提出的。

数据来源与处理

将武汉市外省流入人口的时间序列记为{Yt}。

武汉市外来流入人口数据表


点击标题查阅往期内容

R语言用logistic逻辑回归和AFRIMA、ARIMA时间序列模型预测世界人口

左右滑动查看更多

01

02

03

04

ARIMA模型

为降低原始数据随机波动的影响,先要对原始数据进行平滑处理,本文采用常用的三点移动平均法。计算公式如下:

首端点数据进行移动平均时,Yt-1取Yt,末端点数据进行移动平均时,Yt+1取Yt。

另外,由于取对数,不会改变数据的性质和关系,且得到的数据易消除异方差。

go 复制代码
acf(dy)

然后用自相关图检查序列的平稳性,最后发现一阶差分后的序列是平稳的。

下面对平稳性序列 建立 模型 ,偏相关系数在滞后1期后很快地趋向于0,所以取p=1 ,自相关系数图形具有拖尾性,所以初步判断为ar(1)模型。

参数估计

go 复制代码
arima(dy,order=c(p,0,q) )
which.min(aiclist$AIC)

尝试不同的p和q的值,得出最优AIC的模型。

从AIC的结果来看,arima(2,1,1)模型拥有最小的AIC值,因此为最优模型,因此将arima(2,1,1)模型作为最优模型。

对残差序列进行白噪声检验,通常考虑残差序列的随机性,即用伯克斯.皮尔斯 提出的I统计量进行检验,用修正的I统计量:

go 复制代码
Box.test(model$residuals,type="Ljung")

在这里X-squared的值就是0.21927,概率值为0.6396,说明拒绝原假设。

犯第一类错误的概率为0.6396,这说明残差序列相互独立即为白噪声序列的概率很大,故不能拒绝残差序列是一个白噪声序列,检验通过。

单位根平稳性检验 检验

建立arima模型进行比较

ARIMA模型预测

go 复制代码
pred=predict(model, 15)$pred

绘制预测序列时间图

go 复制代码
plot( pred,type="b" ,main="ARIMA模型预测")

而arima模型预测的数据开始波动较大,到后面有逐渐平稳的趋势。

建立灰色模型GM(1,1)对应的函数

go 复制代码
GM11<-function(x0,t,x){     #x0为输入训练数据序列列,t为预测个数,x为原始数据(训练数据+测试集)  
  x1<-cumsum(x0) #一次累加生成序列1-AG0序列  
  b<-numeric(length(x0)-1)  
  n<-length(x0)-1  
  for(i in 1:n){ #生成x1的紧邻均值生成序列  
    b[i]<--(x1[i]+x1[i+1])/2  
    b} #得序列b,即为x1的紧邻均值生成序列  
  D<-numeric(length(x0)-1)  
  D[]<-1  
  B<-cbind(b,D)  
  BT<-t(B)#做逆矩阵

计算相对误差

go 复制代码
e2<-numeric(length(x0))  
  for(s in 1:length(x0)){  
    e2[s]<-(abs(e[s])/x0[s]) #得相对误差  
  }  
  cat("相对残差:",'\n',e2,'\n','\n')  
  cat("残差平方和=",sum(e^2),'\n')  
  cat("平均相对误差=",sum(e2)/(length(e2)-1)*100,"%",'\n')  
  cat("相对精度=",(1-(sum(e2)/(length(e2)-1)))*100,"%",'\n','\n')

后验差比值检验

go 复制代码
avge<-mean(abs(e));esum<-sum((abs(e)-avge)^2);evar=esum/(length(e)-1);se=sqrt(evar)  #计算残差的方差

画出输入序列x0的预测序列及x0的比较图像

go 复制代码
plot(xy,col='blue',type='b',pch=16,xlab='时间序列',ylab='值')  
  points(x,col='red',type='b',pch=4)

拟合模型

go 复制代码
GM11(train,length(mynx),mynx)

预测15年的人口数

go 复制代码
GM11(train,length(myn

logistic逻辑回归模型

go 复制代码
glm(as.numeric(yy[1:lengt

预测

go 复制代码
predict(model,newd

参考文献

[1]林泽楷,许梦瑶,陈以丙.人口预测模型的优化[J].科技致 富向导,2011(8):89-89.

[2]昝欣,宗鹏,吴祈宗.马尔可夫链在高校教师人才流动预测 中的应用[J].科技进步与对策,2007,24(1):185-187.

[3]涂雄苓,徐海云.ARlMA与指数平滑法在我国人口预测中的 比较研究[J].统计与决策,2009(16):21-23.

[4]杨辉.上海市流动人口发展趋势与预测[J].人口学刊,1995 (2):31-34.

[5]冯守平.中国人口发展预测模型的构建与应用[J].统计与 决策,2010(15):24-27.

[6]胡启迪,杨庆中,桂世勋,等.上海市区人口迁移预测模型的 研究[J].人口与经济,1986(1):17-22.

[7]周德禄.经济技术开发区人口变动预测实证研究---------以青 岛经济技术开发区为例[J].东岳论丛,2006,27(5):60-63.

[8]路锦非,王桂新.我国未来城镇人口规模及人口结构变动预 测[J].西北人口,2010(4):1-6.

[9]郝永红,王学萌.灰色动态模型及其在人口预测中的应用 [J].数学的实践与认识,2002,32(5):813-820.

[10]周诗国.我国人口的灰色预测模型研究及其应用[J].数理 医药学杂志,2005,18(4):307-309.

[11]陈作清,李远平,吴霞,等.基于灰色预测的我国人口预测 模型分析[J].中南民族大学学报:自然科学版,2008,27 (1):111-114.

[12]周瑞平.GM(1,1)模型灰色预测法预测城市人口规模[J]. 内蒙古师范大学学报:自然科学版,2005,34(1):81-83.

[13]郑元世,张启敏.银川市人口的灰色预测[J].辽宁工学院 学报,2008,27(5):346-350.

[14]李群,董守义,孙立成,等.我国高层次人才发展预测与对 策[J].系统工程理论与实践,2008,28(2):125-130.

[15]李晓梅.城市流动人口预测模型探讨[J].南京人口管理干 部学院学报,2006,22(4):26-29.

[16]亓昕.北京未来流动人口预测方法探讨及发展趋势[J].人 口与经济,1999(3):52-56.

[17]武萍,陶静.沈阳市流动人口预测与分析[J].锦州师范学 院学报:自然科学版,2001,22(3):69-71.

[18]李振福.长春市城市人口的Logistic模型预测[J].吉林师 范大学学报:自然科学版,2003(1):16-19.

数据获取

在公众号后台回复"人口 ",可免费获取完整数据。

本文中分析的数据**** 分享到会员群,扫描下面二维码即可加群!

点击文末**"阅读原文"**

获取全文完整代码数据资料。

本文选自《R语言武汉流动人口趋势预测:灰色模型GM(1,1)、ARIMA时间序列、logistic逻辑回归模型》。

点击标题查阅往期内容

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分析

相关推荐
David猪大卫9 分钟前
数据结构修炼——顺序表和链表的区别与联系
c语言·数据结构·学习·算法·leetcode·链表·蓝桥杯
Iceberg_wWzZ11 分钟前
数据结构(Day14)
linux·c语言·数据结构·算法
微尘812 分钟前
C语言存储类型 auto,register,static,extern
服务器·c语言·开发语言·c++·后端
夏天天天天天天天#15 分钟前
求Huffman树及其matlab程序详解
算法·matlab·图论
liangbm319 分钟前
MATLAB系列05:自定义函数
开发语言·笔记·matlab·教程·函数·自定义函数·按值传递
计算机学姐19 分钟前
基于PHP的电脑线上销售系统
开发语言·vscode·后端·mysql·编辑器·php·phpstorm
Infedium24 分钟前
优数:助力更高效的边缘计算
算法·业界资讯
三玖诶28 分钟前
如何在 Qt 的 QListWidget 中为某一行添加点击事件
开发语言·qt
InJre35 分钟前
QT widgets 窗口缩放,自适应窗口大小进行布局
开发语言·qt·ui
可愛小吉38 分钟前
Python 课程10-单元测试
开发语言·python·单元测试·tdd·unittest