데이터 한 그릇

2)데이터 정리2 본문

시계열 분석/Practical TIme Series Analysis

2)데이터 정리2

장사이언스 2022. 10. 12. 13:33

날씨가 급 추워져 감기 걸린 이슈로 이번 글이 오래 걸림

데이터 평활

 

시계열 데이터의 경우 무작위적인 변화량이 존재하는데. 평활(smoothing)은 무작위적인 변화를 줄이는 방법들 중 하나이다
주어진 시계열 자료에 평균을 취하는 것은 가장 단순한 평활법이지만, 모든 과거 관측값을 동일한 가중치로 다루기 때문에 추세가 존재하는 경우 좋은 지표가 될 수 없다
https://min23th.tistory.com/20

 

지수평활

 

평활할 때, 모든 시점의 데이터를 똑같이 취급하지 않고 최근 데이터일수록 더 유익한 것으로 다루고 싶을 수 있다. 이럴 때 사용되는 게 지수평활이다

 

누락된 데이터를 그 주변값의 평균값으로 대치하는 이동평균과는 대조적으로 지수평활은 좀 더 최근 데이터일수록 더 많은 가중치를 줘서 시간의 특성을 더 잘 인식할 수 있게한다. 즉 특정 윈도(window) 내에서 시간상 더 가까운 데이터일수록 가중치가 부여된다. 또한 더 과거의 데이텉는 기하급수적으로 낮은 가중치가 적용된다

 

t라는 특정 시간에 대해 평활된 값을 다음과 같이 계산할 수 있다

 

시간 t에서 평활된 값:   S_t  = dx; S_t-1 + (1-d) x x_t

시간 t-1에서 평활된 값: S_t-1 = d x S_t-2 + (1-d) x x_t

 

t-1시간 대의 평활된 식을 통해 시간 t에서 평활된 값 식을 수정할 수 있다

 

시간 t에서 평활된 값: d x (d x S_t-2 + (1-d) x x_t-1) + (1-d) x x_t

 

이는 다시 다음과 같이 연쇄적 형태를 확인할 수 있다

 

d^3 x x_t-3 + d^2 x x_t-2 + d x x_t-1

 

 

다음으론 파이썬을 이용하여 항공 탑슥객 데이터셋을 살펴보면서 평활을 이해해볼 예정

us-airlines-monthly-aircraft-miles-flown.csv 


 
import os
import pandas as pd
os.chdir('/content/drive/MyDrive/Data/dataset')

air = pd.read_csv('AirPassengers.csv', header = None)
air.rename({0:'Date',1:'Passengers'}, axis = 1 , inplace = True)

 

해당 원본 데이터셋은 수천 명의 전체 항공 탑승객 수를 월 단위로 구분한다

 

 

air['Smooth.5'] = air.ewm(alpha = 0.5).mean().Passengers
air['Smooth.1'] = air.ewm(alpha = 0.9).mean().Passengers

 

 

Pandas ewm함수를 이용하여 다양한 감쇠요인(decay factor)를 적용하여 탑승객 수의 값을 손쉽게 평활해볼 수 있다

평활요인(smoothing factor) 로도 불리는 alpha 파라미터의 값은 기존의 평균 정보를 유지하는 것에 비해 현재의 값을 얼마나 갱신해야 하는지에 대한 영향을 미친다 (alpha 값이 작을수록 현재 값과 차이나게 평활됨)

alpha 값이 크면 클수록 값의 갱신은 있는 그대로의 현재 값에 가깝도록 더 빨리 갱신된다

 

책에서는 ewm 함수에 대해서 제대로 설명하고 있지 않기 때문에 위키독스를 참조한다

 

ewm은 지수가중함수

지수가중함수는 오래된 데이터에 지수감쇠를 적용하여 최근 데이터가 더 큰 영향을 끼치도록 가중치를 주는 함수

보통 추가 메서드로 mean()을 사용하여 지수가중평균으로 사용

 

기본적으로 가중치를 결정하는 요소는 alpha로 표기되는 평활계수(감쇠계수)

com / span / halflife 를 통해 자동 계산하도록 하거나, alpha를 통해 직접 설정 가능

alpha기 클수록 더 큰 변화에 민감하며, alpha가 작을수록 평활한 그래프가 생성됨

위키독스 예시

위의 위키독스 예시에서 빨간선은 alpha 가 0.1, 녹색선은 alpha가 0.7

alpha 가 더 큰 녹색선이 더 큰 변화에 민감하고 alpha 가 더 적은 빨간석이 평활한 그래프가 생성됨을 볼 수 있음

 

 

하지만 장기적인 추세의 데이터에서는 단순한 지수평활이 예측을 잘 수행하지 못한다

홀트의 방법(Holt's method) 와 홀트-윈터스의 평활(Holt-Winters smoothing)는 추세를 가진 데이터와 추세 및 계절성을 모두 가진 데이터에 적용 가능한 두 지수평활 방법

그 이외 다양한 지수평활방법이 존재한다 (번외)

Comments