Computer >> 컴퓨터 >  >> 프로그래밍 >> 프로그래밍

주기성 분석이란 무엇일까? 개념부터 주기 패턴의 유형까지 한눈에

주기성 분석이란 무엇인가?

주기성 분석(periodicity analysis)은 주기 패턴 마이닝(periodic pattern mining)이라고도 불리며, 시간과 관련된 시계열 데이터 속에서 반복적으로 나타나는 패턴을 발견하는 데이터 마이닝 기법입니다.

주기성 분석은 다양한 중요한 분야에서 활용됩니다. 예를 들어 계절의 변화, 바다의 밀물과 썰물, 행성의 운행 궤적, 하루 동안의 전력 소비량, 일일 교통 패턴, 주간 TV 편성표처럼 특정 주기를 가지고 반복되는 현상들이 모두 주기 패턴의 좋은 예입니다.

주기성 분석의 대상이 되는 데이터

주기성 분석은 일반적으로 동일한 시간 간격(예: 매시간, 매일, 매주)으로 측정된 값이나 이벤트의 시퀀스로 구성된 시계열 데이터를 대상으로 수행됩니다. 그뿐만 아니라 값이나 이벤트가 불규칙한 간격으로, 혹은 임의의 시점에 발생할 수 있는 시간 관련 시퀀스 데이터(예: 온라인 거래 기록)에도 적용할 수 있습니다.

또한 분석 대상 요소는 두 가지로 나뉩니다. 일일 기온 변화나 전력 소비량 변동처럼 수치형 데이터일 수도 있고, 제품 구매나 스포츠 경기 시청처럼 범주형 기록(이벤트)일 수도 있습니다.

주기 패턴의 분류 기준

주기 패턴 마이닝의 문제는 여러 관점에서 살펴볼 수 있습니다. 먼저 패턴이 얼마나 넓게 커버하는지에 따라 주기 패턴은 '완전 주기 패턴'과 '부분 주기 패턴'으로 구분됩니다.

1. 완전 주기 패턴(Full Periodic Pattern)

완전 주기 패턴은 시간 관련 시퀀스의 모든 시점이 해당 순환 행동에 (정확하게 또는 근사적으로) 기여하는 패턴을 의미합니다. 예를 들어, 1년 중 모든 날은 연간 계절 주기에 근사적으로 기여한다고 볼 수 있습니다.

2. 부분 주기 패턴(Partial Periodic Pattern)

부분 주기 패턴은 시퀀스 전체가 아닌 일부 시점에서만 주기적인 행동이 나타나는 패턴입니다. 예를 들어, 샌디(Sandy)가 매주 평일 오전 7시부터 7시 30분까지 뉴욕타임스를 읽지만, 그 외의 시간에는 뚜렷한 규칙성이 없다고 가정해 봅시다. 이 경우 오전 독서 습관만이 부분 주기 패턴에 해당합니다.

부분 주기성은 완전 주기성보다 더 느슨한 형태의 주기성이며, 실제 세계에서는 오히려 훨씬 더 자주 발생합니다.

3. 동기식 패턴과 비동기식 패턴

주기성의 정밀도에 따라 패턴은 동기식(synchronous)비동기식(asynchronous)으로 나눌 수 있습니다.

동기식 패턴은 이벤트가 각각의 '안정적인' 주기 안에서 상대적으로 고정된 시점(offset)에 발생해야 합니다. 대표적인 예로 '매일 오후 3시'와 같은 경우를 들 수 있습니다. 반면 비동기식 패턴은 이벤트가 다소 느슨하게 정의된 주기 범위 내에서 변동하더라도 허용합니다.

4. 정확한 패턴과 근사 패턴

패턴은 데이터 값이나 주기 내 시점의 정확성에 따라 정확한(precise) 패턴근사(approximate) 패턴으로도 구분됩니다.

예를 들어, 샌디가 여러 날은 오전 7시 정각에 신문을 읽지만, 어떤 날은 7시 10분이나 7시 15분에 읽는다면 어떻게 될까요? 시점이 완전히 일치하지 않더라도 이 역시 충분히 유효한 주기 패턴으로 인정됩니다. 이처럼 실제 데이터에서는 엄격한 규칙성보다 어느 정도의 오차를 허용하는 근사적 접근이 더 현실적입니다.