본문 바로가기
Data Science/Data Analysis

[책] 헬로 데이터과학 -(5) 탐색적 데이터 분석

by 알파해커 2017. 11. 5.
반응형


헬로 데이터과학 - (5)



"진정한 발견은 새로운 장소를 찾는 것이 아니라, 새로운 관점을 찾는 것이다"


- 마르셀 프루스트





데이터가 수집되었다면, 먼저 그 데이터의 모든 측면을 철저히 이해하고 노력해야한다. 

그것이 데이터 수집 후의 첫번째 과정이라고 할 수있다.


따라서,수집한 데이터가 들어왔을 때,

그 데이터를 다양한 각도에서 관찰하고 이해하는 과정을 

탐색적 데이터 분석(Exploratory Data Analysis, EDA)이라고 부른다. 




탐색적 데이터 분석이 필요한 이유는 다음과 같이 정리할 수 있다.

  1. 데이터의 분포 및 값을 검토함으로써 데이터가 표현하는 현상을 더 잘 이해하고, 데이터에 대한 잠재적인 문제를 발견할 수 있다.

  2. 이를 통해, 본격적인 분석에 들어가기에 앞서 데이터를 다시 수집하거나 추가로 수집하는 등의 결정을 내릴 수 있다.

  3. 또한 데이터를 다양한 각도에서 살펴보는 과정을 통해 문제 정의 단계에서 미처 발생하지 못했을 다양한 패턴을 발견하고, 이를 바탕으로 기존의 가설을 수정하거나 새로운 가설을 세울 수 있다.

  4. 데이터에 대한 이런 지식은 이후에 통계적 추론을 시도하거나 예측 모델을 만들 때 유용하게 사용된다.



탐색적 데이터 분석에는 거쳐야 할 최소한의 몇 가지 단계가 있다.
  • 탐색적 분석의 자연스러운 출발점은 문제 정의 단계에서 세웠던 연구 질문과 가설을 바탕으로 분석 계획을 세우는 것이다. 분석 계획에는 어떤 속성속성 간의 관계를 집중적으로 관찰해야할지, 이를 위한 최적의 방법은 무엇인지가 포함되어야 한다.


이를 바탕으로 본격적인 분석을 시작하는데, 

  1. 우선 주어진 데이터를 전체적으로 살펴보고, 

  2. 데이터의 개별 속성값을 관찰한다.

  3. 속성 간의 관계에 초점을 맞추어, 개별 속성 관찰에서 찾아내지 못했던 패턴을 발견한다.

이런 절차를 데이터에서 흥미 있는 패턴이 발견될 때까지 (혹은 더 이상 찾는 것이 불가능하다고 판단될 때까지) 반복한다.




그럼 각 단계에 대해서 알아보자


1. 데이터 개관하기 (전체적으로 살펴보기)

  1. 데이터를 분석 프로그램에 불러들여 전체적으로 살펴본다.

  2. 데이터에 문제가 없는지 확인한다.

  3. 데이터에 속한 항목 개수와 속성 목록이 예상과 일치하는지 여부 확인한다.

  4. 데이터의 가장 앞과 뒤를 확인한다. 

    • 데이터 가공 과정에서 데이터의 앞뒤에 오류나 누락이 발생할 수 있으므로

  5. 데이터의 각 속성이 가지는 데이터형 확인한다.



2. 속성 분석하기


데이터를 구성하는 각 속성값이, 예측한 범위와 분포를 갖는지 확인한다.

만약 그렇지 않다면, 이유가 무엇인지 확인해 본다.


또한, 데이터는 다양한 이유로 인해, 정상 범주를 벗어날 수 있는데, 

이때는 이상값(outlier)을 찾아내야 한다.


이런 작업을 해주기 위한 방법은 1)개별 데이터 관찰, 2)통계값 활용, 3)시각화 활용 이다.



