지난 글에서 데이터 처리의 8가지 작업을 살펴봤다. 그중 마지막에 간단히 언급했던 데이터 정제(Cleaning) 작업 중에서도 실무에서 가장 자주 등장하는 두 가지가 있다.
- 결측값: 데이터에 값이 아예 없는 경우
- 이상값: 값은 있지만 다른 데이터와 비교했을 때 극단적으로 튀는 경우
둘 다 그냥 두면 분석 결과를 왜곡하지만, 처리 방식은 완전히 다르다. 하나씩 살펴보자.
결측값 처리 (Handling Missing Values)
결측값이란?
말 그대로 값이 없는 데이터다. 설문에서 응답하지 않은 항목, 센서 오작동으로 수집되지 않은 측정값, 시스템 오류로 누락된 기록 등 다양한 이유로 발생한다. 데이터에서는 보통 NULL, NaN, 빈칸 등으로 표현된다.
결측값이 있는 상태로 분석을 진행하면 계산 자체가 오류가 나거나, 나더라도 결과를 신뢰하기 어렵다. 그래서 분석 전에 반드시 제거하거나 적절한 값으로 채워야 한다.
결측값 처리 방법 5가지
1) 데이터 제거
결측값이 포함된 행(관측치) 자체를 삭제하는 방법이다. 완전사례분석(Complete Case Analysis) 이라고도 부른다.
가장 단순하고 빠르지만, 그만큼 데이터 손실이 크다. 결측값이 전체 데이터의 5% 미만이고 무작위로 발생한 경우라면 써볼 수 있지만, 결측값이 많거나 특정 패턴이 있는 경우엔 오히려 분석 결과가 편향될 수 있다.
예를 들어, 고소득자들이 소득을 응답하지 않는 경향이 있다면 그 행을 모두 삭제하면 소득 분석 결과가 실제보다 낮게 나온다.
2) 평균 대치법
결측값을 해당 변수의 평균, 중앙값, 최빈값 등으로 채우는 방법이다.
- 비조건부 평균 대치: 전체 데이터의 평균으로 일괄 대치
- 빠르고 간단하지만, 데이터의 분산이 줄어드는 문제가 생긴다.
- 100명의 키 데이터에서 5명의 값이 없다면, 그 5명을 모두 평균 키로 채우는 식이다.
- 조건부 평균 대치: 그룹별 평균이나 회귀 모형을 활용해 대치
- 예를 들어, 남성/여성 그룹을 나눠서 각각의 평균으로 채우면 좀 더 현실적인 값이 된다.
- 회귀 모형을 쓰면 다른 변수들(나이, 성별 등)의 값을 조건으로 활용해 더 정밀한 예측값으로 대치할 수 있다.
3) 확률적 대치법
단순히 평균을 넣는 것이 아니라, 확률적 요소를 더해서 대치하는 방법이다. 결측값을 채울 때 약간의 랜덤성을 부여해 데이터의 자연스러운 변동성을 유지한다.
대표적인 방법 두 가지:
- Hot-deck: 결측값이 있는 관측치와 특성이 비슷한 다른 관측치를 찾아서, 그 값 중 하나를 랜덤으로 선택해 대치한다.예: 35세 여성의 소득이 결측인 경우 → 비슷한 나이와 성별을 가진 다른 응답자들의 소득 중 하나를 랜덤으로 뽑아 채운다.
- KNN (K-최근접 이웃): 결측값이 있는 행과 가장 유사한 K개의 다른 행을 찾아 그 값들의 평균이나 최빈값으로 대치한다.
4) 단순 대치법
평균 대치법 등을 활용해 결측값을 한 번만 대치하고 그 상태로 분석을 진행하는 방법이다. 다중 대치법(아래)과 대비되는 개념으로, 간단하지만 대치의 불확실성을 반영하지 못한다.
5) 다중 대치법
결측값을 여러 번 다르게 대치해서 여러 개의 데이터셋을 만들고, 각각 분석한 뒤 결과를 결합하는 방법이다.
예를 들어, 결측값을 5번 대치하면 5개의 데이터셋이 생기고, 각각 분석해서 5개의 결과가 나온다. 이 결과들을 통계적으로 결합하면 불확실성이 반영된 최종 결과를 얻을 수 있다.
분석의 신뢰도가 높아지는 장점이 있지만, 계산 비용이 크고 구현이 복잡하다는 단점도 있다.
결측값 처리 방법 한눈에 비교
| 방법 | 핵심 | 장점 | 단점 |
| 데이터 제거 | 결측 행 삭제 | 단순, 빠름 | 데이터 손실, 편향 위험 |
| 평균 대치법 | 평균·중앙값으로 채움 | 간단 | 분산 감소, 부정확 |
| 확률적 대치법 | 유사 관측치 또는 KNN 활용 | 변동성 유지 | 구현 복잡 |
| 단순 대치법 | 한 번만 대치 후 분석 | 빠름 | 불확실성 미반영 |
| 다중 대치법 | 여러 번 대치 후 결합 | 신뢰도 높음 | 시간·자원 소모 큼 |
이상값 처리 (Handling Outliers)
이상값이란?
데이터 안에 다른 값들과 비교했을 때 극단적으로 크거나 작은 값이다. 영어로 Outlier — 범위를 벗어난(out) 위치에 있는 관측치(lier) 라는 뜻이다.
이상값은 꼭 잘못된 값이 아닐 수도 있다. 진짜 데이터 입력 오류일 수도 있고, 희귀하지만 실제로 존재하는 값일 수도 있다.
예를 들어, 직원 연봉 데이터에서 CEO 연봉이 다른 직원들과 비교해 수십 배 높다면 그것은 오류가 아니라 실제 값이지만, 평균 연봉을 왜곡하는 이상값이 된다.
이상값이 있으면 평균, 표준편차, 회귀 계수 등이 크게 왜곡되기 때문에 분석 전에 확인하고 처리해야 한다.
이상값 탐지 방법 2가지
1) ESD 테스트 (Extreme Studentized Deviate Test)
데이터가 정규분포를 따른다는 가정 하에, 평균에서 크게 벗어난 값을 이상값으로 판단하는 방법이다.
정규분포의 특성상, 데이터의 약 99.7%는 평균에서 ±3 표준편차 안에 들어온다. 이 범위를 벗어난 값을 이상값으로 본다.
정상 범위: μ − 3σ ~ μ + 3σ
- μ: 평균, σ: 표준편차
처리 절차:
- 전체 데이터의 평균(μ)과 표준편차(σ) 계산
- 범위를 벗어난 값을 이상치로 판단하고 제거
- 남은 데이터로 평균과 표준편차를 다시 계산
- 더 이상 이상값이 없을 때까지 반복
주의: 데이터가 정규분포를 따르지 않으면 이 방법은 적합하지 않다.
2) 사분위수 활용 (IQR 방법)
정규분포를 가정하지 않아도 되는 방법이라 더 범용적으로 사용된다. 데이터를 크기 순서로 정렬했을 때의 위치를 기준으로 이상값을 판단한다.
핵심 개념:
| Q1 (제1사분위수) | 데이터를 정렬했을 때 하위 25% 지점의 값 |
| Q3 (제3사분위수) | 데이터를 정렬했을 때 하위 75% 지점의 값 |
| IQR (사분위 범위) | Q3 − Q1 (중간 50% 데이터가 퍼져 있는 범위) |
정상 범위:
하한: Q1 − 1.5 × IQR
상한: Q3 + 1.5 × IQR
이 범위를 벗어나는 값을 이상값으로 판단한다.
계산 예시
데이터: 10, 15, 20, 22, 25, 28, 30, 35, 40, 200
Q1 = 20, Q3 = 35, IQR = 15
하한: 20 − 1.5×15 = −2.5 상한: 35 + 1.5×15 = 57.5
→ 200은 상한 57.5를 초과하므로 이상값으로 판단
ESD vs IQR 비교
| 구분 | ESD | IQR |
| 정규분포 가정 | 필요 | 불필요 |
| 기준 | 평균 ± 3 표준편차 | Q1/Q3 기반 범위 |
| 이상값 영향 | 평균·표준편차가 왜곡될 수 있음 | 중앙값 기반이라 영향 적음 |
| 사용 빈도 | 정규분포 데이터에 적합 | 일반적으로 더 많이 사용 |
이상값, 무조건 제거하면 될까?
꼭 그렇지는 않다.
이상값을 처리하는 방법은 크게 세 가지다.
- 제거: 이상값으로 판단된 데이터를 삭제
- 대체: 상한/하한 경계값으로 교체하거나, 결측값으로 처리한 뒤 대치
- 유지: 이상값이 실제 현상을 반영하는 중요한 정보일 경우 그대로 유지
특히 요즘처럼 데이터 크기가 큰 경우엔 하나의 이상값이 전체 분석에 미치는 영향이 크지 않을 수 있다. 또한 이상값 자체가 중요한 정보가 되기도 한다.
예: 금융 사기 탐지에서는 오히려 이상값이 탐지 대상 자체다. 카드 거래 데이터에서 극단적으로 큰 거래나 이상한 패턴이 사기일 가능성이 높다.
따라서 이상값은 무조건 제거가 아니라, 데이터의 맥락과 분석 목적에 맞게 판단해야 한다.
결측값 vs 이상값, 핵심 비교
| 구분 | 결측값 | 이상값 |
| 정의 | 값이 없는 상태 | 극단적으로 튀는 값 |
| 표현 | NULL, NaN, 빈칸 | 정상 범위를 벗어난 수치 |
| 처리 목적 | 분석 오류 방지, 완전한 데이터 확보 | 분석 왜곡 방지 |
| 주요 처리법 | 제거, 평균·확률적·다중 대치 | ESD 테스트, IQR 방법 |
| 무조건 제거? | 아님 — 상황에 따라 대치 | 아님 — 맥락에 따라 유지 가능 |
결측값과 이상값은 데이터 정제에서 가장 기본이 되는 작업이다. 어떤 방법을 쓸지 정답은 없다. 데이터의 크기, 분포, 결측 패턴, 분석 목적에 따라 달라진다.
중요한 건 "이 데이터에 문제가 있는가?"를 먼저 확인하는 습관이다. 분석 전 데이터를 들여다보는 시간이 결과의 신뢰도를 결정한다.
'수학&통계학' 카테고리의 다른 글
| 통계 개념 (3) : 측정과 척도 및 기타 용어 (0) | 2026.05.10 |
|---|---|
| 통계 개념(2) : 모집단과 표본, 표본추출 (0) | 2026.05.10 |
| 통계 개념 (1) : 자료와 확률변수 (0) | 2026.05.10 |
| 데이터 분석 (3) : 분석 방법 (0) | 2026.05.10 |
| 데이터 분석 (1) : 데이터 처리 (1) | 2026.05.10 |