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}。
武汉市外来流入人口数据表
ARIMA模型
为降低原始数据随机波动的影响,先要对原始数据进行平滑处理,本文采用常用的三点移动平均法。计算公式如下:
首端点数据进行移动平均时,Yt-1取Yt,末端点数据进行移动平均时,Yt+1取Yt。
另外,由于取对数,不会改变数据的性质和关系,且得到的数据易消除异方差。
acf(dy)
然后用自相关图检查序列的平稳性,,最后发现一阶差分后的序列是平稳的。
下面对平稳性序列 建立 模型 ,偏相关系数在滞后1期后很快地趋向于0,所以取p=1 ,自相关系数图形具有拖尾性,所以初步判断为ar(1)模型。
参数估计
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统计量:
Box.test(model$residuals,type="Ljung")
在这里X-squared的值就是0.21927,概率值为0.6396,说明拒绝原假设。
犯第一类错误的概率为0.6396,这说明残差序列相互独立即为白噪声序列的概率很大,故不能拒绝残差序列是一个白噪声序列,检验通过。
单位根平稳性检验 检验
建立arima模型进行比较
ARIMA模型预测
pred=predict(model, 15)$pred
绘制预测序列时间图
plot( pred,type="b" ,main="ARIMA模型预测")
而arima模型预测的数据开始波动较大,到后面有逐渐平稳的趋势。
建立灰色模型GM(1,1)对应的函数
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)#做逆矩阵
计算相对误差
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')
后验差比值检验
avge<-mean(abs(e));esum<-sum((abs(e)-avge)^2);evar=esum/(length(e)-1);se=sqrt(evar) #计算残差的方差
画出输入序列x0的预测序列及x0的比较图像
plot(xy,col='blue',type='b',pch=16,xlab='时间序列',ylab='值')
points(x,col='red',type='b',pch=4)
拟合模型
GM11(train,length(mynx),mynx)
预测15年的人口数
GM11(train,length(myn
logistic逻辑回归模型
glm(as.numeric(yy[1:lengt
预测
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.
最受欢迎的见解
1.在python中使用lstm和pytorch进行时间序列预测
2.python中利用长短期记忆模型lstm进行时间序列预测分析
3.Python用RNN循环神经网络:LSTM长期记忆、GRU门循环单元、回归和ARIMA对COVID-19新冠疫情新增人数时间序列
4.Python TensorFlow循环神经网络RNN-LSTM神经网络预测股票市场价格时间序列和MSE评估准确性
6.R 语言用RNN循环神经网络 、LSTM长短期记忆网络实现时间序列长期利率预测
7.Matlab创建向量自回归(VAR)模型分析消费者价格指数 (CPI) 和失业率时间序列