Data Science - 시계열 데이터 기초

cosmosJ·2024년 2월 6일

데이터 분석

목록 보기
7/26
post-thumbnail

시계열 데이터란

순차적인 시간의 흐름을 가지고, 기록된 관측 데이터의 집합

가장 큰 특징은 시계열 데이터는 고정된 시간 구간으로 나타나야 한다는 점이다. (예를 들어, 일별 데이터는 일별 데이터로만 구성되어야 하며, 년간 데이터는 년간 데이터로만 구성되어야 한다.)

시계열 데이터의 특징

  • 순차적인 시간의 흐름
    • 시간 순차적으로 데이터를 나열함으로서,
      • 정보의 파악에 용이하고, 정보가 일관적이며,
      • 추가적인 정보를 획득할 수도 있다.
  • 고정된 시간 구간의 관측치
    • 시간 구간은 일정해야 한다.
      • 월별 데이터는 월별 데이터로만 보여야 한다.
      • 데이터의 시간 구간은 고정적이여야 한다.
        (ex. 월별 표기 ➡️ 월.일별 표기는 X - 데이터 활용 불가)

Pandas에서의 시계열 데이터

Pandas는 시계열 데이터를 DatetimeIndex를 이용하여 표현한다.

여기서 눈여겨보아야 할 점은 시계열 데이터를 다룰 때, 시계열에 해당하는 데이터를 인덱스로 지정한다는 점이다.

이는, 시계열 데이터가 시간의 흐름에 따라 움직이는 데이터이므로, 데이터를 조작 시, 시간을 기준으로 하게 된다. 따라서, 시간 데이터를 인덱스로하면 데이터를 보다 쉽게 조작할 수 있다.

+ 또한, 대부분의 시계열 데이터 분석 라이브러리들은 시계열 인덱스를 필요로 한다. (ex. 페이스북 prophet 라이브러리)

Pandas resampling

상황에 따라 시계열 데이터의 시간 구간을 재조정할 필요가 있다.

  • down sampling : 기존보다 시간 구간을 크게 만들어, 데이터량을 줄이며, 기존 데이터들의 그룹간 대표값이 필요하다.

    • 대표값은 groupby 처럼 평균, 중간값, 최고값 등을 활용할 수 있다.

    (ex. 년.월.일 데이터 ➡️ 년.월 데이터 로 변환)

  • up sampling : 기존보다 시간 구간을 작게만들어, 데이터량을 증가시키고, 없던 데이터를 생성한다.

    • 기존보다 시간 구간을 잘게 만드므로, 기존의 데이터를 이용하여 채운다. (기본적으로는 작아진 구간의 데이터는NaN 상태)
      • Forward filling : 이전 데이터 기반 결측치 보강.
      • Backward filling : 최신 데이터 기반 결측치 보강.

    (ex. 년.월 데이터 ➡️ 년.월.일 데이터)

시간 그래프 (Time plot)

시계열 데이터는 보통 라인 그래프로 표현한다. (라인 그래프는 시간의 변화를 잘 나타낸다. ex. 추세 등)

시간 그래프를 이용하면, 시간에 따라 어떠한 추세, 패턴, 계절성 등이 있는지를 파악할 수 있다.

Pandas 의 시도표 시각화

pandas.DataFrame.plot() 를 이용하면, 시계열 데이터를 시각화할 수 있다.

실습 코드

profile
백엔드, Data Science, AI 분야 학습 내용을 정리하는 블로그입니다.

0개의 댓글