전문가칼럼

DBMS, DB 구축 절차, 빅데이터 기술 칼럼, 사례연구 및 세미나 자료를 소개합니다.

데이터 과학(Data Science) VS. 비즈니스 인텔리젼스(Business Inteligence) 분석

전문가칼럼
빅데이터 분류
빅데이터분석
작성자
dataonair
작성일
2015-09-14 00:00
조회
8389





데이터 과학(Data Science) VS. 비즈니스 인텔리젼스(Business Inteligence) 분석



데이터 과학의 분석 방법론을 말하기 전에 역할별 데이터 분석에 대해 먼저 이야기 하고자 한다. 컨설팅 현장에서 자주 듣는 질문 중 하나가 있는데, 바로 데이터과학의 분석과 고객 관리(CRM)의 분석이 어떻게 다르냐는 질문이다.

column_img_2075.jpg
빅데이터 플랫폼 구성도(비즈니스 분석과 데이터 과학의 영역)

데이터 분석은 기업의 다양한 조직과 현장에서 이루어지는데 크게는 비즈니스 현장에서 이루어지는 비즈니스 분석(BI)과 전사 R&D 및 컨설팅을 담당하는 데이터과학(Data Science)의 분석으로 이루어진다.

비즈니스 분석(BI)은 잘 정제되고 가공된 데이터를 사용하여 현장에서 필요한 분석 위주로 판매(Sales), 홍보/마케팅, 인사, 고객관리(CRM)의 상시, 주기적 보고서, 전사 사업 성과(KPI)보고서, 모니터링(Alrets)등을 담당하며 각각의 특성에 맞는 데이터 마트와 서버를 가지고 운영된다. 반면에 데이터과학은 판매(Sales), 홍보/마케팅, 고객관리(CRM), 전사 사업 성과(KPI), 모니터링(Alrets)등을 전사 관점으로 새로운 최적화의 가능성에 초점을 두고 연구 및 개발(R&D) 작업을 하고 현업을 지원하거나 컨설팅 역할을 주로 한다.

그러므로 전사 기업 비즈니스 목적을 달성하기 위한 데이터 탐색과 연구가 분석의 주 목적이면 이들 연구와 개발 과정을 거쳐 테스트(A/B test)와 현업 적용(production) 그리고 변화 관리(change menagement)까지 마무리하게 되면 BI 영역에서 주기적으로 운영 및 활용하게 된다. 특히 데이터 과학의 분석 중 활용 가치가 높은 고급 분석(예측분석, 최적화 분석)들을 개발하여 현업(BI영역)에 응용, 적용 그리고 주기적으로 운영하기도 한다.

따라서, BI 영역의 분석을 위한 데이터는 이미 데이터과학의 영역에서 정제, 가공하고 테스트된 데이터, 기초 통계 및 개발된 주요 지수(이탈, 유지, 신규, 추천 등)들을 상시적, 주기적으로 사용할수 있도록 미리 셋팅된 데이터들로 주로 전사데이터 웨어하우스(DataWarehouse)나 로컬 서버에 저장되어 있다.

column_img_2076.jpg
비즈니스 인텔리젼스 역할과 분석

반면 데이터 과학에서 활용되는 데이터들은 전혀 가공되지 않은 원천 데이터이거나 가공하기 어려운 비정형 데이터이거나, 다루기 힘들 정도의 큰 빅데이터 등 다양한 형태의 문제와 활용 가능성을 갖고 있는 것들이 많다. 물론 기존에 정제되고 가공된 데이터들도 활용한다.



데이터 수집과 그 프로세스

분석의 가치 즉 분석의 주제가 선정 된 후, 그 주제를 중심으로 다양한 자료와 논문들을 검토하고 정리하는 작업은 그 주제에 대한 비즈니스 지식을 사전에 얻기 위해서이다. 이는 데이터을 수집하는 과정에서 어떤 데이터가 필요할지, 어떤 데이터을 어떻게 가공해야 할지, 또는 분석 모델 개발과정에 대략 어떤 분석 알고리즘을 사용 할 수 있을지에 대한 사전 지식을 제공해 주기 때문이다.

