PROPHET 4

[python] prophet 사용하기4 - cross validation, hyperparameter tuning

Prophet문서를 하나하나 살펴보다 보니, Prophet에도 cross validation을 적용할 수 있다는 것을 알게 되었다. 그리고 원하는 지표를 기준으로 CV하면서 그리드서치로 하이퍼파라미터를 정할 수 있다. 그것도 병렬로해서 조금 더 빠르게도 가능! 해당 부분을 정리해봤다. Cross Validation Prophet에서의 교차검증은 과거 데이터에서 컷오프(절단) 지점을 선택하고, 그 전까지만 사용해서 모델을 피팅하고 그 이후의 값으로 모델을 평가하면서 진행된다. 위 사진을 기준으로 보면, cutoff지점인 2013년도를 기준으로 이전은 initial이라는 학습 기간으로, 이 기간을 대상으로 모델이 학습되고 이후 horizon으로 된 기간을 예측해서 모델을 평가하게 된다. 지금 horizon ..

AI/시계열 2022.08.07

[Python] prophet 사용하기 3 - changepoint 조절하기, Gridsearch로 최적 파라미터 찾기

Changepoint 시계열은 갑자기 변화하는 경우가 생기기 마련이다. Prophet에서는 이런 부분을 적절하게 캐치해서 조절해주는 기능이 있지만, 모델이 놓치는 경우가 있을 수도 있고, 조금 더 세밀한 조절이 필요할 수도 있다. 그럴 때 사용하기 좋은 세가지 파라미터들을 알아보고자 한다. Automatic changepoint detection in Prophet 기본적으로 Prophet에서는 시작부터 80% 까지의 데이터 내에서 변화점을 찾아낸다. from prophet.plot import add_changepoints_to_plot fig = m.plot(forecast) a = add_changepoints_to_plot(fig.gca(), m, forecast) prophet.plot의 add..

AI/시계열 2022.07.24

[python] prophet 사용하기 2 - Seasonality 조절하기

저번 포스팅에 이어서 prophet의 seasonality를 조절하는 방법에 대해서 알아보려고 한다. Seasonality 계절성이란 일정한 빈도를 가지고 주기적으로 반복되는 패턴으로, 해마다 특정한 때 혹은 1주일마다 특정 요일에 나타나는 것 같은 요인이 시계열에 영향을 줄 때 계절성 패턴이 나타난다. prophet에서의 seasonality prophet에서는 아무런 설정도 하지 않은 경우 자동으로 연간, 주간 계절성을 파악해서 맞춘다. 그리고 이 내용에 대해서는 plot_yearly, plot_weekly를 이용해서 확인할 수 있다. yearly_seasonality from prophet.plot import plot_yearly plot_yearly(m) 학습을 한 모델을 plot_yearly에..

AI/시계열 2022.07.19

[python] prophet 사용하기1 - holiday 옵션 조절하기

prophet prophet은 페이스북에서 만든 시계열 예측 라이브러리이다. 시계열을 예측하는 데 쓰이는 모델들은 ARIMA, SARIMA, LSTM, ES 등등 다양하게 존재하지만 Prophet의 장점은 누구나 어렵지 않게 조절이 가능하다는 데 의의가 있는 것 같다. prophet은 계절효과가 강하면서 여러 시즌의 과거 데이터가 있는 경우에 가장 잘 작동한다고 하는데, 실제로 해보니 트렌드를 정말 잘 반영하여 예측하는 것을 볼 수 있었다. prophet의 구성 요소는 g(t) : Growth, 반복적이지 않은 트렌드 s(t) : Seasonality, 주기를 가지고 있는 계절성 h(t) : Holiday, 규칙적이지 않은 영향이 있는 이벤트 오차 : 정규분포라고 가정 이렇게 4가지로 요약할 수 있다. ..

AI/시계열 2022.07.13