데이터분석 EDA란? 결측값과 이상값 개념, 처리 방법

탐색적 데이터 분석(EDA: Exploratory Data Analysis)는?

데이터 간의 유의미한 관계를 찾기 위해 하는 탐색적 데이터 분석을 말합니다. 이를 통해 데이터의 특성을 이해하고 분석하는 모델을 구축하는 것이죠. 데이터를 이해하기 위한 목적으로 데이터 기초 통계량 값을 확인하는 것이 무엇이냐? 라고 묻는 문제가 보이면 정답은 EDA가 됩니다.

결측값이란?

결측값은 존재하지 않는 데이터입니다.

존재하지 않는 데이터이기 때문에 null, NA(Not available), -1 이라고도 표기 하기도 하고, 공백으로 표현될 수도 있습니다. 결측값은 존재하지 않는 데이터이기 때문에, 어떻게 처리하느냐가 중요한데요.

그럼, 결측값은 왜 생기는 걸까요?

  • 사용자가 데이터를 입력하지 않았을 때 생길 수 있습니다. 설문조사에서 선택 항목에 응답하지 않으면 결측값이 발생합니다.
  • 데이터를 수집하는 장비나 시스템에 문제가 발생했을 때도 생길 수 있습니다. 센서가 일정 시간 작동하지 않았다면 해당 시간대의 측정값이 누락되어 결측값이 생기게 됩니다.
  • 여러 데이터를 결합하면서 다른 데이터에는 있는 데이터가 없는 경우입니다. 즉, 해당값과 일치하는 값이 없을 때 결측값으로 표시됩니다. 두 개의 테이블을 합칠 때 일부 고객의 정보가 한쪽 테이블에만 존재하면 결측값이 생길 수 있습니다.
  • 특정 조건에 해당하지 않아 값이 존재하지 않을수도 있습니다. 미혼인 사람에게 배우자 정보를 입력하도록 한 데이터라면 해당 항목은 구조적으로 비어 있을 수 있습니다.

결측값을 처리하기 전, 데이터가 누락된 이유를 파악하는 것이 중요합니다.

결측값 대치 방법에는

  1. 완전 분석법 – 결측값을 삭제하는 방법입니다. 만약 삭제해야하는 결측값이 많은 경우에는 막대한 데이터 손실이 생길 수 있다는 문제가 있습니다.
    • 코드: complete.cases
  2. 평균 대치법 – 평균이나 중앙값으로 결측값을 바꿔주는 방법입니다.
    • 조건부 평균 대치법: 실제 데이터를 분석하여 회귀분석을 활용 (회귀 직선 사용)
    • 비조건부 평균 대치법: 평균값으로 결측값을 대치하는 방법
    • 단순 확률 대치법: 기존 조건부와 비조건부의 평균 대치법에서 생길 수 있는, 결측값이 오차가 없다고 가정하게 되는, 추정량 표준 오차의 과소 추정을 방지하기 위해 생긴 방법입니다.
      • K-Nearest Neighbor방법: 주변 K개의 데이터 중에서 가장 많은 값으로 대치하는 방법으로 K값 선정이 중요합니다. 너무 많은 K값의 경우 데이터 특성을 파악하기 어렵고 너무 작아도 안되기 때문입니다.
    • 다중 대치법: 단순한 대치가 아니라 여러 번 대치를 해서 만드는 방법으로, 3단계로 구성되어있습니다.
      • 대치 -> 분석 -> 결합

그럼 이제 결측값과 항상 같이 나오는, 이상값에 대해서도 배워보겠습니다.

이상값이란?

결측값이 아예 존재하지 않는 값이였다면, 이상값은 값은 존재하지만 다른 데이터 값에 비해 너무 극단적으로 크거나 작은 값을 말합니다.

이상값이 생기는 원인으로는 입력하는 사람의 실수일 수도 있고, 악의적으로 잘못 입력한 걸 수도 있습니다.

결측값처럼 제거할 수도 있지만, 우선 이상값을 유의미한 값인지 아닌지를 판단하는 방법이 따로 있습니다.

이상값 판단하는 방법?

  1. ESD (Extreme Studentized Deviation)
    • ESD는 평균을 기준으로 표준편차 3배 만큼이나 떨어진 값을 이상값으로 판단하는 방법입니다.
    • 전체 데이터의 약 0.3퍼센트가 이상값으로 여겨질 수 있는데요. 정규 분포가 언덕모양이라면, 양 쪽 극단이 이상값이 됩니다. (뮤 +- 3시그마)
  2. 사분위수
    • 사분위수는 IQR을 이용하는 방법인데요. IQR이란 Interquartile Range, 즉 사분범위를 의미합니다.
    • 사분위는 최솟값부터 최댓값까지 정렬한 다음 4등분으로 나눈걸 말하는데요.
    • 순서는 최솟값 / Q1 / Q2 / Q3 / 최댓값 이 되며, 2분위인 Q2는 중앙값(median)이 됩니다.
    • 정상 범위는 Q1(25%)-Q3(75%) 사이이기 때문에 1.5분위수를 벗어나게 되면 이상값으로 판단하게 됩니다.

예상문제

문제 1

EDA의 가장 적절한 설명은 무엇일까요?

① 데이터를 바로 삭제하는 과정
② 데이터를 분석하기 전에 구조와 상태를 확인하는 과정
③ 그래프만 만드는 과정
④ 데이터를 무조건 평균값으로 바꾸는 과정

정답은 ②입니다.

EDA는 데이터의 크기, 구조, 결측값, 이상값 등을 먼저 살펴보는 과정입니다.

문제 2

결측값과 숫자 0은 항상 같은 의미일까요?

정답은 아닙니다.

결측값은 값이 입력되지 않은 상태이고, 0은 실제로 입력된 숫자입니다. 두 값을 같은 의미로 처리하면 데이터가 왜곡될 수 있습니다.

문제 3

다른 값보다 매우 큰 데이터는 발견 즉시 삭제해야 할까요?

정답은 아닙니다.

입력 오류일 수도 있지만 실제로 발생한 값일 수도 있으므로, 이상값이 생긴 원인을 먼저 확인해야 합니다.

관련 글 보기