教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 教学研究 >

R语言时间序列分析

来源:网络收集 时间:2026-09-05
导读: 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

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字,全部文档内容请下载后查看。喜欢就下载吧 ……

R语言时间序列分析.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/1581973.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)