데이터 분석 방법론

Posted by Daehan Kang on 2023-01-12
데이터분석

데이터 분석 방법론에 대한 개념과 이론에 대해서 간략히 설명하려고 합니다.
프로젝트를 진행하다보면 관계자 간에 이견이 생기게 마련입니다. 대규모 프로젝트일 경우에는 더욱 그러할 것이고 이로 인해서 프로젝트 실패 확률이 더 높아지고 프로젝트 비용 증가의 원인이 된다고 생각합니다.
때문에 방법론이 존재하고 중요해진 이유라고 생각합니다.
앞서 방법론을 언급했듯이 데이터 분석에도 방법론이 존재합니다.

대표적으로 KDD, SEMMA, CRISP-DM 등이 있습니다.

KDD 방법론


KDD(Knowledge Discovery in Database) 분석 방법론은 1996년 Fayyad가 소개한 방법론으로 데이터를 통해 통계적 패턴이나 지식을 찾을 수 있도록 정리한 데이터마이닝 프로세스입니다. 데이터마이닝, 기계학습, 인공지능, 패턴인식, 데이터 시각화에서 응용 될 수 있는 구조를 갖고 있습니다. KDD 분석 방법론은 데이터셋 선택, 데이터 전처리, 데이터 변환, 데이터마이닝, 결과 평가로 나눌 수 있습니다.


[그림1] KDD 분석 절차 설명

1) Selection (데이터 선택)
데이터베이스나 Raw data에서 분석에 필요한 데이터를 선택하는 단계로, 분석을 하려는 산업 도메인에 대한 이해와 해당 과제의 목표 설정이 필수적입니다.

  • 비즈니스 도메인 이해 및 프로젝트 목표 설정
  • 분석에 필요한 데이터 선택
  • 목표 데이터(Target Data) 구성
  • 데이터 전처리 단계에서 추가로 데이터가 요구되는 경우 데이터 셋 선택 과정을 반복

2) Preprocessing (데이터 전처리)
선택된 데이터셋에 포함 되어 있을 수 있는 노이즈와 이상값, 결측값들을 식별하고 필요하다면 삭제 및 변환 등의 전처리를 통해 데이터셋을 정제하는 단계입니다.
이 단계에서 추가로 데이터가 필요할 경우, 데이터셋 선택 절차를 반복합니다.

3) Transformation (데이터 변환)
정제된 데이터를 분석 목적에 따라 데이터의 Feature를 생성, 선택하고 데이터의 차원을 축소하며 데이터마이닝을 진행할 수 있도록 변환하는 단계입니다.
이 단계에서 데이터마이닝에 필요한 학습데이터셋과 실험데이터셋으로 분리합니다.

4) Data Mining (데이터마이닝)
학습데이터셋을 이용하여 분석 목적에 맞게 데이터마이닝 알고리즘을 선택하여 데이터마이닝을 실행하는 단계입니다.

  • 데이터의 패턴을 찾거나 데이터를 분류/예측하는 등의 마이닝 작업 수행
  • 필요에 따라 데이터 전처리, 데이터 변환 프로세스를 병행하여 수행

5) Interpretation/Evaluation (데이터마이닝 결과 평가)
데이터마이닝을 수행한 결과에 대해 해석과 평가를 진행한다. 결과가 충족되지 않았을 경우 데이터 선택 절차와 데이터마이닝 절차를 반복 수행합니다.

  • 데이터 마이닝 결과에 대한 해석과 평가 그리고 분석 목적과의 일치성 확인
  • 데이터 마이닝을 통하여 발견된 지식을 업무에 활용하기 위한 방안 모색

CRISP-DM 방법론


CRISP-DM(Cross Industry Standard Process for Data Mining) 방법론은 전 세계에서 가장 많이 사용되는 데이터마이닝 표준 방법론으로 단계, 일반 과제, 세부과제, 프로세스 실행 등의 4가지 레벨로 구성된 계층적 프로세스 모델이기도 합니다.
CRISP-DM의 절차는 6단계로 구성되어 있는데 각 단계들은 순차적으로 진행되는 것이 아니라, 필요에 따라 단계 간의 반복 수행을 통해 분석의 품질을 향상시킨다.


[그림2] CRISP-DM 절차 설명

1) Business Understanding (업무 이해)
업무 이해 단계에선 분석을 수행하고자 하는 과제의 목적과 요구 사항을 이해하고, 도메인 지식을 활용하여 초기 프로젝트 계획을 수립하는 단계입니다. 이 단계에선 업무 목적 파악, 상황 파악, 데이터마이닝의 목표 설정, 프로젝트 계획 수립 등의 세부 업무가 포함됩니다.

2) Data Understanding (데이터 이해)
해당 단계에선 분석을 위한 데이터를 수집하고 이해하는 단계이다. 이 단계에선 초기 데이터 수집, 데이터 기술 분석, EDA, 데이터 품질 확인 등이 있다.

3) Data Preparation (데이터 준비)
수집한 모든 데이터에서 분석에 용이한 데이터만을 추출하여 편성하는 단계이다. 이 단계에선 데이터셋의 선택과 데이터 정제, 분석용 데이터셋 편성, 데이터 통합, 데이터 포맷팅의 업무가 있다.

