데이터 분석 절차

Seongkeun·2021년 7월 13일
2

DataAnalysis

목록 보기
1/1
post-thumbnail

데이터를 분석함에 있어서 기능적인 부분도 물론 중요한 부분이나 그 무엇보다 데이터를 분석하는 Process 파악이 가장 근본적인 부분일 것이다. 이번 글에서는 데이터 분석 절차를 간단히 알아보도록 하겠다.


분석 프로세스

일반적인 데이터 분석의 업무 프로세스는 아래와 같다. 그러나 상황에 따라 유동적으로 바뀌는 경우도 많다. 각 단계가 모두 중요하지만 특히 프로세스의 처음과 끝의 중요성 은 간과되지 말아야 한다. 문제 정의 및 리포팅 단계는 특별한 이론이나 스킬이 요구되지 않지만, 분석가의 경험과 태도, 일에 대한 철학에 의해 성과가 좌우되는 경향이 있다. 성공적인 프로젝트 진행을 위해 분석가필수 스킬/이론 뿐아니라 소프트역량을 지속적으로 개선해야 한다.


분석 순서

  1. 문제 정의
  2. 데이터 수집
  3. 데이터 전처리
  4. 데이터 모델링
  5. 데이터 분석
  6. 리포팅/피드백

간단 설명

  1. 문제 정의 단계 :
    가치가 있는 문제를 찾고 분석의 목적 설정 그리고 분석 대상에 대한 전문지식을 쌓아야 하는 과정

  2. 데이터 수집 단계 : 분석에 필요한 데이터를 확보하는 과정
       ex) 크롤링

  3. 데이터 전처리 단계(Preprocessing) :
    데이터 셋 확인 - 중복값 제거 및 결측값 보정 - 이상값 처리 - Feature Engineering 순으로 이루어진 과정

  4. 데이터 모델링 단계 :
    데이터 베이스에서 이루어지는 영역
    테이블 쪼개고 관계 설정하는 과정

  5. 데이터 분석 : 필요한 분석을 사용해서 시각화하는 과정

  6. 리포팅/피드백 : 분석 결과 및 인사이트를 설득력 있게 정리/전달하는 과정

Feature Engineering 이란?

 기존의 변수를 사용해서 데이터에 정보를 추가하는 일련의 과정입니다.
 새로 관측치나 변수를 추가하지 않고도 기존의 데이터를 보다 
 유용하게 만드는 방법론입니다

1. 문제 정의

가장 중요하기도 하고 가장 어려운 단계 이기도 하다.
문제가 제대로 설정 되지 않으면 분석 목표가 불분명 해진다.
업무의 목적, 이유, 비즈니스에 미치는 영향, 구체적인 설계와 지표, 일정과 예상 Output 등에 대해 협의 하는 단계에 해당한다.

  • 많은 사람들이 공감할 만한 가치 가 있는 문제를 찾아야 한다.
  • 향후 정의된 문제 해결을 위한 구체적인 행동 이 수반되어야 한다.
  • 데이터의 제약사항(데이터 확보 가능성 등)을 극복 해야 한다.
  • 분석을 위한 전문가와 분석 기간을 확보 하여야 한다.

요구 사항

이 과정에서 분석가는 요청자의 모호한 언어를 개발적인 언어로 해석할 수 있는 능력이 요구되며, 
때로는 요청자의 니즈를 파악하여 문제 정의 과정을 리딩할 필요가 종종 발생한다. 
 또 구체화 과정에서 약간의 수학적 지식과 지표의 타당성을 고려할 필요가 있으며, 
비즈니스와 연결성을 고려하여 전반적인 Frame을 잘 설정할 필요가 있다.

분석순서 보기

2. 데이터 수집

본인이 갖고있는 데이터를 사용하거나 공공포털이나 크롤링 등을 이용하여 데이터를 수집한다. 최근 유저의 행동 패턴을 파악하기 위해 로그를 수집 하는 경우가 많다.

일반적인 로그 데이터 수집/처리 과정

  • 로그 설계 단계
    • 로그 항목 및 Format 정의
    • Key, Value, Params 정의
  • 모듈화 단계
    • 모듈화 개발
    • 모듈 적용/테스트
  • 로그 검증
    • 데이터 퀄리티 검증/관리
    • 수집 과정 모니터링

위 과정에서 분석가주로 로그 설계와 검증 부분 을 담당한다. 분석 목적에 맞춰 무수한 로그를 선별하고 항목을 정의하며, 실제 데이터가 정의한 대로 잘 쌓이고 있는지 확인하고 수정 하는 작업에 관여한다.

