2.10 练习
使用帮助函数了解
gold
、woolyrnq
和gas
时间序列- 使用
autoplot()
分别绘制上述序列。 - 各个序列的频率是多少? 提示:运用
frequency()
函数。 - 使用
which.max()
函数找出gold
序列的离群点。它是哪个观测点?
- 使用
从 OTexts.org/fpp2/extrafiles/tute1.csv 上下载文件
tute1.csv
,打开并查看内容。从B列到D列,是三组季度性序列。分别标记为:Sales、AdBudget 和 GDP。Sales是1981年至2005年期间小型公司的季度销售额。 AdBudget 是广告预算,GDP是国内生产总值。三组时间序列均已经剔除了通货膨胀的影响。首先将数据读入R中,并初步观察数据形态:
<- read.csv("tute1.csv", header=TRUE) tute1 View(tute1)
将数据转化为时间序列
<- ts(tute1[,-1], start=1981, frequency=4) mytimeseries
(使用
[,-1]
可以移除第一列的数据)画出每个序列的时间序列图
autoplot(mytimeseries, facets=TRUE)
尝试不设置参数
facets=TRUE
。
从 OTexts.org/fpp2/extrafiles/retail.xlsx下载澳大利亚月度零售数据。这些代表不同澳大利亚各州的不同类别的零售额,并存储在MS-Excel文件中。
首先将数据读入R中:
<- readxl::read_excel("retail.xlsx", skip=1) retaildata
必须设置第二个参数
skip=1
。选择其中的一个时间序列:
<- ts(retaildata[,"A3349873A"], frequency=12, start=c(1982,4)) myts
使用下列函数观察时间序列:
autoplot()
,ggseasonplot()
,ggsubseriesplot()
,gglagplot()
,ggAcf()
你发现了趋势、季节性或者周期性吗?你对这个时间序列有什么认识?
画出以下时间序列的时间序列图:
bicoal
,chicken
,dole
,usdeaths
,lynx
,goog
,writing
,fancy
,a10
,h02
。- 使用
help()
函数找出每个时间序列的数据。 - 在
goog
的时间序列图上,修改坐标轴名称和标题。
- 使用
使用
ggseasonplot()
函数和ggsubseriesplot()
函数来观察writing
、fancy
、a10
和h02
四个序列的季节性特征。- 你对时间序列的季节性有什么认识?
- 你可以识别出异常的年份吗?
使用
autoplot()
、ggseasonplot()
、ggsubseriesplot()
、gglagplot()
和ggAcf()
这些画图函数,探索序列hsales
、usdeaths
、bricksq
、sunspotarea
和gasoline
的特征。- 你可以发现季节性、周期性或者趋势吗?
- 从这些序列中你发现了什么?
arrivals
数据包括从日本、新西兰、英国和美国到达澳大利亚的人数(千)。- 使用
autoplot()
、ggseasonplot()
和ggsubseriesplot()
函数比较四个国家到达澳大利亚人数的不同之处。 - 你可以找出异常观测点吗?
- 使用
下列时间序列图和ACF图分别对应四个不同的时间序列。你的任务是将第一行的时间序列图和第二行的ACF图分别对应。
数据集
pigs
是从1980年1月到1995年8月,维多利亚州每月屠宰猪的总量。使用mypigs <- window(pigs, start=1990)
截取1990年之后的数据。运用autoplot
和ggAcf
函数分别画出mypigs
及其ACF图,并将其结果与白噪声的结果(如图 2.17 和 2.18 所示)进行比较。数据集
dj
包含了连续292个交易日的道琼斯指数。采用ddj <- diff(dj)
来计算道琼斯指数的日变化量。画出ddj
和它的ACF图。道琼斯指数的日变化类似一个白噪声吗?