4) Modeling (모델링)
다양한 알고리즘을 선택하여 모델링 과정을 수행하고 파라미터를 최적해 나가는 단계이다. 학습데이터셋 통해 모델링을 수행하며, 실험데이터셋으로 평가한다. 이 단계에서의 수행 업무로는 모델링 기법 선택, 모델 테스트 계획 설계, 모델 작성과 평가가 있다.

5) Evaluation (평가)
수행한 모델링 결과가 과제 목적에 적절한지 평가하는 단계로 평가된 모델링 평가가 분석 결과로 적용되는지 판단한다. 분석결과 평가, 모델링 과정 평가, 모델 적용성 평가 등의 수행 업무가 포함된다.

6) Deployment (전개)
완성된 모델을 실제 현업에 적용하기 위해 필요한 이행계획을 수립하는 단계이다. 이행계획에는 모델 적용에 필요한 모니터링은 물론 유지보수 계획 또한 포함된다. 전개 계획 수립 및 모니터링/유지보수 계획 수립, 프로젝트 종료 보고서 작성, 프로젝트 리뷰 등의 수행 업무가 포함된다.

SEMMA 방법론



[그림3] SEMMA 방법론 설명

1) Sampling

  • 분석데이터생성
  • 모델평가위한 데이터준비

2) Explore

  • 분석 데이터 탐색
  • 데이터 오류 검색
  • 비즈니스이해
  • 이상현상 및 변화탐색

3) Modify

  • 분석데이터 변환
  • 데이터 정보 표현 극대화(가시화)
  • 변수 생성,선택, 변형

4) Modeling

  • 모델구축
  • 패턴발견
  • 모델링과 알고리즘의 적용

5) Assessment

  • 모델평가 및 검증
  • 서로 다른 모델 동시 비교
  • Next Step 결정

현업 적용 시 고려할 사항


1) 결과에 대한 구체화 및 가시화
데이터 마이닝의 목적이 명확하고 최종적인 결과에 대해 구체적일 수록 데이터 마이닝의 효과가 크고 시행착오를 줄일수 있을 것입니다.
어찌보면 데이터마이닝에서 가장 중요한 사항일 것입니다.

2) 조직의 협조 및 방향성공유
데이터분석시 DBA, 모델러, 협업담당자, 레거시시스템담당자, 의사결정권자, 빅데이터 사이언티스등 다양한 인력의 긴밀한 협력 및 커뮤티케이션이 필요합니다. 아울러 최종적으로 나올 그림과 방향성의 공유가 필요합니다.

3) 서비스의 영향도 고려
데이터를 수집하거나 정제하거나 데이터와 관련된 프로세스에서 기존의 서비스에 영향을 최소화 하여야 할것입니다.
서비스상의 트랜잭션을 격리하고 쿼리오프로딩이나 CDC(Changed Data Capture), 가용성확인, 관련 시스템 지표의 모니터링 등이 필요할것입니다.

4) 데이터의 품질관점
데이터의 정제, 변환시 데이터 품질의 고려가 필요할것입니다. 데이터포맷, Noise의 제거, 이상치의 모니터링, 결측치에 대한 조치등을 체크할수 있는 기술적인 관점이 필요할 것입니다.

5) 기술적 관점의 유연성
데이터 분석 모델을 적용하거나 데이터 변환시에 다양한 기술들이 적용될수 있습니다. 예를 들면 오픈소스에서 요구되는 포맷으로 변환하거나 repository에 적재후 쿼리나 조회를 할때 해당 오픈소스의 설계의 구조때문에 제약 사항이 있을수 있습니다. 컬럼기반의 DB의 특성때문에 일별로 테이블을 생성해서 조회해야 한다거나, 해당 오픈소스에서 원하는 포맷으로 변환해야 한다던가, 그 밖에도 여러가지 기술적 제약이 있지 않을지 사전에 PoC 등을 통한 검증도 필요할 것입니다.

6) 비용측면의 고려
빅데이터 분석시 IaaS 기반의 클라우드를 이용하는 사례들이 많습니다. On Demand로 비용이 나가게 되나 분석할 데이터 용량이 커짐에 따라 비용을 고려하지 않을수 없을거 같습니다. IaaS의 특성에 따른 자원타입을 선택하고 분석하는 인스턴스를 자동으로 Scale In/Out 할수 있는 방법등 비용절감에 대한 고려도 중요할것입니다. 특히 의사결정권자에게는 더더욱 그렇겠죠.

7) 개인정보 보안, 비식별화
데이터 처리시에 민감정보가 포함된 경우라면 개인정보 보호를 위한 암호화, 비식별화가 되어야 하고 분석데이터가 해외에 있는 경우 GDPR 등 해당 로컬의 규제를 만족시켜야 할것입니다. 또한 때에 따라서는 PPDM(Privacy Protection Data Mining)과 같이 데이터가 암호화 되어있는 상태로 분석하는 기법들이 고려되어야 할 경우도 있을 것입니다.

8) 모니터링을 위한 KPI 도출
데이터 마이닝 시의 진행사항 및 효율을 모니터링 하기위해 사안에 맞는 KPI 도출이 필요할 것입니다. 테스트 시의 noise, 결측치의 비율이라던지, 딥러닝에서는 학습률이라던지 때에 따른 지표가 길잡이가 될수 있을 것입니다.

9) 그외 기술적 전략
인덱스의 사용, 해시함수, 파티셔닝, 해싱 전략, 결과모델등 이슈사항 발생시에 이를 해결할 기술 및 전략이 필요할 것입니다.