05-04 04:02
Notice
Recent Posts
Recent Comments
관리 메뉴

Scientific Computing & Data Science

[Data Analysis] 개요 / 데이터 분석 프로세스 본문

Data Science/Data Analysis

[Data Analysis] 개요 / 데이터 분석 프로세스

cinema4dr12 2014. 4. 25. 15:26

데이터를 분석하는 목적은 여러가지가 있겠지만 공통적으로는 과거로부터 현재까지 수집된 데이터를 기반으로 어떠한 현상이나 트렌드를 찾아내는 것이다. 즉, 데이터 분석은 어떠한 현상이나 트렌드가 어떠한 데이터와 상관성이 있는지를 발견하고, 이에 대한 인과관계를 규명하는 시작점이 될 것이다. 더 나아가서는 이러한 데이터를 바탕으로 미래에 어떠한 현상이 나타날지를 예측하는 데에도 목적이 있을 것이다.


우리는 최근 정보 사회에서 지식 사회로 패러다임의 변화를 겪고 있다. 적어도 현재까지는 "지식(knowledge)"이라 함은 과거의 현상을 얼마나 잘 이해하고 있는가로 정의되었다면 이제부터의 "지식"은 미래를 얼마나 잘 예측할 수 있는가로 깊이가 판가름 날 것이다. 데이터 분석에 있어 항상 겪는 일이지만 판단 기준(또는 예측모델)을 어떻게 세우느냐에 따라 완전 다른 결과를 얻을 수 있다. - 물론 분석 이전에 어떻게, 어디로부터 공정하고 편향되지 않게 데이터를 얻는가도 매우 중요하다. 이를 샘플링 기법이라한다. - 그리고 정의된 문제를 얼마나 잘 해결하느냐보다 문제를 어떻게 잘 정의하느냐 자체가 지식의 깊이를 결정하는 중요한 요인이 될 것이다.


데이터 분석 프로세스는 다음의 과정으로 구성된다:

  • 문제의 정의

  • 데이터 획득

  • 데이터 정리

  • 데이터 정규화

  • 데이터 변형

  • 통계를 통한 탐구

  • 이에 대한 시각화

  • 예측 모델 생성

  • 예측 모델 검증

  • 결과 시각화 및 해석

  • 솔루션 보고 및 배포


좀 더 간단하게 그룹화하여 데이터 분석 프로세스를 정리하면 다음 그림과 같다:

 [그림 1.] 데이터 분석 프로세스 도식화.

문제

문제 정의는 고수준으로 포괄적 의미로 정의한다. 가령 "고객 선호도의 차이를 어떻게 추적할 것인가" 또는 "다음 달의 특정 기업 주식의 가치는 어떻게 변할 것인가" 등이 될 수 있다. 데이터 분석 프로젝트에 있어 성공을 위한 핵심은 목표와 요구사항을 정확히 이해하고 이해한 내용을 바탕으로 명확한 문제 정의를 하는 것이다.


데이터 분석에 대한 질문들의 예는 다음과 같다:

  • 추론

  • 예측

  • 설명

  • 탐구

  • 인과관계

  • 상관관계

데이터 준비

데이터 준비는 데이터의 획득, 정리, 정규화, 변형 등을 통해 최적의 데이터 세트를 어떻게 얻을 것인가에 대한 것이다. 이러한 과정에서 유효하지 않거나, 모호하거나, 범위를 벗어나거나, 유실된 데이터와 같은 데이터 퀄리티 이슈를 가능한 회피하는 것이 좋다. 데이터를 준비하는 과정은 많은 시간이 소요되는 과정이며, 특히 획득된 데이터의 퀄리티에 따라 해석 결과가 예측과 매우 상이하게 나타날 수 있으므로 양질의 데이터 획득을 위해 많은 노력이 요구된다.


양질의 데이터의 특성은 다음과 같다:

  • 완전성(completeness)

  • 일관성(coherence)

  • 명료성(unambiguity)

  • 가산성(countability)

  • 정확성(correctness)

  • 표준성(standard)

  • 비다중성(non-redundancy)

