본문 바로가기

Study/데이터분석

EDA(Exploratory Data Analysis) 탐색적 데이터 분석 - (1)

출처: eda-ai-lab.tistory.com/13

EDA란?

수집한 데이터가 들어왔을 때, 이를 다양한 각도에서 관찰하고 이해하는 과정이다. 한마디로 데이터를 분석하기 전에 그래프나 통계적인 방법으로 자료를 직관적으로 바라보는 과정이다. 

EDA가 필요한 이유

  1. 데이터의 분포 및 값을 검토함으로써 데이터가 표현하는 현상을 더 잘 이해하고, 데이터에 대한 잠재적인 문제를 발견할 수 있다. 이를 통해, 본격적인 분석에 들어가기에 앞서 데이터의 수집을 결정할 수 있다.

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

 

EDA의 과정

기본적인 출발점은 문제 정의 단계에서 세웠던 연구 질문과 가설을 바탕으로 분석 계획을 세우는 것이다. 분석 계획에는 어떤 속성 및 속성 간의 관계를 집중적으로 관찰해야 할지, 이를 위한 최적의 방법은 무엇인지가 포함되어야 한다.

  1. 분석의 목적과 변수가 무엇이 있는지 확인. 개별 변수의 이름이나 설명을 가지는지 확인

  2. 데이터를 전체적으로 살펴보기: 데이터에 문제가 없는지 확인. head나 tail부분을 확인, 추가적으로 다양한 탐색(이상치, 결측치 등을 확인하는 과정)

  3. 데이터의 개별 속성값을 관찰: 각 속성 값이 예측한 범위와 분포를 갖는지 확인. 만약 그렇지 않다면, 이유가 무엇인지 확인

  4. 속성 간의 관계에 초점을 맞추어, 개별 속성 관찰에서 찾아내지 못했던 패턴을 발견(상관관계, 시각화 등)

 

이상값을 찾아내기

데이터에 이상치가 있으면, 이상치가 왜 발생했는지 의미를 파악하는 것이 중요하다. 그리고 그러한 의미를 파악했으면 어떻게 대처해야 할지(제거, 대체, 유지 등)을 판단해야 한다. 이상치를 발견하는 기법은 여러가지가 있고 대표적으로 아래와 같은 방법들이 있다.

 

  1. 개별 데이터 관찰
    데이터값을 눈으로 쭉 훑어보면서 전체적인 추세와 특이사항을 관찰할 수 있다. 데이터가 많다고 앞부분만 보면 안되고, 인덱스에 따른 패턴이 나타날 수도 있으므로 앞, 뒤 OR 무작위로 표본을 추출해서 관찰해야 한다. 단, 이상치들은 작은 크기의 표본에 나타나지 않을 수 있다.

  2. 통계 값 활용
    적절한 요약 통계 지표를 사용할 수 있다. 데이터의 중심을 알기 위해서는 평균(mean), 중앙값(median), 최빈값(mode)을 사용할 수 있고 데이터의 분산을 알기 위해 범위(range), 분산(variance)을 사용할 수 있다. 통계 지표를 이용할 때는 데이터의 특성에 주의해야 한다. 예를 들어, 평균에는 집합 내 모든 데이터 값이 반영되기 때문에, 이상치가 있으면 값이 영향을 받지만, 중앙값에는 가운데 위치한 값 하나가 사용되기 때문에 이상치의 존재에도 대표성이 있는 결과를 얻을 수 있다. 회사 직원들의 연봉에 대해서 평균을 구하면, 대개 중간 값보다 훨씬 높게 나오는데, 그것은 몇몇 고액 연봉자가 평균을 끌어올렸기 때문이다.

  3. 시각화 활용
    시각적 표현은 분석에 많은 도움이 된다. 시각화를 통해 주어진 데이터의 개별 속성에 어떤 통계 지표가 적절한지 결정할 수 있다. 시각화 방법에는 확률밀도 함수, 히스토그램, 점 플롯, 워드 클라우드, 시계열 차트, 지도 등이 있다.

  4. 머신러닝 기법 활용
    K-means를 통해 이상치를 확인할 수 있다

그 외 이상치 발견 기법 들

 

속성 간의 관계 분석하기

이 과정의 목표는 서로 의미 있는 상관관계를 갖는 속성의 조합을 찾아내는 것이다. 여기서부터 사실상 본격적인 탐색적 분석이 시작된다. 분석의 대상이 되는 속성의 종류에 따라, 방법도 달라져야 한다. 아래의 표는 데이터의 종류를 보여준다.

 

Qualitative Data vs Quantitative Data

 

데이터 조합 별 통계 및 시각화 방법

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

  2. Numeric - Categorical
    각 카테고리 별 통계 값(평균, 중간값 등)을 관찰할 수 있다. 이를 박스 플롯을 통해 시각적으로 표현할 수 있습니다.

  3. Numeric - Numeric
    상관계수를 통해 두 속성간의 연관성을 나타낼 수 있습니다. -1은 두 속성이 반대 방향으로 변하는 음의 상관관계를 나타낸다. 0은 상관관계없음을 나타내고 1은 두 송성이 항상 같은 방향으로 변하는 양의 상관관계를 나타낸다. 상관계수를 갖는 두 속성의 관계도 다양한 양상을 띌 수 있는데, scatterplot을 이용하여 이를 시각적으로 표현할 수 있다.

    또 분석을 하다보면, 2개 이상의 속성 간의 관계를 보고 싶을 때가 있다. 그럴 땐 위에서 나타낸 그래프를 3차원으로 표현하거나, 그래프 위에 표현된 점을 색상을 이용하거나 모양을 달리하여 더 많은 속성을 나타낼 수 있다. 혹은 각 점을 텍스트로 표현할 수도 있다.