Math & Statistics/Forecasting: Principles and Practice

챕터2. 시계열 시각화 - 시차 그래프, ACF

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

 

 

2.7 시차 그래프 (lag plots)

앞에서 그린 그래프와 달리, 시계열 데이터의 시차값을 나타내는 그래프가 시차 그래프(lag plo)이다. 각각의 칸 안에는 1분기에서 4분기까지의 맥주 생산량 그래프가 있다. lag4, lag8 (시차4, 8)에서 그래프는 뚜렷하게 양의 관계를 보이고 있다. 작은 생산량에서 큰 생산량 순서로 2, 3, 1, 4분기이다. lag4, lag8은 값이 가장 큰 4분기이므로 저점인 2분기인 lag2, lag6에서 4, 1, 3, 2 순으로 음의 관계가 나타난다.

 

아래 표의 값들이 각 산점도의 상관계수이다.

 

r(1) r(2) r(3) r(4) r(5) r(6) r(7) r(8) r(9)
-0.102 -0.657 -0.060 0.869 -0.089 -0.635 -0.054 0.832 -0.108

 

기존의 산점도 scatterplot 에서 상관관계를 확인하는 것과 비슷하게, 시차 그래프를 그렸을 때, 데이터에 특정한 패턴이 없다면 자기상관관계가 없다고 한다. 

 

2.8 자기상관(autocorrelation)

앞에서 살펴본 correlation이 두 변수 사이의 선형관계를 측정한다면, 자기상관 (autocorrelation)은 시계열의 시차 값(lagged values)끼리의 선형관계를 측정한다. 예를 들면, r(1)은 y(t)와 y(t-1)의 관계를 측정하는 식이다. 자기상관 r(k)를 계산하는 식은 아래와 같으며, 대문자 T는 시계열 데이터의 총 길이이다.

자기상관 계산식

 

자기상관계수를 시각화 한 것이 자기상관함수(ACF), 또는 상관도표(correlogram)이다. 위의 시차 그래프에 쓰인 데이터와 같은 데이터이며, 위 시차 그래프의 9개의산점도의 상관계수가 아래 상관도표에서의 각각의 막대기값이 된다.

 

> ggAcf(beer2)

 

아래 상관도표를 통해 데이터의 계절성 패턴을 확인할 수 있다. 4, 8, 12, 16에는 크게 증가하고, 2, 6, 10, 14에는 크게 감소한다. 고점과 저점은 2분기를 주기로 나타나고 있다. 그래프의 파란 점선은 상관계수 값이 0과 유의미하게 다른지를 표시하는 기준선이며, 막대기가 파란 점선의 안쪽에 0에 가깝게 있으면 유의미하지 않다.

ACF

 

r(1) r(2) r(3) r(4) r(5) r(6) r(7) r(8) r(9)
-0.102 -0.657 -0.060 0.869 -0.089 -0.635 -0.054 0.832 -0.108

 

ACF 그래프에서의 추세와 계절성

데이터에 추세(trend)가 존재할 때, y(t)에서 가까운 시간의 값들은 큰 자기상관(autocorrelation)을 갖고 있다. 따라서 데이터가 추세를 갖고 있는 경우 ACF는 양의 값을 가지며, y(t)에서 시차가 증가할때 감소한다. 예시를 보자.

 

aelec <- window(elec, start=1980)
autoplot(aelec) + xlab("Year") + ylab("GWh")

 

아래 그래프는 연도별 호주의 월별 전력 수요를 나타낸 그래프이다.

연도별 호주의 월별 전력수요

 

위 그래프에서는 추세(trend)와 계절성(seasonality)가 뚜렷하게 보인다. 위 그래프의 ACF를 그려보면 아래와 같이 나온다. 시차가 증가할 수록 ACF 값이 점점 줄어들고 있지만, 12개월 주기로 ACF가 증가하며 계절성을 보여주고 있다. 물결모양 (scalloped)이 나타나면 계절성이 있다고 본다.

 

ACF

 

2.9 백색잡음 (white noise)

autocorrelation이 없는 시계열을 white noise, 백색 잡음이라고 한다. 이런 경우 라인 그래프가 아래처럼 특정한 추세나 계절정을 확인하기 어려워진다. 

 

set.seed(30)
y <- ts(rnorm(50))
autoplot(y) + ggtitle("White noise")

 

랜덤하게 만든 50개 데이터의 시계열 차트

 

백색잡음 데이터의 경우 ACF가 0에 가깝게 나온다. ACF차트를 그려보았을 때, 그려져 있는 자기상관값 autocorrelation이 하나 이상 파란 점선 경계 (95% confidence interval)를 벗어난다면, 데이터가 백색잡음일 것이라는 가정이 기각된다.

※ 파란 점선으로 표시된 경계는 데이터의 autocorrelation이 0일 것이라는 가정을 가지고 만든 95% confidence interval이다.

반응형