时间序列图
在任何数据分析任务中,第一步都是把数据画出来。图形可以帮助您直观地看到数据中的许多特征,包括模式、异常观测、随时间的变化,以及变量之间的关系。正如数据类型决定应使用哪种预测方法一样,它也决定了哪些图形更合适。
您可以使用 autoplot() 函数生成带或不带分面(facets,即显示数据不同子集的面板)的时间图:
> autoplot(usnim_2002, facets = FALSE)
上面的方法是本课程中许多可接收布尔参数的方法之一。T 和 TRUE 都表示"真",F 和 FALSE 表示"假",然而,T 和 F 在您的代码中可能会被重写。因此,在本课程的其余部分,您应当只使用 TRUE 和 FALSE 来设置布尔指示。
在本练习中,您还会用到另外两个函数,which.max() 和 frequency()。
which.max() 可用于识别最大值的最小索引:
> x <- c(4, 5, 5)
> which.max(x)
[1] 2
若要找到每个时间单位的观测数量,请使用 frequency()。回忆上一练习中的 usnim_2002 数据:
> frequency(usnim_2002)
[1] 4
由于本课程会用到 forecast 和 ggplot2 包,它们已经为您加载到工作空间中。同时还提供了上一练习中的 myts,以及以下 3 个时间序列(均来自 forecast 包):
gold:以美元计价的黄金价格woolyrnq:澳大利亚毛纱产量信息gas:澳大利亚天然气产量
本练习是课程的一部分
R 中的预测
练习说明
- 使用带分面的
autoplot()绘制您保存为myts的数据。 - 将相应参数设为
FALSE,绘制同一数据但不使用分面。会发生什么变化? - 将
gold、woolyrnq和gas时间序列分别绘制在独立的图中。 - 使用
which.max()找出gold序列中的异常值。是第几个观测? - 对每个序列使用
frequency()函数,获得每个时间单位的观测数量。例如,周度数据将返回 52。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# Plot the data with facetting
autoplot(___, facets = ___)
# Plot the data without facetting
___
# Plot the three series
autoplot(___)
___
___
# Find the outlier in the gold series
goldoutlier <- ___(___)
# Look at the seasonal frequencies of the three series
frequency(___)
___
___