데이터 탐구

데이터 탐구는 데이터로부터 패턴, 연관성, 관계 등을 발견하기 위해 데이터를 그래픽이나 통계의 형태로 관찰하는 행동이다. 시각화하는 것은 결국 데이터로부터 의미있는 패턴을 찾기 위한 수단이다. 데이터 시각화는 차후 D3.js, Three.js WebGL 프레임웍, R의 웹 어플리케이션인 Shiny 등을 활용하여 예제 중심으로 설명하도록 하겠다.

예측 모델링

예측 모델링은 결과의 개연성을 가장 잘 예측할 수 있는 통계 모델을 세우거나 기존의 모델을 선택하는 데이터 분석의 한 과정이다. 예측 모델링과 관련하여 차후 다룰 알고리즘들은 다음과 같다:

  • Naive Bayes 분류자

  • 자연언어 툴킷 + Naive Bayes 분류자

  • 랜덤 워크(Random Walk)

  • Support Vector Machines

  • Cellular Automata

  • 거리 기반 접근법 + k-nearest neighbor

  • Fast Dynamic Time Warping (FDTW) + 거리 메트릭스(Distance Metrics)

  • Force Layout 및 Fruchterman-Reingold Layout


예측 모델링과 관련하여 무엇보다 중요한 것은, 어떤 특정 문제에 있어 그 문제를 가장 잘 설명할 수 있는 최선의 모델을 선택했느냐이다. 이를 위해서는 무엇보다 문제를 잘 이해해야하고 또한 예측 모델링 알고리즘의 특성을 잘 이해해야만 이러한 평가가 가능할 것이다.


때로는 통계학자들의 미션 중 하나는 위탁한 기관이 원하는 결과가 나올 수 있도록 교묘하게 샘플링을 하거나 그러한 결과를 유도하는 해석 모델을 선택하기도 한다. (이러한 것들로 인해 통계학은 말장난이라는 의견이 많다.) 그러나, 이러한 목적이 아니라면 예측 모델의 검증은 주관이 최대한 배제된 중립성을 엄수해야 한다. 모델에 대한 공정한 검증은 데이터 분석 결과나 지나치게 낙관적이거나 얻고자 하는 결론에 지나치게 일치하는 것을 방지할 수 있다. 모델을 검증하는 대표적인 두 가지 방식은 다음과 같다(이 두 가지 방식은 차후에 자세히 다룰 예정이다):

  • 교차-검증(Cross-Validation): 우선 데이터를 동등한 크기의 두 개의 집단으로 분류한다. 그리고 예측 모델이 실질적으로 어떤 성능을 내는지 테스트를 한다. 차후에 우리는 이러한 성능을 기반으로 최선의 모델을 식별하기 위해 여러 개의 모델을 검증하고 더불어 모델의 강건성을 평가하기 위해 교차-검증을 수행할 것이다.

  • 홀드-아웃(Hold-Out): 대부분의 경우 규모가 큰 데이터 세트는 세 개의 하위 그룹으로 랜덤하게 나뉘어진다. 이 하위 그룹들은 트레이닝 그룹, 검증 그룹, 테스트 그룹이다.

결과 시각화

결과의 시각화는 데이터 분석 프로세스 중 가장 마지막 단계이며 다음의 질문들에 대한 답을 하기 위한 것이다:

  • 어떻게 결과를 표현할 것인가?
    → 예를 들어, 테이블 형식, 2D 플롯, 3D 플롯, 대쉬보드, 인포그래픽 등에서 무엇을 이용할 것인가?

  • 어떻게 배포할 것인가?
    → 예를 들어, 하드카피, 포스터, 모바일 기기, 데스크탑 인터페이스, 웹 중 무엇을 이용할 것인가?


이 질문들에 대한 절대적인 답은 없다. 이에 대해 할 수 있는 답변은 그저 상황에 따라 올바른 선택을 하라라는 것 뿐이다. 결과의 시각화에 대한 내용은 데이터 시각화와 맞물려 차후에 자세하게 다루도록 하겠다.

Comments