새소식

TIL

시계열 분해(Time series decomposition) 그래프 확인하기

  • -
import pyupbit as pu
import numpy as np 
import pandas as pd
import matplotlib.pyplot as plt
from statsmodels.tsa.seasonal import seasonal_decompose


pu.get_current_price(["KRW-BTC"])
btc = pu.get_ohlcv(ticker="KRW-BTC",interval='minute1',to='2023-04-12 23:59',count=3000).close

plt.figure(figsize=(14,7))
plt.title('Bitcoin')
plt.plot(btc)

 

result = seasonal_decompose(btc, model='multiplicative', period=30)

fig, (ax1, ax2, ax3, ax4) = plt.subplots(4, 1, figsize=(12, 8))
result.observed.plot(ax=ax1, title='Original')
result.trend.plot(ax=ax2, title='Trend')
result.seasonal.plot(ax=ax3, title='Seasonal')
result.resid.plot(ax=ax4, title='Residual')

plt.tight_layout()
plt.show()

이는 seasonal_decompose 함수의 인자인 model을 'multiplicative'로 설정해주었기 때문에, 시계열 데이터를 곱셈 시계열 모델로 분해한 것이다. 덧셈 시계열 모델로 분해하려면 model을 'additive'로 설정해주면 된다.

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.