데이터 전처리: 시간 데이터 처리 – 리샘플링

ㅁ 시간 데이터 처리

ㅇ 정의:
시간 데이터 처리란 시계열 데이터의 시간 단위, 간격, 포맷 등을 변환하거나 보정하여 분석 및 모델링에 적합하게 만드는 과정이다.

ㅇ 특징:
– 시계열 데이터의 시간 간격이 불규칙하거나 결측이 있는 경우 이를 일정한 간격으로 맞출 수 있다.
– 시간대(Timezone) 변환, 포맷 변경, 주기적 집계 등의 작업이 포함된다.
– 데이터의 시간 단위(초, 분, 시, 일, 월 등)를 변경하거나 샘플링 빈도를 조정할 수 있다.

ㅇ 적합한 경우:
– 센서 데이터, 로그 데이터, 금융 시계열 데이터 등에서 분석 주기에 맞춘 데이터 정리가 필요할 때
– 장기 추세 분석, 계절성 분석, 예측 모델링 전에 데이터 간격을 일정하게 맞춰야 할 때

ㅇ 시험 함정:
– 리샘플링과 리인덱싱(reindexing)을 혼동하는 경우가 많음
– 다운샘플링 시 집계 함수(평균, 합계 등)를 지정하지 않으면 기본값이 적용됨
– 업샘플링 시 결측값 처리 방법을 명시하지 않으면 NaN 발생 가능

ㅇ 시험 대비 “패턴 보기” 예시:
O: “시간 간격을 일 단위에서 월 단위로 변경하는 과정은 리샘플링이다.”
X: “리샘플링은 결측값을 보간하는 과정이다.”

================================

1. 리샘플링

ㅇ 정의:
리샘플링은 시계열 데이터의 시간 간격을 변경하여 다운샘플링(간격 늘리기) 또는 업샘플링(간격 줄이기)을 수행하는 데이터 전처리 기법이다.

ㅇ 특징:
– 다운샘플링: 더 큰 시간 단위로 집계 (예: 분 데이터를 시간 데이터로)
– 업샘플링: 더 작은 시간 단위로 확장 (예: 일 데이터를 시간 데이터로)
– 업샘플링 시 결측값이 발생하므로 보간(interpolation) 또는 전방/후방 채우기 필요
– Pandas의 resample() 메서드 사용이 일반적

ㅇ 적합한 경우:
– 분석 주기에 맞게 데이터 빈도를 맞출 필요가 있을 때
– 불규칙한 시계열 데이터를 일정한 주기로 변환해야 할 때

ㅇ 시험 함정:
– 다운샘플링 시 반드시 집계 함수를 지정해야 함
– 업샘플링 시 결측값 처리 방법 미지정 시 NaN 발생
– 리샘플링은 시간 인덱스 기반으로 동작하므로 일반 인덱스에서는 오류 발생

ㅇ 시험 대비 “패턴 보기” 예시:
O: “분 단위 데이터를 시간 단위로 변환하는 것은 다운샘플링이다.”
X: “리샘플링은 항상 데이터 양을 줄이는 과정이다.”

ㅁ 추가 학습 내용

리샘플링의 고급 활용에는 이동 평균(rolling mean)과의 결합, 그룹별(groupby) 리샘플링, 시간대(timezone) 변환 후 리샘플링이 있다.
Pandas에서 resample()은 리샘플링과 함께 집계를 수행할 수 있지만, asfreq()는 단순히 빈도만 변경하며 집계는 하지 않는다.
리샘플링 시 label과 closed 파라미터를 사용하면 집계 구간의 기준 시점을 조정할 수 있다.

답글 남기기

Your email address will not be published. Required fields are marked *.

*
*