■ [Ai] Prophet Tutorial #6 - Uncertainty Intervals
오늘은 Prophet 튜토리얼의 여섯 번째 포스팅입니다.
오늘의 주제는 Uncertainty Intervals 입니다.
https://facebook.github.io/prophet/docs/uncertainty_intervals.html
Uncertainty Intervals란 불확실성의 범위라고 보시면 됩니다.
그래서 앞서 다른 예제에서 살펴본 예측 값에는 yhat_lower, yhat_upper라는 값이
있었죠. 이 값은 yhat의 가장 낮은 값과 가장높은 값을 뜻했습니다.
즉 yhat은 예측 값의 범위라고 이해하면 될 것 같습니다.
● Uncertainty in the trend
기본적으로 Prophet은 이 yhat의 값으로 예측 값의 불확실성 범위를 표현합니다.
이 기본 값은 80%, 즉 예측 정확도가 80%라고 보시면 됩니다.
정확도를 더 높이거나 낮추고 싶다면 아래 코드로 조정이 가능합니다.
forcast = Prophet(interval_width=0.95).fit(df).predict(future) |
위 코드를 통해 Uncertainty Intervals를 95%로 조정할 수 있습니다.
● Uncertainty in seasonality
기본적으로 Prophet은 전체 trend에 대해서 정확도를 제어할 수 있는데요.
Seasonality에도 추가적으로 제어할 수 있습니다. 이를 위해서는 Bayesian Sampling을
사용해야 한다고 합니다. 정확한 원리 및 개념은 어렵지만 실제 파이썬에서는 아래의
매우 간단한 코드로 설정이 가능합니다.
mcmc_samples라는 매개변수를 사용합니다. (디폴트는 0입니다)
이 값을 300으로 주면 데이터의 최초 300일에 대해서 적용한다는 것입니다.
m = Prophet(mcmc_samples=300) forecast = m.fit(df).predict(future) fig = m.plot_components(forecast) |
적용 결과는 다음과 같습니다.
위 그림처럼 전체 트렌드에도 불확실성 범위 즉 Uncertainty Intervals가 표기됩니다.
Uncertainty Intervals 피쳐 또한 결과에는 큰 영향을 주지 않는 것 같습니다.
그렇기에 블로그 방문자수 예측 데이터에는 직접 사용하지 않았습니다.
바로 적용해보고 싶은 피쳐는 바로 적용하고, 좀 더 생각이 필요하다면 일단 정리 후
추후 적용해보도록 하겠습니다.
그럼 Uncertainty Intervals 포스팅을 마치겠습니다. 감사합니다
'AI > Prophet' 카테고리의 다른 글
[Prophet] Prophet Tutorial #8 - Non-Daily Data (0) | 2018.07.27 |
---|---|
[Prophet] Prophet Tutorial #7 - Outliers (0) | 2018.07.18 |
[Prophet] Prophet Tutorial #5 - Multiplicative Seasonality (0) | 2018.06.30 |
[Prophet] Prophet Tutorial #4 - Holiday Effects (444) | 2018.06.22 |
[Prophet] Prophet Tutorial #3 - Trend ChangePoints (0) | 2018.06.17 |