본문 바로가기
3️⃣ 기타/▢ 영어

[Blog] Time Series Transformation Package : scalecast

by isdawell 2023. 1. 27.
728x90

 

 https://medium.com/towards-data-science/time-series-transformations-and-reverting-made-easy-f4f768c18f63

 

Time Series Transformations (and Reverting) Made Easy

Exploring transformations for time series and how to revert them with scalecast in Python

towardsdatascience.com

 

 

 

 

 

 

👀 Summary 


 

Stationarity is an important factor in forecasting time series data. It means that its tendency to return to its mean value over time. (평균과 분산이 일정하고, 특정한 추세가 존재하지 않는 성질)

 

▸ ARIMA, Holt-Winters, Exponential Smoothing and others → do not necessarily require stationary data 

    • Ex. ARIMA 모델의 경우 차분을 통해 정상성을 만족시킴 

 

▸ However, popular ML model like XGBoost hos no regards for series' stationarity → need to apply transformation 

 

 

 

 

🔹 scalecast python packages 

 

• 비정상 시계열 데이터를 변형시키는데 필요한 라이브러리 

 

pip install --upgrade scalecast

from scalecast.Forecaster import Forecaster
from scalecast.SeriesTransformer import SeriesTransformer

 

 

• Transformer 적용 

 

#

data = pd.read_csv('AirPassengers.csv')

f = Forecaster(
    current_dates = data['Month'],
    y = data['#Passengers'],
    future_dates = 24,
) 

transformer = SeriesTransformer(f)



# 👉 다양한 종류의 차분 

f = transformer.DiffTransform(12) # 12 periods is one seasonal difference for monthly data
f = transformer.DetrendTransform()

 

 

 

• 다양한 종류의 차분 방법들을 적용시킬 수 있음 :  first differencing, second differencing and beyond, seasonal differencing, linear detrending, polynomial detrending, logarithmic detrending, scaling, boxcox transformations ... 

 

 

https://github.com/mikekeith52/scalecast

 

GitHub - mikekeith52/scalecast: The practitioner's forecasting library

The practitioner's forecasting library. Contribute to mikekeith52/scalecast development by creating an account on GitHub.

github.com

 

 

예측모델을 바로 불러와 실행시킬 수도 있으며, 차분 이전의 데이터로 되돌릴 수도 있다. 또한 Auto-transforming 기능을 제공해, 가장 최적의 성능을 보이는 변형 방법을 추천받을 수 있는 기능 또한 존재한다. 

 

 

from scalecast.util import find_optimal_transformation

 

 

 

 

📚 Vocab 


• revert : 원래 상태로 돌아가다 

• spurious : 가짜의, 비논리적인

• deceptively : 기만적으로

 

 

 

728x90

댓글