카테고리 없음

Prophet Time Series 데이터 예측

건휘맨 2024. 4. 19. 18:06

Prophet

Facebook에서 개발한 시계열 예측 라이브러리

간단하고 사용자 친화적인 API를 제공하며

계절성과 휴일 효과를 자동으로 처리하여 높은 수준의 예측 성능을 제공

 

Time Series

일정 시간 간격으로 측정된 데이터 포인트의 연속적인 시퀀스를 나타냄

이 데이터는 주로 시간에 따른 변화를 분석하고 예측하는 데 사용됨

 

# install : pip install prophet

import pandas as pd  
import numpy as np 
import matplotlib.pyplot as plt 
import random
import seaborn as sns
from prophet import Prophet

# avocado.csv 데이터 읽기
>>> df = pd.read_csv('/content/drive/MyDrive/Colab Notebooks/ML2/data/avocado.csv',
                	 index_col=0)
                     
# 날짜 순으로 정렬
>>> df = df.sort_values('Date')

 

프로펫 분석을 위해서는 날짜와 예측하고 싶은 데이터가 있어야 함

>>> avocado_prophet_df = df[['Date', 'AveragePrice']]

>>> avocado_prophet_df.columns=['ds', 'y']
# Prophet 을 이용한 예측을 위해 ds와 y로 컬럼명을 셋팅

 

프로펫으로 예측

# 1. 라이브러리를 변수로 만든다.
>>> prophet = Prophet()

# 2. 데이터로 학습시킨다.
>>> prophet.fit(avocado_prophet_df)

# 3. 예측하고자 하는 기간을 정해서 비어 있는 데이터프레임을 만든다.(365일치 예측)
>>> future = prophet.make_future_dataframe(periods=365, freq='D')

# 4. 예측한다.
>>> forecast = prophet.predict(future)

>>> forecast

 

프로펫에서 제공하는 차트

>>>prophet.plot(forecast)
   plt.savefig('chart1.jpg')

 

>>> prophet.plot_components(forecast)
    plt.savefig('chart2.jpg')