R语言时间序列分析
R语言时间序列分析
R语言时间序列初探!
说明:
作者:Avril Coghlan Email:alc@sanger.ac.uk
原文:http://www.77cn.com.cn/en/latest/src/timeseries.html 本文档由梁德明、赵华蕾合译;联系方式:hunt4game@http://www.77cn.com.cn;内容遵循许可协议CC 3.0 BY 本文档PDF版本地址为:http://www.77cn.com.cn/a-Little-Book-of-R-for-Time-Series.pdf 本文档中所提及数据集,如出现无法访问,只需将http://www.77cn.com.cn替换为http://www.77cn.com.cn即可 这是一份关于使用R统计软件进行时间序列分析的入门文档。
内容大纲:
使用R进行实现序列分析
o 时间序列分析
o 读取时间序列数据
o 绘制时间曲线图
o 分解时间序列
分解非季节性数据 分解季节性数据 季节性的修正
o 使用指数平滑法进行预测
简单指数平滑法 Holt指数平滑法 Holt-Winters指数平滑法
o ARIMA模型
时间序列的差分 选择一个合适的ARIMA模型
R语言时间序列分析
o
使用 ARIMA模型进行预测
链接与拓展阅读
时间序列分析这本小册子将告诉你如何使用 R软件实现对常见时间序列数据进行简单分析。这本小册子假定读者已经有一定时间序列分析的基础,并且本册的侧重点并不在于解释时间序列分析,而是在于如何使用 R软件实现这些分析。如果你是一位学习时间序列的新手,并且很想学习更多关于本册中提及的概念,我强烈推荐英国公开大学的《Time series》(产品编号 M249/02),你可以从英国公开大学商店购买到。在本册中,我使用的时间序列数据是由 Rob Hyndman的时间序列数据库(http://www.77cn.com.cn/TSDL/)提供的。本册的 PDF版本(英文)在:https://http://www.77cn.com.cn/pdf/a-little-book-of-r-for-timeseries/latest/a-little-book-of-r-for-time-series.pdf如果你喜欢本册,也许你应该瞧瞧这本《R语言与生物统计》(英文)(http://www.77cn.com.cn/)是否感兴趣,还有我的另一本《R语言与多元统计分析》(英文) (http://www.77cn.com.cn/)
读取时间序列数据当你想要分析时间序列数据时,第一件事就是将数据读入 R软件,并且绘制时间序列图。假设你的数据是以连续的时间点的形式存储在简单的文本文件的一列里,你可以使用 scan()函数将数据读入到 R。例如,这个文件(http://www.77cn.com.cn/tsdldata/misc/kings.dat)包含着从威廉一世开始的英国国王的去世年龄数据。(原始出处:Hipel and Mcleod, 1994)数据集如下:Age of Death of Successive Kings of England
#starting with William the Conqueror#Source: McNeill,"Interactive Data Analysis"
R语言时间序列分析
60 43 67 50 56 42 50 65 68 43 65 34 ...
这里仅显示了文件的一些行。第一个三行
包含了一些数据的注解内容,在我们读入数据到 R的时候,直接忽略这些。我们可以使用 sacn()函数的”skip”参数指定文件中从顶部开始有多少行需要忽略。为了将数据读入到 R,并且忽略掉文件中的前三行,我们输入以下代码:> kings<- scan("http://www.77cn.com.cn/tsdldata/misc/kings.dat",skip=3) Read 42 items> kings[1] 60 43 67 50 56 42 50 65 68 43 65 34 47 34 49 41 13 35 53 56 16 43 69 59 48[26] 59 86 55 68 51 33 49 67 77 81 67 71 81 68 70 77 56
在这个案例中有 42位英国国王的去世年龄数据被读入到变量”kings”中。
R语言时间序列分析
一旦你将时间序列数据读入到 R,下一步便是将数据存储到 R中的一个时间序列对象里,以便你能使用 R的很多函数分析时间序列数据。我们在 R中使用 ts()函数将数据存储到一个时间序列对象中去。例如存储“kings”这个变量中的数据到时间序列对象中,我们输入以下代码:> kingstimeseries<- ts(kings)> kingstimeseries Time Series: Start= 1 End= 42 Frequency= 1[1] 60 43 67 50 56 42 50 65 68 43 65 34 47 34 49 41 13 35 53 56 16 43 69 59 48[26] 59 86 55 68 51 33 49 67 77 81 67 71 81 68 70 77 56
有时候时间序列数据集是少于一年的间隔相同的数据,比如月度或者季度数据。在这种情况下,你可以使用 ts()函数中的“frequency”参数指定收集数据在一年中的频数。如月度数据就设定 frequency=12,季度数据就设定 frequency=4。你也可以通过 ts()函数中的“start”参数来指定收集数据的第一年和这一年第一个间隔期。例如,如果你想指定第一个时间点为 1986年的第二个季度,你只需设定 start=c(1986,2)。一个样本数据集是从 1946年 1月到 1959年 12月的纽约每月出生人口数量(由牛顿最初收集)数据集可以从此链接下载(http://www.77cn.com.cn/tsdldata/data/nybirths.dat)。我们将数据读入 R,并且存储到一个时间序列对象中,输入以下代码:> births<- scan("http://www.77cn.com.cn/tsdldata/data/nybirths.dat") Read 168 items> birthstimeseries<- ts(births, frequency=12, start=c(1946,1))> birthstimeseries Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
R语言时间序列分析
1946 26.663 23.598 26.931 24.740 25.806 24.364 24.477 23.901 23.175 23.227 21.672 21.870 1947 21.439 21.089 23.709 21.669 21.752 20.761 23.479 23.824 23.105 23.110 21.759 22.073 1948 21.937 20.035 23.590 21.672 22.222 22.123 23.950 23.504 22.238 23.142 21.059 21.573 1949 21.548 20.000 22.424 20.615 21.761 22.874 24.104 23.748 23.262 22.907 21.519 22.025 1950 22.604 20.894 24.677 23.673 25.320 23.583 24.671 24.454 24.122 24.252 22.084 22.991 1951 23.287 23.049 25.076 24.037 24.430 24.667 26.451 25.618 25.014 25.110 22.964 23.981 1952 23.798 22.270 24.775 22.646 23.988 24.737 26.276 25.816 25.210 25.199 23.162 24.707 1953 24.364 22.644 25.565 24.062 25.431 24.635 27.009 26.606 26.268 26.462 25.246 25.180 19
54 24.657 23.304 26.982 26.199 27.210 26.122 26.706 26.878 26.152 26.379 24.712 25.688 1955 24.990 24.239 26.721 23.475 24.767 26.219 28.361 28.599 27.914 27.784 25.693 26.881 1956 26.217 24.218 27.914 26.975 28.527 27.139 28.982 28.169 28.056 29.136 26.291 26.987 1957 26.589 24.848 27.543 26.896 28.878 27.390 28.065 28.141 29.048 28.484 26.634 27.735 1958 27.132 24.924 28.963 26.589 27.931 28.009 29.229 28.759 28.405 27.945 25.912 26.619 1959 26.076 25.286 27.660 25.951 26.398 25.565 28.865 30.000 29.261 29.012 26.992 27.897
同样的,这个文件(http://www.77cn.com.cn/tsdldata/data/fancy.dat )包含着一家位于昆士兰海滨度假圣地的纪念品商店从 1987年 1月到 1987年 12月的每月销售数据(原始数据源于 Wheelwright and Hyndman, 1998)。我们将数据读入 R使用以下代码:> souvenir<- scan("http://www.77cn.com.cn/tsdldata/data/fancy.dat") Read 84 items> souvenirtimeseries<- ts(souvenir, frequency=12, start=c(1987,1))> souvenirtimeseries Jan Oct Feb No …… 此处隐藏:8932字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [教学研究]2012西拉科学校团少队工作总结
- [教学研究]建筑工程公司档案管理制度
- [教学研究]小学数学人教版六年级上册圆的周长和面
- [教学研究]ERP电子行业解决方案
- [教学研究]钢支撑租赁合同范本
- [教学研究]预应力自动张拉系统用户手册Rev1.0
- [教学研究]MOOC课程:金瓶梅人物写真(每章节课后
- [教学研究]追加被执行人申请书(适用追加夫妻关系)
- [教学研究]2014年驾考科目一考试最新题库766
- [教学研究]2013-2014学年度九年级物理第15章《电
- [教学研究]新版中日交流标准日本语初级下26课-客
- [教学研究]小导管注浆施工作业指导书
- [教学研究]一般财务人员能力及人岗匹配评估表
- [教学研究]打1.2.页 小学一年级暑假口算100以内加
- [教学研究]学习贯彻《中国共产党党和国家机关基层
- [教学研究]2012年呼和浩特市中考试卷_35412
- [教学研究]最简易的电线电缆购销合同范本
- [教学研究]如何开展安全标准化建设
- [教学研究]工作分析与人岗匹配
- [教学研究]2016-2017学年高中历史第七单元现代中
- 山东省义务教育必修地方课程小学三年级
- 台湾宜兰大学互联网交换技术课程 01_In
- 思想品德:第一课《我知我家》课件(人
- SAR合成孔径雷达图像点目标仿真报告(附
- 利辛县“十三五”规划研究报告
- 2015-2020年中国手机APP行业市场发展趋
- 广告策略、创意表现、媒体方案
- 企业如何申请专利的的几点思考
- 《中国教育简史》网上作业
- 高中历史第二单元西方人文精神的起源及
- 年终晚会必备_精彩的主持稿_精心整理_
- 信息工程专业自荐书
- 2019高考历史人教版一轮练习:第十二单
- JAVA俱乐部管理系统软件需求规格说明书
- 2016-2021年中国小型板料折弯机行业市
- (人教新课标)六上_比的基本性质课件PPT
- 辽宁省公务员考试网申论备考技巧:名言
- 神经阻滞麻醉知情同意书
- 施工企业信息填报、审核和发布的相关事
- 初一(七年级)英语完形填空100篇




