AI/Prophet

[Prophet] Prophet Tutorial #5 - Multiplicative Seasonality

zamezzz 2018. 6. 30. 16:57

 [Ai] Prophet Tutorial #5 - Multiplicative Seasonality



오늘은 Prophet 튜토리얼의 다섯 번째 포스팅입니다.


오늘의 주제는 Multiplicative Seasonality 입니다.

https://facebook.github.io/prophet/docs/multiplicative_seasonality.html


Multiplicative라는 말은 사전적으로 '증가하는, 곱셈의, 배수사의' 라는 뜻입니다.


즉 단순한 seasonality가 아닌 점진적으로 증가하는 seasonality를 다룰 때 사용하는


피쳐입니다.


모든 모델에서 필요한 것은 아니지만 특정 모델에서 매우 유용할 것으로 보입니다.


튜토리얼에서는 항공 승객을 예측하는 모델에 사용했다고 하는데요.


1년 주기로 어느 계절에 승객이 많고 적고의 트렌드는 비슷하겠지만, 10년 전과 지금의


승객 수는 그 수치상으로 큰 차이가 납니다.


그래서 이러한 Multiplicative Seasonality 특성을 사용하여 예측합니다.


예시로 사용할 데이터 셋은 다음과 같습니다.



1950년 쯔음에는 그 예측 범위가 너무 큰거 같지만 1960년 가까이 되어서는 그 예측의


범위가 너무 작습니다. 그렇기에 이러한 모델에서는 Multiplicative Seasonality특성을


사용하는게 좋을 것 같다고 합니다.


사용 방법은 간단한데요. Prophet의 seasonality_mode를 설정해주면 됩니다.


m = Prophet(seasonality_mode='multiplicative')


위 multiplicative 피쳐를 사용한 예측 결과는 아래와 같습니다.



전체적인 트렌드가 변화된 모습이 보이시나요?


각 카테고리별 트렌드는 아래와 같이 확인할 수 있습니다.


fig = m.plot_components(forecast)



매년 증가하는 트렌드를 확인할 수 있습니다.


그리고 1년 단위의 트렌드 또한 확인할 수 있습니다.

(3월 쯤 최저 시점이며, 여름에 최고 시점이네요)



블로그 방문자 수 예측에는 불필요한 피쳐라고 생각하여 직접 적용하지는 않았습니다.


다만 어떠한 피쳐인지에 대해서 나중에 잘 사용할 수 있도록 정리해보았습니다.


그럼 포스팅을 마치겠습니다. 감사합니다

반응형