[머신러닝]시계열 분석(time series analysis)

신동혁·2022년 11월 24일
0

머신러닝

목록 보기
1/1
post-thumbnail

여러가지 머신러닝 데이터를 공부하다 시간의 흐름에 따른 분석 기법이 따로 존재한다는 것을 알게 되었다. 시간의 흐름에 따른 분석은 가장 기본적인 분석 중 하나라고 생각했다. 예를 들어 물건을 파는 업체 입장에서 계절별 소비자들의 소비 패턴, 평일과 휴일별 소비자들의 소비 패턴 등을 분석해 알고 있다면 효과적인 마케팅을 진행할 수 있을 것이기 때문이다. 그래서 이번에 시계열 분석에 대해 집중적으로 공부했고, 그 내용을 정리해 공유해본다.

1.시계열 분석이란?

시계열은 일정 시간 간격으로 배치된 데이터들의 수열을 의미한다. 예를 들어 일주일간 기록된 기상정보, 1년간 기록된 일별 판매량 등이 있다. 시계열 데이터를 이용해 미래를 예측하고자 하는 것이 시계열 분석이라고 할 수 있다.

2.시계열 분석법

대표적인 시계열 데이터를 나누는 기준을 설명한다.

  • 추세 성분(trend component)
    이동평균을 이용해서 추세를 알아낸다. 이동평균은 간단하게 설명하자면 전체 시계열 데이터가 1년간의 데이터를 포함하고 있을 때 1월 평균, 2월 평균, 3월 평균, ... 이런식으로 구간을 이동하면서 평균을 구하는 것이다. 이동평균 구간을 조정하면서 추세를 확인할 수 있다.
  • 계절 성분(seasonal component)
    계절 성분은 봄, 여름, 가을, 겨울이 순환하면서 생기는 반복적이고 순환하는 특징을 의미한다. 이때 계절 성분은 단순히 계절만 포함하지 않고 순환하는 이벤트(공휴일, 반복적인 세일 이벤트 등등)를 모두 포함한다.
  • 불규칙 성분(irregular component)
    설명하기 어려운 성분을 의미한다.

이런 성분들을 이용해 시계열 데이터를 분해하는 일반적인 방법들을 알아본다.

  • 덧셈 분해(additive model : 가법 모델)
  • 곱셈 분해(multiplicative model : 승법 모델)

위 사진을 통해 덧셈 분해와 곱셈 분해를 쉽게 이해할 수 있다.

3.간단한 실습

참고한 블로그 : https://tjansry354.tistory.com/14
실습한 내용 : https://github.com/SHINDongHyeo/Kaggle/tree/main/%EC%8B%9C%EA%B3%84%EC%97%B4%20%EB%B6%84%EC%84%9D%20%EA%B3%B5%EB%B6%80

profile
개발취준생

0개의 댓글