2.2 时间图

对于时间序列数据而言,我们从最简单的时间图开始。时间图是用将观测值与观测时间点作图,散点之间用直线连接。例如图2.1表示在澳大利亚两个最大的城市之间,Ansett航空公司的每周客流量。

library(fpp2)
autoplot(melsyd[,"Economy.Class"]) +
  ggtitle("墨尔本 - 悉尼经济舱乘客客流量") +
  xlab("年份") +
  ylab("千")+
  theme(text = element_text(family = "STHeiti"))+
  theme(plot.title = element_text(hjust = 0.5))
Ansett航空公司经济舱的客流量

图 2.1: Ansett航空公司经济舱的客流量

之后我们会频繁使用autoplot()函数,它可以自动画出你传给其第一个参数的内容。在本例中,它将melsyd[,"Economy.Class"]识别为一个时间序列,进而自动生成时间图。

该时间图直观地展现出数据具有的一些特征:

  • 由于1989年当地的工业纠纷,当年的客流量为0。
  • 在1992年中,由于一部分经济舱被商务舱取代,导致客流量大幅减少。
  • 1991年下半年客流量大幅上升。
  • 由于假日效应,在每年年初,客流量都会有一定幅度的下降。
  • 这是序列存在长期波动,在1987年向上波动,在1988年向下波动,而在1990年和1991年又再次向上波动。
  • 在某些时期存在缺失值。

对该数据进行预测建模时,需要考虑上述所有的特征,以便有效预测未来的客流量。

如图 2.2 所示,是一个简单的例子。

autoplot(a10) +
  ggtitle("澳大利亚降糖药物的销量") +
  ylab("百万(美元)") +
  xlab("年份")+
  theme(text = element_text(family = "STHeiti"))+
  theme(plot.title = element_text(hjust = 0.5))
澳大利亚降糖药物的月销量

图 2.2: 澳大利亚降糖药物的月销量

显然,图示的时间序列具有明显增长的趋势。同时,在上升趋势中伴随着明显的季节性。在每年年底,由于政府补贴计划,使得降糖药品更便宜,所以人们倾向于在年底囤积药物,从而导致年初的销售额大幅下降。因此,当我们对降糖药物的销量进行预测时,需同时考虑其趋势和季节性因素。