Prophet은 비선형 추세를 연간, 주간 및 일일 계절성 및 휴일 효과와 결합하여 시계열 데이터를 예측하는 Procedure이다.
Prophet은 강한 계절성 효과를 가진 시계열 데이터와 여러 시즌의 과거 데이터를 가장 잘 처리한다.
Prophet은 데이터의 누락 및 추세의 이동에 강건(Robust)하며, 일반적으로 이상치를 잘 처리한다.
1. 정확하고 빠름
페이스북에서 다양한 응용 분야에서 신뢰할 수 있는 예측을 생성하여 계획 및 목표 설정에 사용된다. 우리는 대부분의 경우에 다른 접근 방식보다 Prophet이 더 우수한 성능을 보여주었다. 모델은 Stan을 사용하여 적합시키므로 몇 초 안에 예측 결과를 얻을 수 있다.
2. 완전 자동화
불규칙한 데이터에서도 별도의 처리 없이 합리적인 예측을 제공한다. Prophet은 이상치, 누락된 데이터 및 시계열의 급격한 변화에도 강건하게 작동한다.
3. 사용자 튜닝 기능
Prophet은 사용자가 예측을 조정하고 수정할 수 있는 다양한 기능이 있다. 도메인 지식을 추가하여 사용자가 이해할 수 있는 매개변수를 사용하여 예측을 개선할 수 있다.
4. R 또는 Python에서 사용 가능
Prophet 절차는 R과 Python에서 구현되고, Stan 코드를 제공한다. 편한 언어를 사용하여 예측을 수행할 수 있다.
df = pd.read_csv('/Users/lwh/Desktop/prophet/AAPL.csv')
df.head()
데이터 출처: https://www.kaggle.com/datasets/varpit94/apple-stock-data-updated-till-22jun2021?resource=download
df = df.reset_index()
df['ds'] = df['Date']
df['y'] = df['Close']
data = df[['ds','y']]
data = data[-1000:]
data.head()
prophet_m = Prophet().fit(data)
future = prophet_m.make_future_dataframe(periods=365) # period에 할당된 날짜만큼 미래 날짜 만들기
# 미래 가격 예측하기
forecast = prophet_m.predict(future)
forecast[['ds', 'yhat', 'yhat_lower', 'yhat_upper']].tail()
future.tail()
prophet_m.plot(forecast)
→ Prophet은 이전 데이터를 기반으로 애플의 주가가 상승할 것으로 에측하였다.
참고문헌 | Prophet
[출처 | 딥다이브 Code.zip 매거진]