카테고리 없음

[시계열 분석] 시계열 데이터 전처리

yennle 2022. 9. 25. 15:31
728x90

< 누락된 데이터 다루기 >

가장 일반적인 방법
- 대치법 : 데이터 전체에 기반해 누락된 데이터 채워 넣는 방법
- 보간법 : 인접한 데이터를 사용해 누락된 데이터 추정(대치법의 한 형태)
- 삭제

 

- 포워드 필 : 누락된 값 바로 직전의 값으로 채우는 방법

 

- 이동평균 : 이전 값들의 평균으로 채우는 방법

      포워드 필은 채워진 값과 실제 관측값에 임의의 노이즈를 포함한 값임.

      이동 평균은 평균을 사용하기 때문에 노이즈의 일부 제거 가능

      누락이 발생하기 전의 데이터만 사용(사전관찰*을 방지하기 위해서)

      

- 보간법 : 전체 데이터를 기하학적인 행동에 제한하여 누락된 데이터 값 결정

     시간에 따라 시스템이 동작하는 방식을 이미 알고 있을 때 유용한 방법

     선형 보간법 - 누락된 데이가 주변 데이터에 선형적인 일관성을 갖도록 제한.

 

 

 

 

< 시계열의 빈도 변경 >

데이터의 출처가 서로 다르면 샘플링 빈도가 같지 않은 경우가 많음.
이럴 때는 데이터의 샘플링 빈도를 바꿔주어야 함.
빈도를 늘이거나 줄이는 방법을 '업샘플링', '다운샘플링'이라고 함.

 

- 업샘플링 : 측정된 데이터에서 더 조밀한 시간의 데이터를 얻기 위한 것. 다음과 같은 경우에 사용함.

     시계열이 불규칙적인 상황, 입력이 서로 다른 빈도로 샘플링된 상황

 

- 다운 샘플링 : 데이터의 빈도를 줄이는 모든 순간을 의미. 다음과 같은 경우에 사용함.

     원본 데이터의 시간 단위가 실용적이지 않은 경우(ex.어떤 것을 너무 자주 측정하는 경우),

     계절 주기의 특정 부분에 집중하는 경우(ex.하나의 특정 계절에만 초점을 맞춘 부분 시계열),

     더 낮은 빈도의 데이터에 맞추는 경우-> 단순 삭제보단 취합 or 다운샘플링. 평균, 합계, 가중치 합계 등 사용

 

- 파이썬은 pandas의 resample 메서드를 사용하면 됨.

 

 

 

 

< 데이터 평활 >

평활은 변동의 폭이 큰 시계열 데이터를 완만한 값으로 변환하는 것을 의미한다.

 

- 지수평활 : 최근 데이터일수록 더 많은 가중치를 줘서 시간의 특성을 더 잘 인식할 수 있도록 한 방법.

$$ S_{t-1} = d*S_{t-1} + (1-d)*x_t $$

     t라는 특정시간에 평활된 값은 위와 같이 구할 수 있음.

     식에서 알 수 있듯이 시간이 지날수록 가중치가 계속 작아짐.

     python은 ewm 사용. 파라미터인 alpha가 1-d의 역할을 함. alpha가 클수록 최근의 영향이 높아짐.

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

     홀트의 방법과 홀트-윈터스의 평활은 추세를 가진 데이터와 추세, 계절성을 가진 데이터에 적용 가능.

 

 

 

 

< 데이터의 계절적 변동 문제 해결 >

출처 :&nbsp;https://velog.io/@yuns_u/%EC%8B%9C%EA%B3%84%EC%97%B4-%EB%8D%B0%EC%9D%B4%ED%84%B0

전체 값이 커지면 계절성의 변동도 커짐.

R에서는 데이터를 계절성, 추세, 나머지 요소로 쉽게 분해 가능

출처 :&nbsp;https://kyounju.tistory.com/25

 

계절성 시계열은 일련의 동작이 정해진 기간 동안 반복되는 시계열.
순환성 시계열도 반복된 동작을 보이긴 하지만, 기간이 가변적. like 화산

 

 

 

< 의도치 않은 사전관찰의 방지 >

사전관찰 : 미래의 어떤 사실을 안다는 뜻. 어떻게든 미래에 일어날 일에 대한 정보가 모델에서 시간을 거슬러 전파되어 모델의 초기 동작에 영향을 주는 방법

사전관찰을 확정 진단하는 방법은 없음.

데이터의 평활, 대치, 업샘플링, 시간에 따른 밀고 당김을 할 때마다, 끊임없이 경계해야 함.

 

 

 

 

 

 

[참고]

에일린 닐슨, 「실전 시계열 분석」, 박찬성, 한빛미디어(2021)

728x90