이렇게 모아지고 정리된 사전 비즈니스 지식을 바탕으로 각 단계별 필요한 요건이나 가설을 세우게 된다. 그리고 나서 각각의 부서 이기주의나 문화적 차이를 극복하고 데이터 수집 프로세스가 수립되면 데이터가 한 곳에 모여지게 된다. 데이터가 한 곳에 모여지기 힘들다면 최소한 서로 연결만 해서라도 사용이 가능해야 한다. 여기서 반드시 해결하고 가야 할 문제는 최대한 원천 데이터에 가까운 정확한 데이터를 지속적으로 제공받는 프로세스 확립이 필수다.



데이터 전처리 또는 가공(Data Preprocessing)

필요한 데이터가 무사히 수집되었다면 데이터의 전처리 작업을 해야한다. 다양한 영역에서 수집된 데이터들은 정제되거나 가공이 필요한 원천 데이터들이다. 불완전 데이터, 오염된 데이터, 표준화가 필요한 데이터 등 다양한 문제들을 가지고 있다. 그 몇몇 사례로는 아래와 같다.

-불 완전 데이터: missing 데이터, 변수(varables) 부족, 이미 한번 가공된 통계 데이터
-불순 데이터: 오류나 이상치
-불 일치 데이터: 변수 이름이나 코드의 표준화 문제

가장 먼저 해야 할 일은 수집된 데이터와 메타데이터를 이해하기 위해서 데이터 프로파일링(profilng)을 하는것이다. 데이터 프로파일링은 간단히 각 변수들의 기초 통계와 그래프, 차트로 가능하다. 이들 자료들과 사전 조사, 검토한 비즈니스 지식을 가지고 데이터의 품질 상태를 살피는 것이다.

데이터의 품질은 반드시 비즈니스의 사전지식을 바탕으로 이루어져야한다. 한 예로 예전에 프로젝트 중에 홈리스을 대상으로 알코올과 약물 중독에 대한 연구에 참여 한 적있는데 성별에 대한 변수가 1,2,3,4,5,6의 데이터 값이었다. 이유인즉 이 데이터 값은 1=남성, 2=여성, 3=남성이나 여성으로 사는 사람, 4=여성이나 남성으로 사는 사람, 5=남성이나 성 전환하여 여성으로 사는 사람, 6=여성이나 남성으로 성전환하여 사는 사람이었다.

이처럼 연구에 목적에 따라 같은 성별이라도 세분화하여 데이터을 수집하게 된다. 이 사례는 아주 단순한 사례이나 많은 경우가 데이터의 유효 및 정확성을 조사하기 위해 해당 영역의 비즈니스 지식이 필요한 사례이다. 특히 이상치 데이터를 활용해야 할지 말지를 결정할 때도 사전 비즈니스 지식은 반드시 필요하다.

실제 전처리 과정은 더 복잡하고 다양하나 아래 내용들은 자주 사용하는 전처리 방법들을 요약 정리한 것이다.



데이터 전처리 1: 데이터 클린징(Data Cleansing)

-missing values: 중요하지 않으면 무시하나 데이터 양이 적으면 찾아서 기입하기도 하나 데이터가 크면 어려운 문제. “Unknown” 이나 “99999999”로 표시하기도 하고 평균값을 사용하기도 하나 정확도가 떨어져 Regression, Bayesian 방법 또는 decision tree을 사용하여 값을 추정하여 사용
-date format: 다양한 형태의 데이터 포맷을 동일한 형태 변환(날짜, 길이)
-nominal to numeric: 몇몇 알고리즘(neural nets, regression, nearest neighbor) 은 numeric 데이터만 사용 가능, Binary to numeric(M, F->0, 1)
-outliers and smooth out noisy data: 이상치나 불순 데이터는 데이터를 순서대로 나열한 뒤 평균, 중앙 값 또는 경계 값 사용 단순화. 또는 그룹화(Clustering), regression을 사용하거나 제거 시킴
-inconsistent data: 잘못 기입, 잘못 전달, 기술적 문제, 변수 이름의 부정확 등으로 인한 오류들을 판별하여 바로 잡음



