배우기
인터랙티브·

탐색적 데이터 분석(EDA)

모형을 고르기 전에 분포·관계·품질을 질문으로 확인하기

1

들어가며

평균 매출이 같은 두 매장도 한쪽은 매일 일정하고 다른 쪽은 행사 날에만 폭증할 수 있습니다.

평균 하나는 비대칭·이상치·두 집단의 혼합·시간 변화를 숨깁니다. EDA는 그래프와 요약통계로 데이터의 구조, 품질, 분포, 관계, 생성과정을 차례로 질문하는 반복 작업입니다.

목적은 “유의한 것 하나 찾기”가 아닙니다. 오류를 발견하고, 가정을 점검하고, 설명할 가설을 만들며, 이후 확증 분석에서 무엇을 검증할지 정하는 과정입니다.

핵심 질문

데이터는 어떤 과정에서 만들어졌고, 예상과 다른 모양은 실제 현상·수집 오류·선택 편향 중 무엇인가?

구조 확인

행·열·단위

분석 단위와 변수 역할, 자료형, 범위를 먼저 파악합니다.

품질 점검

결측·중복·오류

분석 전에 값의 누락과 불가능한 조합을 확인합니다.

패턴 탐색

분포·관계

단변량에서 다변량으로 확장하며 가설 후보를 찾습니다.

2

EDA의 순서

순서는 일방향이 아닙니다. 관계 그래프에서 발견한 군집이 자료구조의 중복으로 드러나면 다시 구조 점검으로 돌아갑니다.

단계핵심 질문대표 산출물
구조행·열·키·기간은?자료사전·키 검사
품질결측·중복·범위 오류는?품질표·수정 로그
단변량중심·산포·모양은?요약표·분포도
이변량변수 관계는?교차표·산점도
조건부집단·시간 뒤에도 같은가?패널·층화 그래프
검증새 자료에서 재현되는가?홀드아웃 분석
3

데이터 구조 점검

행 수, 열 수, 변수형, 고유키, 기간, 단위와 범주값을 확인합니다. 주문 테이블에서 주문번호가 고유해야 하는데 중복되면 조인으로 행이 불어났거나 한 주문에 여러 상품행이 있는지 구분해야 합니다.

예상 행 수와 실제 행 수를 비교합니다. 고객 1,000명과 월 12개월이면 최대 12,000 고객-월 행이지만 신규가입·이탈·누락월 때문에 불균형 패널일 수 있습니다.

한 행의 관측단위, 기본키와 외래키, 집계 수준을 기록합니다. 분석 전에 행 수만 확인하지 말고 고객 수·주문 수·날짜 수처럼 핵심 단위별 고유개수도 확인합니다.

4

단변량 수치 탐색

평균·중앙값·SD·IQR·최소·최대·주요 분위수와 히스토그램·ECDF·상자그림을 함께 봅니다. 평균과 중앙값 차이는 비대칭의 단서이고, SD와 IQR 차이는 꼬리와 이상치 민감도를 보여줍니다.

중심뿐 아니라 비대칭, 다봉성, 바닥·천장효과, 반올림·절단 흔적을 확인합니다. 나이가 99에 몰리면 최고연령일 수도 있지만 “99세 이상” 코딩일 수도 있습니다.

도메인상 불가능한 값과 통계적으로 드문 값을 구분합니다. 체온 80℃는 측정·단위 오류 가능성이 높지만 고액 구매는 실제 핵심고객일 수 있습니다.

5

범주형 탐색

빈도와 비율, 결측, 희소 범주, 표기 변형을 봅니다. “서울”, “서울시”, “SEOUL”은 의미가 같을 수 있고 공백 하나 때문에 별도 범주로 분리될 수 있습니다.

전체 비율과 집단별 비율을 함께 비교합니다. 이탈률 10%가 모든 상품에서 비슷한지 특정 요금제의 30%가 전체값을 끌어올렸는지 확인합니다.

범주 수가 지나치게 많으면 입력오류·자유기입·고카디널리티 ID일 수 있습니다. 희소 범주를 합칠 때는 빈도만이 아니라 업무 의미와 미래 데이터에서의 적용 규칙을 정합니다.

6

이변량 관계

전체 상관행렬부터 만들기보다 질문과 변수 역할을 정한 뒤 관계를 봅니다. 목표변수와 입력변수의 관계뿐 아니라 입력변수끼리의 중복도 확인합니다.

변수 조합그래프·요약놓치기 쉬운 점
수치–수치산점도·상관·평활선곡선·이상치·범위 제한
범주–수치상자·개별점·집단요약n 차이·산포 차이
범주–범주교차표·조건부 비율분모·희소 셀
시간–수치선·롤링 요약추세·계절·구조 변화
7

상관의 함정

피어슨 상관은 직선 관계, Spearman 상관은 순위의 단조 관계를 요약합니다. U자 관계는 둘 다 낮을 수 있고, 극단점 하나가 높은 상관을 만들 수 있으므로 산점도를 먼저 확인합니다.

