ExpSmoothing 에 대하여

행동하는 개발자·2023년 10월 5일

TimeSeries

목록 보기
8/8

Python의 statsmodels 라이브러리에 있는 SimpleExpSmoothing 및 ExponentialSmoothing 클래스는 지수 평활 모델의 다양한 변형을 구현한 것이다.

SimpleExpSmoothing

단순 지수 평활(단일 지수 평활)의 구현이다. 이 모델은 추세나 계절성이 없는 시계열 데이터에 적합하다. 단일 평활 계수를 사용하여 예측은 가중치가 기하급수적으로 감소하는 과거 관측치의 가중 평균을 기반으로 한다.

ExponentialSmoothing

이것은 단순 지수 평활을 포함하지만 이중 지수 평활 및 삼중 지수 평활로 확장되는 보다 일반적인 구현이다. 이는 추세 및 계절성이 있는 시계열 데이터를 처리할 수 있다.

  • 추세는 있지만 계절성이 없는 시계열 데이터 -> 이중 지수 평활

  • 추세와 계절성이 모두 있는 시계열 데이터 -> 삼중 지수 평활

예제

from statsmodels.tsa.holtwinters import ExponentialSmoothing
model = ExponentialSmoothing(df['Sales'], trend='add', seasonal='add', seasonal_periods=12).fit()

파라미터

  • trend: None, add, mul 이다.시계열 데이터의 추세를 모델링 하는데 사용된다. mul이면 곱셈 추세 구성 요소가 사용된다.

  • damped_trend: True, False이다. True 라면 추세가 감쇠한다. 추세가 시간이 지남에 따라 감소할 것으로 예상되는 데이터를 예측할 때 사용된다.

  • seasonal: None, add, mul이다. 이 매개변수는 시계열 데이터의 계절을 모델링하는데 사용된다. 역시 mul이면 곱셈 계절 성분이 사용된다.

  • seasonal_periods: 전체 계절 주기의 기간 수를 지정하는 정수이다.

mul

시계열이 시간이 지남에 따라 기하급수적으로 증가하거나 감소함을 의미한다. 추세의 변화는 계열의 현재 값에 비례한다. 이것은 계열이 증가하거나 감소하는 비율로 증가할 때 종종 관찰된다.

예를 들어 매년 5%의 이율로 복리가 적용되는 저축 계좌에는 첫 해에는 1000달러가 들어있다. 하지만 해가 지날 수록 계좌의 돈이 들어나기 때문에 매년 증가하는 금액 또한 증가한다. 이것이 mul이다.

profile
끊임없이 뭔가를 남기는 사람

0개의 댓글