Math & Statistics/Forecasting: Principles and Practice

챕터 2. 시계열 시각화 - 시간 그래프

corycory 2022. 2. 1. 17:42
728x90
반응형
Forecasting: Principles and Practice 2nd Edition을 공부한 내용을 기록, 정리하고 있습니다. 

 

이 챕터의 코드를 돌려보려면 먼저 R에 패키지를 먼저 설치해야 한다. fpp2 패키지를 먼저 설치해야 예제 코드를 돌릴 수 있다. 

 

2.2 시간 그래프 (time plot)

time plot, 말 그대로 시간을 가로축에 두고 관측값을 선으로 연결하여 그리는 기본적인 그래프이다. fpp2 라이브러리를 불러온다음, 예제 코드를 실행시켜 보았다. 

 

> library(fpp2) ## 라이브러리를 불러와야 다음 코드를 돌릴 수 있다.
Registered S3 method overwritten by 'quantmod':
  method            from
  as.zoo.data.frame zoo 
── Attaching packages ───────────────────────────────────────────── fpp2 2.4 ──
✔ forecast  8.16     ✔ expsmooth 2.3 
✔ fma       2.4      

> autoplot(melsyd[,"Economy.Class"]) + ggtitle("passengers: Melbourn-Sydney") + xlab("year") + ylab("passengers(Unit: 1,000)")

 

다음과 같은 플롯이 그려진다.

위 코드를 실행하여 나온 그래프

 

autoplot()함수는 자동으로 적절한 그래프를 그려준다고 한다. 위 그래프와 같이, 가로축에 시간을 두어 시간의 흐름에 따라 데이터가 어떻게 변하는지 보여주는 것이 시간 그래프이다. 책에 의하면 1989년에는 파업으로 인해 수송객 데이터가 없었던 기간이라고 한다. 1988년 이전에는 관측값이 없어 끊기는 부분도 있다. 1991년 후반부터 수송객이 크게 증가 했으며, 계절에 따른 휴가철 효과도 있어 연초에 수송객 수가 하락하는 지점들이 있다. 미래의 수송객을 예측하기 위해 이러한 특징들을 잘 활용해야 한다. 

 

보다 뚜렷하게 계절성(seasonality)과 추세(trend)를 확인할 수 있는 다른 예시를 보자. 월별 당뇨병 약의 매출액이다. 호주 정부는 연말마다 환자들이 의약품을 저렴하게 구입할 수 있도록 보조금을 준다고 한다. 이 때문에 연초마다 의약품 매출이 급감하는 현상이 두드러진다.

 

월별 당뇨병 약 매출 그래프

 

> autoplot(a10) +
+   ggtitle("Antidiabetic drug sales") +
+   ylab("$ million") +
+   xlab("Year")

 

 

반응형