상관은 인과가 아닙니다. 광고노출과 구매가 함께 늘어도 충성고객에게 광고가 더 많이 노출된 선택과정이 원인일 수 있습니다. 시간 순서·교란·선택 메커니즘을 별도로 검토합니다.

변수 수가 100개면 쌍은 4,950개입니다. 우연히 큰 상관이 반드시 나타나므로 탐색 중 선택한 관계의 p값을 확증적 증거처럼 보고하지 않습니다.

8

집단과 조건부 패턴

전체에서는 양의 관계가 집단별로는 음수가 되는 Simpson 역설이 생길 수 있습니다. 상품군별 기본가격 차이가 전체 가격-판매량 관계를 뒤집을 수 있으므로 지역·기간·상품별 패널을 확인합니다.

조건부 패턴은 교란뿐 아니라 상호작용도 보여줍니다. 할인 효과가 신규고객에게만 크다면 전체 평균효과보다 고객유형별 기울기가 중요합니다.

사후 세분화를 많이 하면 우연한 패턴이 늘어납니다. 탐색에서 발견한 집단은 별도 표본·후속 기간·교차검증으로 확인하고, 처음부터 계획한 분석과 구분해 기록합니다.

9

시간과 데이터 생성과정

시간순 그래프로 추세·계절성·정책 변경·센서 교체·수집 중단·대시보드 정의 변경을 찾습니다. 값의 급등이 시장 사건인지 ETL 배포일인지 로그와 대조합니다.

미래 예측 문제에서는 랜덤 분할 전에 시간 순서를 확인합니다. 미래의 집계값이나 결과 이후 측정된 변수가 과거 행에 들어가면 데이터 누수가 생깁니다.

월별 집계는 일수와 영업일 수가 다르고, 누적값은 기간이 길수록 자동으로 커집니다. 분모·노출시간·시계열 빈도를 맞춘 뒤 비교합니다.

10

EDA 기록과 재현성

각 발견에 사용한 필터·변환·조인·분모·기준일을 기록하고 원자료를 덮어쓰지 않습니다. “이상치 제거 후”가 아니라 어떤 규칙으로 몇 행이 왜 제외됐는지 남깁니다.

그래프마다 표본 수, 결측 제외 기준, 집계단위와 데이터 기준시점을 표시합니다. 분석 노트에는 관찰한 사실, 가능한 설명, 확인할 증거를 구분해 적습니다.

탐색 코드나 변환 파이프라인을 재실행 가능하게 만들고 난수 시드를 저장합니다. 수동 엑셀 수정은 변경 이력이 남지 않아 같은 결과를 재현하기 어렵습니다.

11

직접 해보기

대부분이 50인 자료에 극단값 하나를 추가했을 때 평균과 중앙값이 얼마나 다르게 반응하는지 확인하세요.

탐색적 데이터 분석(EDA) 인터랙티브 랩

중심과 산포를 조절하며 분포의 위치·폭·꼬리와 요약값이 어떻게 달라지는지 확인하세요.

조작할 때 그래프의 위치·모양·오류 구조를 먼저 보세요.

계산 결과

평균 75.0 · 중앙값 50

9개 값이 모두 50일 때 극단값 하나가 평균을 25.0만큼 이동시킵니다. 삭제 전에 오류인지 실제 희귀사례인지 확인하세요.

확인할 것

한 조절값만 먼저 움직인 뒤 그래프의 어떤 부분이 변하고 무엇은 그대로인지 설명해보세요.

12

핵심 정리

  • EDA는 관측단위와 키를 확인한 뒤 품질·분포·관계·조건부 패턴·시간 구조를 반복적으로 탐색합니다.
  • 요약수치와 그래프를 함께 사용해 중심이 숨기는 비대칭·다봉·오류·희귀사례를 확인합니다.
  • 전체 관계만 보지 말고 집단·시간·분모·데이터 생성과정에 따라 패턴이 유지되는지 봅니다.
  • 탐색 중 발견한 가설과 사전에 정한 확증 분석을 구분하고 새 자료에서 재검증합니다.
  • 필터·변환·조인·제외 규칙·기준시점·표본 수를 기록해 결과를 재현할 수 있게 합니다.
13

더 깊이 알아보기

주제핵심 내용
자동 프로파일링형식·결측·고유값·분포를 빠르게 요약하지만 “99가 결측인지 실제값인지” 같은 의미 판단과 데이터 생성과정 검토를 대체하지 못합니다.
다변량 구조pair plot·PCA·클러스터링으로 여러 변수의 중복과 군집을 탐색하되 스케일링과 범주형 처리에 따라 결과가 달라집니다.
탐색과 홀드아웃패턴을 발견하는 표본과 효과를 추정·검증하는 표본을 분리하면 탐색 과정에서 생긴 낙관적 편향을 줄일 수 있습니다.
다음 학습데이터 정제는 EDA에서 발견한 형식·중복·범위·일관성 문제를 재현 가능한 규칙으로 수정합니다.
다음: 데이터 정제·전처리