【R】【纽约人口数量分析】
文章目录
- 1)实验说明
- 2)实验环境
- 3)实验目的
- 4)实验内容
- 5)实验步骤
- ① 下载并导入数据
- ② 对生成的时间序列对象可视化
- a. 思考
- b. 由上述三种变量查看各个波动趋势数据
- c. 由上述结果可知:
- ③ 使用 plot()函数
- ④ 修正数据
- 6)实验分析
- 7)ps
1)实验说明
从网址(http://robjhyndman.com/tsdldata/data/nybirths.dat)中下载数据到指定位置(D:\),然后解压到当前文件夹。
导入下载的数据 bank-additional-full.csv 到 R 软件。
通过时间序列分析方法对 1946 年 1 月到 1959 年 12 月的纽约每月出生人口数量进行时间序列分析,预测纽约每月人口数量的影响因素及相关规律。
2)实验环境
R-3.6.0
3)实验目的
① 学会并理解 R 语言中 decompose 函数的使用;
② 理解季节指数预测法分析数据的基本原理过程。
4)实验内容
① 从网站下载数据,read_csv 函数读取数据,并用 ts 函数重采样获得时间序列对象;
② 使用 R 中的 decompose 函数观察分析一个时间序列数据的季节、趋势以及随机变化这三种波动趋势,这三种趋势被存储在变量 ‘seasonal’,‘trend’ 和 ‘random’ 中;
③ 对数据进行季节修正。用原始数据减去 ‘seasonal’ 变量。
5)实验步骤
① 下载并导入数据
births<-read.csv("~bank-additional-full.csv")
birthstimeseries <- ts(births, frequency=12, start=c(1946,1))
#创建时间序列对象,单位时间内观测值的频数为 12,从 1946 年的 1 月份开始。
生成时间序列对象,指定 frequency,以及 start。
② 对生成的时间序列对象可视化
plot(birthstimeseries) #画出生成的时间序列数据的折线图,得到时间序列曲线
从上图可以看到:
这个时间序列在一定月份存在季节性变动:在每年的夏天都有一个出生峰值,在冬季的时候进入波谷。同样,这样的时间序列也可能是一个相加模型,随着时间推移,季节性波动是大致稳定的而不是依赖于时间序列水平,且对于时间的变化,随机波动看起来也是大致稳定的。
a. 思考
纽约每月出生人口数量是在夏季有峰值、冬季有低谷的时间序列,当季节性和随机变动在整个时间段内看起来基本不变,此模型很有可能是用相加模型来描述。
为了估计时间序列的趋势性、季节性和不规则部分,使用 decompose 函数分解时间序列
的波动趋势。
birthstimeseriescomponents<-decompose(birthstimeseries) #进行时间序列的波动趋势分解。
估计出的季节性、趋势的和不规则部分现在被存储在变量seasonal,trend 和random 中。
b. 由上述三种变量查看各个波动趋势数据
birthstimeseriescomponents$seasonal
c. 由上述结果可知:
这里给出了估计出的每年 1-12 月的季节性因素,每年都一样。季节性因素最大值在七月(约 1.46),最小值在二月(约-2.08),标志着每年的峰值在七月,低谷在二月份。
③ 使用 plot()函数
画出时间序列中估计的趋势的、季节性的和不规则的部分,更直观的观察结果。
plot(birthstimeseriescomponents) #对生成时间序列数据的趋势的、季节性和不规则部分可视化。
上图展现出了原始的时间序列图(顶部),估计出的趋势部分图(第二行),估计出的季节性部分(第三行),估计得不规则部分(底部)。可以看到估计出的趋势部分从 1947年的 24 下降到 1948 年的 22,紧随着是一个稳定的增加,直到 1949 年的 27。
④ 修正数据
对纽约每月出生人口数量进行季节性修正,可以用“decompose()”估计季节性部分,也可以把这个部分从原始时间序列中去除。
birthstimeseriescomponents <- decompose(birthstimeseries)
birthstimeseriesseasonallyadjusted <- birthstimeseries - birthstimeseriescomponents$seasonal
#去除原始时间序列中的季节性
plot(birthstimeseriesseasonallyadjusted) #可视化季节修正后的数据
上图显示结果是去除掉季节性变动的修正序列,这个季节性修正后的时间序列现在仅包含趋势部分和不规则变动部分。可以看出 1947 年-1949 年是人口的下降区,1950 年开始是稳定的增长,与修正数据前的结论一致。
6)实验分析
一个季节性时间序列包含趋势部分、季节性部分和不规则部分。分解时间序列是要把时间序列分解成这三个部分,并进行估计。若时间序列是相加模型,在 R 语言中使用 decompose()函数,可以达到估计的目的。通过本次实验,得出了纽约人口数量分析的相关规律,随季节性波动,并呈现上升趋势。也可以将本实验在其他的数据集上进行相关的时间序列分析。
本实验主要对时间序列数据进行了季节调整分析,运用 decompose 函数将数据分成趋势、季节、不规则波动三部分观察,并进一步对数据进行修正,剔除季节影响,以便更好地揭示数据本身的基本趋势,发现数据中隐藏的信息。
7)ps
因数据丢失,该实验暂未复现,暂未精读
【R】【纽约人口数量分析】相关推荐
- 【力扣】08 剧情触发时间:在战略游戏中,玩家往往需要发展自己的势力来触发各种新的剧情。一个势力的主要属性有三种,分别是文明等级(C),资源储备(R)以及人口数量(H)。在游戏开始时(第 0 天),三
LCP 08. 剧情触发时间 在战略游戏中,玩家往往需要发展自己的势力来触发各种新的剧情.一个势力的主要属性有三种,分别是文明等级(C),资源储备(R)以及人口数量(H).在游戏开始时(第 0 天), ...
- 聚集索引扫描97%_聚集前1%:R中的资产分析
聚集索引扫描97% by Ben Weber 通过本·韦伯 聚集前1%:R中的资产分析 (Clustering the Top 1%: Asset Analysis in R) The recent ...
- R语言逻辑回归预测分析付费用户
原文链接:http://tecdat.cn/?p=967 对于某企业新用户,会利用大数据来分析该用户的信息来确定是否为付费用户,弄清楚用户属性,从而针对性的进行营销,提高运营人员的办事效率(点击文末& ...
- 生物群落数据分析最常用的统计方法:回归和混合效应模型、多元统计分析技术及结构方程等数量分析方法
原文>>>R语言生物群落数据统计分析应用 R 语言作的开源.自由.免费等特点使其广泛应用于生物群落数据统计分析.生物群落数据多样而复杂,涉及众多统计分析方法.本内容以生物群落数据分析 ...
- ht城市介绍人口数量Html,人口规模
人口规模(population size)是在城市地理学研究及城市规划编制工作中所指的一个城镇人口数量的多少(或大小).一般指一个城镇现状或在一定期限内人口发展的数量,后者与城市(镇)发展的区域经济基 ...
- ArcGIS基础:相同空间人口图层的人口数量字段转移至小区图层(核心:相交操作)及制作人口密度专题图
本实验目标: 人口普查数据分配给小区(两个数据空间和属性不一样,人口普查数据含有人口数量字段.交通小区(交通小区只是一个普通小区的名字,不要纠结)数据没有人口数量字段): 把人口字段搞到交通小区数据图 ...
- R语言量化技术分析的百度指数关注度交易策略可视化
全文链接:http://tecdat.cn/?p=31556 传统的经济理论认为股票市场是有效的,价格波动是对市场信息的反应,投资者能够及时处理所有实时信息并做出最优决策(点击文末"阅读原文 ...
- R语言ggplot2 | PCA分析及其可视化
主成分分析 主成分分析(PCA)的基本介绍 PCA常用的参数 标准化 特征值和特征向量 载荷 得分 R语言实现PCA分析 逐步计算PCA分析中的参数 prcomp函数 princomp函数 自定义函数 ...
- ARIMA预测未来的人口数量变化
ARIMA(自回归滑动平均模型)是一种常用的时间序列预测模型,可以用于预测未来的人口数量变化.下面是使用ARIMA模型进行未来人口数量预测的一般步骤: 1.数据准备:收集相关的人口数量 ...
最新文章
- mysql 监控工具
- ssh远程登录执行shell脚本,找不到jps
- 支持异构图、集成GraphGym,超好用的图神经网络库PyG更新2.0版本
- truecrypt加密分区的编译
- Rain and Umbrellas(dp)
- 【Linux就该这么学 20期培训笔记 01】部署虚拟环境安装linux系统
- 昨天刚招到一个程序员,第一天入职就离职了....因为不加班
- 面试题 02.05. 链表求和
- 90 后美女学霸:出身清华姚班,成斯坦福 AI 实验室负责人高徒!
- php mysql ajax登录界面_PHP+jQuery+Ajax实现用户登录与退出
- co88 sap 实际结算_SAP 物料帐的基本原理
- 2023计算机毕业设计SSM最新选题之javaOA办公系统y7x0p
- 计算机软件著作权登记
- 清理git本地帐户信息
- Excel公式不自动计算出结果
- stm32f7699遇到的犯二问题
- tiny11安装中文
- 实践中的重构19_脱裤子放屁
- pandas的fillna()方法-填充空值
- 好用的企微scrm系统应具备哪些能力
热门文章
- H5之直播开发之旅总结
- uniapp 小程序实现全局所有页面分享 ‘发送给朋友‘和‘分享到朋友圈‘
- JS正则——身份证正则
- javascript里的转义字符
- oppo手机文件共享媒体服务器,OPPO R15 发布会|激光+纱幕、人面投影+3D Mapping等“黑科技”云集的演出...
- oppo android多大内存,友盟+发布移动应用性能体验报告:安卓阵营OPPO崩溃率最低...
- Python学习笔记(4)——Matplotlib中的annotate(注解)的用法
- iOS:instancetype 对比 id 的好处
- 关于乾坤加载子应用导致跨域?
- 易语言写的文件粉碎机代码