TOP
class="layout-aside-left paging-number">
본문 바로가기
[파이썬 Projects]/<파이썬 데이터 분석>

[파이썬] 시계열 데이터 다루기 - 2

by 기록자_Recordian 2024. 5. 6.
728x90
반응형
시작에 앞서
해당 내용은 <파이썬으로 데이터 주무르기> -민형기 저, BJPUBLIC 출판사 의 내용을 토대로 작성되었습니다.
보다 자세한 내용은 해당 교재를 확인하여 주시기 바랍니다.

지난 분석 보기
 

[파이썬] 시계열 데이터 다루기 - 1

시작에 앞서해당 내용은 -민형기 저, BJPUBLIC 출판사 의 내용을 토대로 작성되었습니다.보다 자세한 내용은 해당 교재를 확인하여 주시기 바랍니다.시계열 분석(feat. fbprophet) 을 위한 Visual C++ Build

puppy-foot-it.tistory.com


Prophet 모듈을 이용한 forecast 예측

 

지난 분석에서 받은 pinkwink_web 변수에서 날짜(index)와 방문수(hit)만 따로 저장.

날짜는 pandas가 지원하는 to_datetime 함수를 이용해서 날짜라고 선언하고 Prophet 함수를 사용할 때 주기성이 연단위(yearly_seasonality)로 있다고 알려줌.

# 데이터프레임 생성
df = pd.DataFrame({'ds': pinkwink_web.index, 'y': pinkwink_web['hit']})
df.reset_index(inplace=True)

# 'ds' 열을 날짜 형식으로 변환
df['ds'] = pd.to_datetime(df['ds'], format="%y. %m. %d.")

# 'date' 열 삭제
del df['date']

# Prophet 모델 초기화
m = Prophet(yearly_seasonality=True)

# 모델 학습
m.fit(df)

prophet 모듈

#Prophet 모델의 make_future_dataframe 메서드를 사용하여 특정 기간 이후의 날짜를 생성
future = m.make_future_dataframe(periods=60)
future.tail()

60일 이후 데이터 예측

예측한 데이터를 forecast 변수에 저장

# predict 메서드를 사용하여 미래의 트래픽을 예측
forecast = m.predict(future)
# 예측 결과에서 'ds' (날짜), 'yhat' (예측값), 'yhat_lower' (예측값의 하한 경계), 'yhat_upper' (예측값의 상한 경계) 열을 선택하여 출력
forecast[['ds', 'yhat', 'yhat_lower', 'yhat_upper']].tail()

predict 메서드

 

2017년 6월 말까지의 데이터 이후 약 2개월(60일)의 예측 결과를 실행

m.plot(forecast);

 

forecast

plot_components 명령

 

plot_components 명령으로 시간에 따른 추세, 연간 주기성 및 주간 주기성 등을 시각화로 보기

# 시간에 따른 추세, 연간 주기성 및 주간 주기성 등의 성분을 시각화
m.plot_components(forecast);

 

다음 챕터에서는 Seasonal 시계열 분석으로 주식 데이터 분석


다음글

[파이썬] 시계열 데이터 다루기 - 3

728x90
반응형