码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 数据分享|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}。

    2ad62907bbc5584f5927165a89b1d0b3.png

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

    87024243674303da6cea6e1959183509.png


    点击标题查阅往期内容

    454da3e5b9252c5604ca6d1e1e91cdc9.png

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

    outside_default.png

    左右滑动查看更多

    outside_default.png

    01

    4073dc950252b8c650201aee2c098a87.png

    02

    420ddc87572ede57aac2c33696c8651f.png

    03

    2781677c5687dbef8a49bced6f1fb654.png

    04

    d7cc0a7debd9a3ad14a651b5de21b34a.png

    ARIMA模型

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

    a32cd6e9398bff9b551e4c12b68ca76f.png

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

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

    acf(dy)

    9fddd3c2caeb42a50a3354363c38429e.png

    d5833050484fc5ef48ed5ccfaa776b71.png

    然后用自相关图检查序列的平稳性,最后发现一阶差分后的序列是平稳的。 
    下面对平稳性序列 建立 模型 ,偏相关系数在滞后1期后很快地趋向于0,所以取p=1 ,自相关系数图形具有拖尾性,所以初步判断为ar(1)模型。

    参数估计

    1. arima(dy,order=c(p,0,q) )
    2. 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")

    fe0227f56905f84dfcabab02febf66b0.png

    在这里X-squared的值就是0.21927,概率值为0.6396,说明拒绝原假设。
    犯第一类错误的概率为0.6396,这说明残差序列相互独立即为白噪声序列的概率很大,故不能拒绝残差序列是一个白噪声序列,检验通过。

    单位根平稳性检验 检验

    2d16e9e8c27770f1451e3830ee57cb7a.png

    建立arima模型进行比较

    1916e9c3a659e067c61b1f92f9587440.png

    ARIMA模型预测

    pred=predict(model, 15)$pred

    绘制预测序列时间图

    plot( pred,type="b" ,main="ARIMA模型预测")

    64e1a13f701c361b0f9d8dedb3d7ca42.png

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

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

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

    计算相对误差

    1. e2<-numeric(length(x0))
    2.   for(s in 1:length(x0)){
    3.     e2[s]<-(abs(e[s])/x0[s]) #得相对误差
    4.   }
    5.   cat("相对残差:",'\n',e2,'\n','\n')
    6.   cat("残差平方和=",sum(e^2),'\n')
    7.   cat("平均相对误差=",sum(e2)/(length(e2)-1)*100,"%",'\n')
    8.   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的比较图像

    1. plot(xy,col='blue',type='b',pch=16,xlab='时间序列',ylab='值')
    2.   points(x,col='red',type='b',pch=4)

    拟合模型

    GM11(train,length(mynx),mynx)

    d75090d03f6fa7832a24ba755577d79d.png

    b74f4a814021e2757cfdf3a39e64521e.png

    预测15年的人口数

    GM11(train,length(myn

    aea70465c49ab531c24c0c2aa3ac69c7.png

    616984bcf857ed2dec32f97985d5acbc.png

    logistic逻辑回归模型

    glm(as.numeric(yy[1:lengt

    0ad03cc0bf4faa3541ce756b08ca3114.png

    预测

    predict(model,newd

    3c410db543c20e8ecd79fad38de23f2b.png

    参考文献

    [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.

    数据获取

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

    dea40ccab567abb06c6da78458272372.jpeg

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

    feaca082cc9db3de17ca3994786497c3.png

    0a973192bc62a777cd58737e1dc37c80.png

    点击文末“阅读原文”

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

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

    f7b3910e9c36a895ff2dd0cc567da7c4.jpeg

    03d50f4b9f6179c0a348d67d29eefab4.png

    点击标题查阅往期内容

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

    17d0ecb896e0bc30e5bf9b0fd9d385c7.png

    ca1c2089837202a5eefc79fb31b23987.jpeg

    0930f9c985ad04242f109b51656811a6.png

  • 相关阅读:
    K8S Pod 水平自动扩缩容 HPA
    Verilog描述语言程序基本结构
    深聊MySQL,从入门到入坟之:定位慢SQL的方法还可以这样,小菜鸡都能看懂。
    书生·浦语大模型开源体系(四)作业
    详解OpenCV的矩阵规范化函数normalize()【范围化矩阵的范数或值范围(归一化处理)】,并附NORM_MINMAX情况下的示例代码
    linux vim编辑器
    MySQL系列-安装配置使用说明(MAC版本)
    d的dip1000仍按域变量对待中引用的副本
    supOS APP开发者课程练习册
    克鲁斯卡尔算法(C++)
  • 原文地址:https://blog.csdn.net/tecdat/article/details/132844045
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号