반응형
본 글은 공부한 내용과 다른 사람들의 블로그를 참조하며 작성한 글입니다. 추가적으로 Amazon Forecast내에 있는 Prophet model을 사용하고자 공부하며 작성중입니다.
Prophet이란?
- 오늘날, 현 Meta(전 Facebook)에서 open source로 나온 시계열 데이터 모델입니다.
- Python과 R을 사용하여 forecast가 가능합니다.
- 통계적 지식이 없어도 직관적 파라미터를 통해 모형을 조정할 수 있습니다.
Prophet 설치 방식
python -m pip install prophet
Prophet 구성요소
- Growth Seasonality, Holidays
- g(t) 는 반복적인 요소를 갖고 있지 않은 트랜드, s(t)는 계절성,주기성 등 반복적인 변화, h(t)는 Holiday와 같이불규칙하게 영향을 미치는 요소를 의미합니다. e t는 정규분포라고 가정한 오차입니다.
Trend - g(t)
- 모델의 Trend를 조절할 수 있는 파라미터는 다음과 같습니다.
- changepoints : 트렌드 변화시점을 명시한 리스트값
- changepoint_prior_scale : changepoint(trend) 의 유연성 조절
- n_changepoints : changepoint 의 개수
- changepoint_range changepoint : 설정 가능 범위. (기본적으로 데이터 중 80% 범위 내에서 changepoint를 설정합니다.)
Seasonality - s(t)
- seasonality 관련 파라미터는 다음과 같습니다.
- yearly_seasonality : 연 계절성
- weekly_seasonality : 주 계절성
- daily_seasonality : 일 계절성
- seasonality_prior_scale : 계절성 반영 강도
- seasonality_mode :'additive' or'multiplicative'
- 단순한 seasonality가 아닌 점점 증가하는 seasonlity를 다룰 때 사용하면 좋은 기능입니다. 점점 증가하는 seasonlity를 띄면 multiplicative를 사용합니다.
Holiday - h(t)
- t로 나타내어지는 특정한 시간이 휴일리스트에 포함되어있는지 확인합니다. 추가적으로 파라미터 값을 통해 휴일과 주변날의 관계를 설정 할 수 있습니다.
참고:
Prophet paper , https://hyperconnect.github.io/2020/03/09/prophet-package.html,https://gorakgarak.tistory.com/1255,https://zzsza.github.io/data/2019/02/06/prophet/