일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- GenericGBQException
- youtube data
- spark udf
- Counterfactual Explanations
- correlation
- hadoop
- Retry
- login crawling
- requests
- tensorflow text
- Airflow
- chatGPT
- session 유지
- UDF
- integrated gradient
- top_k
- TensorFlow
- gather_nd
- flask
- 공분산
- GCP
- API
- 상관관계
- grad-cam
- subdag
- 유튜브 API
- XAI
- BigQuery
- airflow subdag
- API Gateway
- Today
- Total
데이터과학 삼학년
Exponential Smoothing 본문
Exponential Smoothing
Non-stationary한 데이터에서도 잘 smoothing 시킬수 있는 방법이다.
즉, 시계열에 따른 주기적 Pattern(Trend, Seasonal)을 갖지 않는 데이터에서도 잘 동작한다.
(This method is suitable for forecasting data with no clear trend or seasonal pattern.)
예를 들어 아래 그림과 같이 유가를 예측한다면
유가 그래프는 시계열에 따라 상당히 불규칙한 패턴을 가지고 있다.
이를 smoothing 하여 어느정도 pattern을 찾아내어 유가를 예측하는 방법에
exponential smoothing을 적용할 수 있다.
Exponential smoothing은 moving average와 매우 비슷한 식을 가지고 있다.
이전 시계열의 값들을 가지고 평균하여 현시점의 값을 구하는 것인데
조금 다른 것은 평균을 구할때 y에 가중치를 주어 평균을 구하는 것이다.
아래 식처럼 과거의 데이터에 대해 차수를 높여가며 가중치를 줄이는 방식이다.
즉, 가장 최신 시점의 데이터에는 큰 가중치를 두고, 오래된 시점의 데이터일수록 가중치를 줄여서 값을 매긴 후 평균하는 방식이다.
예를 들어 보면 아래 표처럼 과거 시점으로 갈수록 가중치가 줄어듦을 볼 수 있다.
이런식으로 최신점에 높은 가중치를 두는 방식으로 smoothing을 할 수 있으며,
그리고
회귀를 하냐 smoothing을 하냐는 목적에 따라 다른 방식의 접근도 가능하다.
마지막으로 위의 유가 예측을 simple exponential smoothing의 결과를 보면
꽤 그럴듯한? 결과를 보여주는 것으로 보인다.
출처 : https://otexts.com/fpp2/ses.html
'Time Series Analysis' 카테고리의 다른 글
Prophet for python (feat. fbprophet) (0) | 2020.12.14 |
---|---|
Augmented Dickey-Fuller test - 정상성 시계열 데이터 확인 방법 (0) | 2020.11.03 |
정상성과 차분 (stationarity & differencing) (0) | 2020.11.03 |
Recurrence plots (시계열 데이터 이미지화 Time-Series Image) (0) | 2020.10.20 |
Timeseries Analysis - statsmodels.tsa (4) | 2020.02.24 |