데이터를 분석함에 있어서 기능적인 부분도 물론 중요한 부분이나 그 무엇보다 데이터를 분석하는 Process 파악이 가장 근본적인 부분일 것이다. 이번 글에서는 데이터 분석 절차를 간단히 알아보도록 하겠다.
일반적인 데이터 분석의 업무 프로세스는 아래와 같다. 그러나 상황에 따라 유동적으로 바뀌는 경우도 많다. 각 단계가 모두 중요하지만 특히 프로세스의 처음과 끝의 중요성 은 간과되지 말아야 한다. 문제 정의 및 리포팅 단계는 특별한 이론이나 스킬이 요구되지 않지만, 분석가의 경험과 태도, 일에 대한 철학에 의해 성과가 좌우되는 경향이 있다. 성공적인 프로젝트 진행을 위해
분석가
는 필수 스킬/이론 뿐아니라 소프트역량을 지속적으로 개선해야 한다.
- 문제 정의 단계 :
가치가 있는 문제를 찾고 분석의 목적 설정 그리고 분석 대상에 대한 전문지식을 쌓아야 하는 과정
- 데이터 수집 단계 : 분석에 필요한 데이터를 확보하는 과정
ex) 크롤링
- 데이터 전처리 단계(Preprocessing) :
데이터 셋 확인 - 중복값 제거 및 결측값 보정 - 이상값 처리 - Feature Engineering 순으로 이루어진 과정
- 데이터 모델링 단계 :
데이터 베이스에서 이루어지는 영역
테이블 쪼개고 관계 설정하는 과정
- 데이터 분석 : 필요한 분석을 사용해서 시각화하는 과정
- 리포팅/피드백 : 분석 결과 및 인사이트를 설득력 있게 정리/전달하는 과정
기존의 변수를 사용해서 데이터에 정보를 추가하는 일련의 과정입니다.
새로 관측치나 변수를 추가하지 않고도 기존의 데이터를 보다
유용하게 만드는 방법론입니다
가장 중요하기도 하고 가장 어려운 단계 이기도 하다.
문제가 제대로 설정 되지 않으면 분석 목표가 불분명 해진다.
업무의 목적, 이유, 비즈니스에 미치는 영향, 구체적인 설계와 지표, 일정과 예상 Output 등에 대해 협의 하는 단계에 해당한다.
- 많은 사람들이 공감할 만한 가치 가 있는 문제를 찾아야 한다.
- 향후 정의된 문제 해결을 위한 구체적인 행동 이 수반되어야 한다.
- 데이터의 제약사항(데이터 확보 가능성 등)을 극복 해야 한다.
- 분석을 위한 전문가와 분석 기간을 확보 하여야 한다.
이 과정에서 분석가는 요청자의 모호한 언어를 개발적인 언어로 해석할 수 있는 능력이 요구되며,
때로는 요청자의 니즈를 파악하여 문제 정의 과정을 리딩할 필요가 종종 발생한다.
또 구체화 과정에서 약간의 수학적 지식과 지표의 타당성을 고려할 필요가 있으며,
비즈니스와 연결성을 고려하여 전반적인 Frame을 잘 설정할 필요가 있다.
본인이 갖고있는 데이터를 사용하거나 공공포털이나 크롤링 등을 이용하여 데이터를 수집한다. 최근 유저의 행동 패턴을 파악하기 위해 로그를 수집 하는 경우가 많다.
위 과정에서
분석가
는 주로 로그 설계와 검증 부분 을 담당한다. 분석 목적에 맞춰 무수한 로그를 선별하고 항목을 정의하며, 실제 데이터가 정의한 대로 잘 쌓이고 있는지 확인하고 수정 하는 작업에 관여한다.
발생되는 모든 행위와 이벤트 정보를 시간에 따라 남기는 기록 데이터
데이터 분석 단계중 가장 많은 시간이 소요되는 단계이다. (그리고 데이터 분석중 가장 싫은 단계로도 꼽힌다고 한다...)
수집한 데이터가 분석에 바로 쓰이는 경우는 없다고 봐도 무방하다. 결측치가 있거나 중복값이 있거나...등등의 이유로..전처리 순서는 다음과 같다
데이터 셋 확인 – 결측값 처리 – 이상값 처리 – Feature Engineering
데이터 전처리에 대한 모든 것 - DODOMIRA 님
데이터 전처리 필요성 및 방법 - 나는야 데이터사이언티스트 님
분석의 규모가 커지면 여러개의 데이터 테이블을 사용한다. 다수의 테이블의 관계를 설정하는 작업을 모델링이라고 부른다.
엔지니어/분석가 | 하는 일 |
---|---|
엔지니어 | 실시간 혹은 시간대별 배치 작업을 통해 테이블을 업데이트하거나 동기화 |
분석가 | - 데이터 추출, 필터링, 그룹핑, 조인 등 (SQL) - 분포 변환, 표준화, 카테고리화, 차원 축소 등 (Python/R) |
첫번째 항목의 경우 주로 SQL을 활용하며, 다양한 소스(DB, Hadoop 등)로부터 데이터 분석을 위한 기본적인 테이블을 만드는 단계 이다. 이 단계에서 가장 중요한 점은 테이블과 컬럼의 명칭
, 처리/집계 기준
, 조인시 데이터 증식 방지
등이며, 데이터 엔지니어 로부터 도움이 필요한 경우가 많다.
두번째 항목의 경우, 데이터 분석가가 주도적 으로 R
이나 Python
으로 진행하는 경우가 많으며, 의미 있는 분석 결과나 성능 좋은 모델을 만들기 위해 가장 중요한 단계 라 할 수 있다. 대부분의 분석가는 이 과정에서 많은 시간을 소요하며, 모델 개선이나 재분석 진행시 이 과정으로 돌아와서 개선을 하는 경우가 많다.
분석 영역은 매우 큰 영역을 아우르는 범위입니다. 모델링까지 완료된 데이터를 수학적인 기법 을 적용해서
통계분석
, AI 의딥러닝
머신러닝
기법들을 통해예측
,분류
등의 분석 결과를 만들고 다양한 형태로 직관적이면서도 보기 편하게 [표현](시각화) 해줍니다.
분석 결과 및 인사이트를 설득력 있게 정리/전달하는 과정 은 매우 중요하다. 아래 나열된 원칙을 참고해 설득력 있는 전달을 해야 한다.
Bullet point
방식Bullet point
란?