2-1) 개별 데이터 관찰

  • 개별 데이터 값을 눈으로 쭉 훑어보면서 전체적인 추세와 특이사항을 관찰할 수 있다.

  • 데이터가 많다고 앞부분만 보면 안된다. 패턴이 뒤에서 나타날 수도 있으므로.

    • 차라리 그럴땐 무작위로 표본을 추출해서 관찰한다. 

    • 단, 이상값은 작은 크기의 표본에 나타나지 않을 수 있다.


2-2) 통계값 활용

  • 적절한 요약 통계 지표(summary statistics)를 사용할 수 있다.

  • 데이터의 중심을 알기 위해서는 평균(mean), 중앙값(median), 최빈값(mode)을 사용할 수 있다.

  • 데이터의 분산도를 알기위해서는 범위(range), 분산(variance)을 사용할 수 있다.

통계 지표를 이용할 때는 데이터의 특성에 주의해야 한다.

예를 들어, 평균에는 집합 내 모든 데이터 값이 반영되기 때문에, 이상값이 있으면 값이 영향을 받지만,

중앙값에는 가운데 위치한 값 하나가 사용되기 때문에 이상값의 존재에도 대표성이 있는 결과를 얻을 수 있다.


회사 직원들의 연봉에 대해서 평균을 구하면, 대개 중간값보다 훨씬 높게 나오는데, 그것은 몇몇 고액연봉자가 평균을 끌어올렸기 때문이다.


2-3) 시각화 활용

  • 일단은 시각적으로 표현이 되어있는 것을 보면, 분석에 도움이 많이 된다.

  • 시각화를 통해 주어진 데이터의 개별 속성에 어떤 통계 지표가 적절한지 결정할 수 있다.

  • 시각화 방법에는 확률밀도 함수, 히스토그램, 점플롯(dotplot), 워드 클라우드, 시계열 차트, 지도 등이 있다.



3. 속성 간 관계 분석하기


이 과정의 목표는 서로 의미 있는 상관 관계를 갖는 속성의 조합을 찾아내는 것이다. 

여기서 부터 사실상 본격적인 탐색적 분석이 시작된다.


분석의 대상이 되는 속성의 종류에 따라, 방법도 달라져야 한다.

아래의 표와 그림은 데이터형의 조합에 따라 주로 사용되는 요약 통계 및 시각화 방법을 보여준다.


데이터형

요약통계 

시각화 

카테고리-카테고리 

교차테이블 

모자이크플롯 

수치-수치 

상관계수 

스케터플롯 

카테고리-수치 

카테고리별 통계값 

박스플롯 




카테고리-카테고리

  • 교차테이블, 모자이크 플롯을 이용해 각 속성값의 쌍에 해당하는 값 개수를 표시할 수 있다.


수치-수치

  • 상관계수를 통해 두 속성 간의 연관성을 나타낼 수 있다. 

  • -1은 두 속성이 반대 방향으로 변하는 음의 상관관계를 나타낸다. 

  • 0은 상관관계 없음을 나타낸다.

  • 1은 두 속성이 항상 같은 방향으로 변하는 양의 상관관계를 나타낸다.

  • 상관계수를 갖는 두 속성의 관계도 다양한 양상을 띨 수 있는데, 스케터플롯을 이용하여 이를 시각적으로 표현할 수 있다.


카테고리-수치

  • 각 카테고리별 통계값(평균, 중간값 등)을 관찰할 수 있다.

  • 이를 박스플롯을 통해 시각적으로 표현할 수 있다.


또, 분석을 하다보면, 2개 이상의 속성 간의 관계를 보고싶을 때가 있다.

그럴땐 위에서 나타낸 그래프를 3차원으로 표현하거나, 그래프 위에 표현된 점을 색상을 이용하거나 모양을 달리하여 더 많은 속성을 나타낼 수 있다. 혹은 각 점을 텍스트로 표현할 수도 있을 것이다.



반응형

댓글