콘텐츠로 이동

결측 데이터 (Missing Data)

개요

결측 데이터(Missing Data)는 실제 데이터셋에서 거의 항상 존재하는 문제이다. 결측이 발생하는 메커니즘을 이해하고, 적절한 전략을 선택하는 것이 모델 성능과 분석의 신뢰성에 직접적인 영향을 미친다. 무작정 행을 삭제하거나 평균으로 대체하는 것은 심각한 편향이나 정보 손실을 유발할 수 있다.


핵심 개념

1. 결측 데이터 메커니즘

메커니즘 영문 정의 예시 처리 난이도
MCAR Missing Completely At Random 결측이 완전히 랜덤 설문지 일부 페이지 누락 쉬움
MAR Missing At Random 다른 관측 변수에 의존 남성이 체중을 덜 기입 중간
MNAR Missing Not At Random 결측값 자체에 의존 고소득자가 소득 미기입 어려움

진단 방법: - Little's MCAR test: MCAR 여부 통계 검정 - 결측 패턴 시각화: missingno 라이브러리 - 결측 여부와 다른 변수 간 상관관계 분석

2. 대체 전략 (Imputation Strategies)

단순 대체 (Simple Imputation)

방법 적합한 경우 주의점
평균 (Mean) MCAR, 정규 분포 분포의 분산 축소, 왜곡
중앙값 (Median) 왜도 있는 분포, 이상치 분포 왜곡
최빈값 (Mode) 범주형 변수 빈도 편향
상수 (0 또는 -999) 결측 자체가 의미 모델이 특수값으로 학습

고급 대체

방법 원리 장점 단점
KNN Imputation k개 유사 샘플의 가중 평균 지역적 패턴 반영 계산 비용, 차원의 저주
MICE (Iterative) 각 변수를 다른 변수의 함수로 반복 대체 변수 간 관계 반영 수렴 불확실, 느림
Model-based 결측을 예측 문제로 접근 (RF, 회귀) 비선형 관계 포착 구현 복잡

트리 모델의 내장 처리

XGBoost, LightGBM은 결측값을 직접 처리한다. 학습 중 결측이 있는 샘플을 왼쪽 또는 오른쪽 분기 중 최적 방향으로 보낸다.

3. 삭제 전략

행 삭제 (Listwise Deletion): - 결측이 있는 행을 제거 - MCAR에서만 편향 없음 - 데이터가 충분하고 결측 비율이 낮을 때만 적합

열 삭제: - 결측 비율이 매우 높은 특성 제거 (보통 80% 이상) - 남은 정보가 충분한지 확인

결측 지표 (Missingness Indicator): - 결측 여부 자체를 이진 특성(0/1)으로 추가 - "이 값이 결측이라는 사실" 자체가 예측에 유용할 수 있음


상세 내용

결측 처리 워크플로우

flowchart TD
    A["결측 데이터 발견"] --> B["결측 패턴 분석<br>비율, 분포, 상관관계"]
    B --> C{"결측 비율?"}

    C -->|"< 5%"| D["단순 대체 또는 삭제"]
    C -->|"5~30%"| E["고급 대체<br>(MICE, KNN)"]
    C -->|"30~80%"| F["대체 + 결측 지표"]
    C -->|"> 80%"| G["열 삭제 고려"]

    D --> H{"모델 유형?"}
    E --> H
    F --> H

    H -->|"트리 모델"| I["내장 처리 활용<br>결측 지표 추가"]
    H -->|"선형/신경망"| J["반드시 대체 필요"]

MICE (Multiple Imputation by Chained Equations) 상세

  1. 각 결측 변수에 초기값(예: 평균) 대입
  2. 변수 \(X_1\)의 결측을 나머지 변수로 예측 (회귀)
  3. 변수 \(X_2\)의 결측을 나머지 변수로 예측 (업데이트된 \(X_1\) 포함)
  4. 모든 변수에 대해 반복
  5. 수렴할 때까지 2~4 반복

핵심: 변수 간의 상관관계를 보존하면서 결측을 대체한다.


언제 사용하는가

상황 추천 전략
결측 < 5%, MCAR 단순 대체 또는 삭제
결측 5~30%, 변수 간 관계 중요 MICE, KNN Imputation
트리 모델 사용 내장 처리 + 결측 지표
MNAR 의심 도메인 전문가 상담, 결측 지표 필수
결측 자체가 정보 결측 지표 특성 추가

흔한 오해와 함정

  1. Listwise deletion의 남용: 결측 비율이 높을 때 행을 무작정 삭제하면 데이터의 대량 손실과 편향이 발생한다. MAR/MNAR에서는 특히 위험하다.

  2. 평균 대체가 무해하다: 평균 대체는 분포의 분산을 축소하고, 변수 간 상관관계를 왜곡한다. 결측 비율이 높을수록 문제가 심각해진다.

  3. 결측 처리를 전체 데이터에서 수행: 대체 값(평균, KNN 등)을 전체 데이터에서 계산하면 데이터 누수가 발생한다. 학습 데이터에서만 계산해야 한다.

  4. MCAR을 가정: 대부분의 실제 데이터에서 결측은 MCAR이 아니다. 결측 메커니즘을 검증하지 않으면 잘못된 처리가 편향된 결과를 초래한다.

  5. 결측의 정보적 가치 무시: "이 환자가 검사를 받지 않았다"는 사실 자체가 건강 상태에 대한 정보일 수 있다. 결측 지표 특성의 추가를 항상 고려하라.


다른 주제와의 연결