관리 메뉴

KorSA

시간의 흐름에 따른 분석, 시계열(Time Series) 분석 (feat. Prophet) 본문

Data Analysis/Data

시간의 흐름에 따른 분석, 시계열(Time Series) 분석 (feat. Prophet)

Praiv. 2022. 3. 8. 18:46
320x100

이 글은 "TIME SERIES ANALYSIS WITH GENERALIZED ADDITIVE MODELS"를 읽고 작성한 글입니다.

 

 

시간의 흐름에 따라 나타나는 현상을 보고자 한다면 시계열(Time Series) 분석을 활용해보면 좋다.

단, 이 기법을 사용하려면 시간에 따라 일정한 경향이 있어야 한다.

어떤 우연한 사건들이 많으면 많을수록 시계열 기법은 그 효과가 감소하기 때문이다.

 

시계열 기법을 사용할 때 유용한 도구는 FaceBook에서 만든 Prophet이라는 라이브러리이다.

예언자라는 이름답게 이 라이브러리는 기존 데이터의 시계열을 분석해 미래에 어떤 경향이 나타날지 알려준다.

 

물론 완벽한 예측이란 있을 수 없고 더 먼 미래를 예측할수록 오차 범위도 더 커지지만

아무 정보도 없이 의사결정을 하는 것보단 좋은 참고 지표가 될 것이다.

 

Prophet은 시계열 분석에 GAM(generalized additive model) 모델을 사용하여 미래를 예측한다.

Prophet에서 GAM을 사용할 때는 크게 3가지 주요 요소가 있다.

 

1. 그래프의 전반적인 모양(직선인지 굴곡이 있는지)

 

2. Fourier series를 이용하여 발견한 주기적인 경향

이 요소는 backfitting이라는 과정을 통해 진행된다. backfitting을 간략히 말하면,

예측 함수가 여러개 있을 때 이 함수들을 이리저리 변형시킨 결과를 합침으로써 예측의 정확도를 더 높이는 기법이다.

 

3. 간헐적으로 발생하는 비일상적인 사건

 

 

위의 3가지와 아울러, Prophet은 데이터에 대한 민감도를 결정하는 prior values를 지정해주어야 한다.

 

prior values 값이 클수록 더 민감해져서 일반화하여 사용하기 어렵고,

반대로 값이 작을수록 일반화되는 대신 예측 효과가 줄어든다.

이러한 이유로 Prophet을 사용할 때에는 prior values를 이리저리 조절해가며 의미있는 값을 찾아야 한다.

 

 

728x90
728x90
Comments