데이터 전처리 2: 데이터 통합

데이터 통합에서 가장 중요한 식별 값이 존재하는지 확인을 한다. 존재한다면 식별 값을 사용하여 중복 데이터 제거를 하거나 다양한 데이터들을 하나의 데이터 셋으로 통합한다. 통합 과정에 필요 없는 데이터나 변수는 제거하고 같은 데이터이나 다른 변수를 사용할 경우 변수 이름을 바꾸어 통합시킨다. 데이터 셋을 통합시키기 위해서는 식별 값 사용 sorting이나 indexing이 되었으면 통합 시간이 절약된다.



데이터 전처리 3: 데이터 변환

데이터 변환은 다양한 이유로 다양하게 진행되나 주된 요인은 변수들의 속성을 통일화시키기 위해서다. 예를 들면 사과와 오렌지를 비교할 수 없듯이 서로 다른 변수들을 동일한 scale의 수치로 비교하기 위해서 이루어진다.

-Aggregation: summarization, data cube construction(합, 평균 등 기초 통계)
-Smoothing: Binning, clustering, regression
-Generalization: concept hierarchy climbing(예 동, 통, 시, 군, 구, 도 등)
-New attributes constructed from the given ones(3->log3, 3*3 등)
-Normalization: scaled to fall within a small, specified range(정규 표준화)
(1.Min-max normalization, 2. z-score normalization, 3. normalization by decimal scaling)



column_img_2077.jpg
Z-score normalization

데이터 전처리 4: 데이터와 차원 축소(변수 선택)

데이터 사이즈를 축소 시키고 모델의 단순화와 시각화를 위해 대표적인 변수들을 선택하는 방법으로 분석의 결과는 같거나 비슷해야 한다. 경험상 대략 50개 이상의 변수를 모델 개발에 사용하는 것은 모델의 정합성과 다중공정성 문제도 제기될 수 있다.

전문가들과 경험적 소견으로는 가능하다면 대표성 있는 변수 5~20개 안에서 사용하는 것이 무리가 없다.

변수 선택 방법에는 step-wise forward selection, step-wise backward elimination, combining forward selection, backward elimination, decision-tree 방법이 사용된다. 그리고 차원 축소를 위해 여러 개(N)의 변수를 K개(K< N)로 축소하는 principal component analysis 방법이 있다.

데이터 사이즈를 줄이는 방법은 Data compression, Discrete wavelet transform 축소와 추정 모수(Parameter)는 보관하고 데이터는 버리는 방법으로 회귀(regression)나 로그 리니어 모델(log-liner model)이 있고 비모수 방법으로 히스토그램(Histograms), 그룹화(clustering), 샘플링(sampling) 방식이 있다.



데이터 전처리 5: 데이터 이산화

데이터 이산화는 연속 변수를 구간화시켜서 이산변수로 만든다. 이는 데이터 사이즈를 축소시키는 역할을 한다. 이산화시키는 방법은 히스토그램 분석, 그룹화(clustering) 분석, Entropy식 이산화, segmentation식 그룹화하거나 단계별 일반화 방법이 사용된다.

데이터 전처리가 어느 정도 마무리되면 분석 주제에 대한 현황 분석을 하고 탐색된 내용들을 정리해서 보고서를 작성하면 된다.

문제는 선택이다. 예를 들어 데이터 이산화 방법에 여러 방법이 있는데 이 중에 어떤 방법이 가장 적절한 것인지를 선택하는 것이 문제다. 이는 데이터의 속성에 따라 다르고 분석 목적이나 분석가의 경험에 따라 다르게 선택될 수가 있다. 이처럼 데이터 전처리는 다양한 방법으로 같은 데이터를 사용할지라도 경우에 따라 다르게 진행될 수 있다.