로그데이터란?

발생되는 모든 행위와 이벤트 정보를 시간에 따라 남기는 기록 데이터

--필요시 참조

분석순서 보기


3. 데이터 전처리

데이터 분석 단계중 가장 많은 시간이 소요되는 단계이다. (그리고 데이터 분석중 가장 싫은 단계로도 꼽힌다고 한다...)
수집한 데이터가 분석에 바로 쓰이는 경우는 없다고 봐도 무방하다. 결측치가 있거나 중복값이 있거나...등등의 이유로..

전처리 순서는 다음과 같다

데이터 셋 확인 – 결측값 처리 – 이상값 처리 – Feature Engineering

--필요시 참조

데이터 전처리에 대한 모든 것 - DODOMIRA 님
데이터 전처리 필요성 및 방법 - 나는야 데이터사이언티스트 님

분석순서 보기

4. 데이터 모델링

분석의 규모가 커지면 여러개의 데이터 테이블을 사용한다. 다수의 테이블의 관계를 설정하는 작업을 모델링이라고 부른다.

엔지니어/분석가하는 일
엔지니어실시간 혹은 시간대별 배치 작업을 통해 테이블을 업데이트하거나 동기화
분석가- 데이터 추출, 필터링, 그룹핑, 조인 등 (SQL)
- 분포 변환, 표준화, 카테고리화, 차원 축소 등 (Python/R)

이 과정에서 분석가의 일

첫번째 항목의 경우 주로 SQL을 활용하며, 다양한 소스(DB, Hadoop 등)로부터 데이터 분석을 위한 기본적인 테이블을 만드는 단계 이다. 이 단계에서 가장 중요한 점은 테이블과 컬럼의 명칭, 처리/집계 기준, 조인시 데이터 증식 방지 등이며, 데이터 엔지니어 로부터 도움이 필요한 경우가 많다.

두번째 항목의 경우, 데이터 분석가가 주도적 으로 R이나 Python으로 진행하는 경우가 많으며, 의미 있는 분석 결과나 성능 좋은 모델을 만들기 위해 가장 중요한 단계 라 할 수 있다. 대부분의 분석가는 이 과정에서 많은 시간을 소요하며, 모델 개선이나 재분석 진행시 이 과정으로 돌아와서 개선을 하는 경우가 많다.


분석순서 보기

5. 데이터 분석

분석 영역은 매우 큰 영역을 아우르는 범위입니다. 모델링까지 완료된 데이터를 수학적인 기법 을 적용해서 통계분석, AI딥러닝 머신러닝 기법들을 통해 예측, 분류 등의 분석 결과를 만들고 다양한 형태로 직관적이면서도 보기 편하게 [표현](시각화) 해줍니다.

분석순서 보기

6. 리포팅 및 피드백 반영

분석 결과 및 인사이트를 설득력 있게 정리/전달하는 과정 은 매우 중요하다. 아래 나열된 원칙을 참고해 설득력 있는 전달을 해야 한다.

  • 내용의 초점은 항상 상대방 에게 !
    • 상대가 이해할 수 있는 언어 사용
    • 상대의 입장과 니즈 에 맞춰 생각하고 결과를 정리
    • 목적을 수시로 상기 하고 재확인
    • 분석 과정 보다는 '결과' 중심 으로 전달
  • 간결하고 명확 한 메시지로 전달
    • 짧은 문장 (불필요한 수식어 제거)
    • Bullet point 방식
    • 핵심 내용 먼저 전달후 근거를 나열
  • 적절한 시각화 방법 활용
    • 항목간 비교시 원 그래프는 지양하고 막대 그래프 위주
    • 시계열은 라인으로(실선)
    • 분포는 히스토그램이나 박스플롯
    • 변수간 관계는 산점도
  • 투명하고 공정한 피드백
    • 사실 기반 공유/보고
    • 실패를 두려하지 말것
    • 빠르고 적극적인 대응

Bullet point 란?

  • 글머리 기호 (아래 사진)
  • 글 머리 앞에 붙이는 기호로서 독자가 신속하게 주요 이슈와 정보를 식별할 수 있는데 사용된다.

글머리기호

분석순서 보기

REFERENCE

데이터 분석을 위한 5단계 절차 - 마경근 님
WikiDocs

profile
지혜는 지식에서 비롯된다

0개의 댓글