결측치 처리 - MICE 다중 대치법과 KNN 대치 보간

핵심 인사이트 (3줄 요약)

  1. 본질: 결측치는 단순한 빈칸이 아니라, 데이터가 왜 비었는지부터 판단해야 하는 품질 문제다.
  2. 가치: MICE (Multivariate Imputation by Chained Equations)와 kNN (k-Nearest Neighbors)은 dropna보다 표본 손실을 줄이지만, 잘못 쓰면 편향을 더 키운다.
  3. 판단 포인트: MCAR (Missing Completely At Random), MAR (Missing At Random), MNAR (Missing Not At Random)를 구분하고, 대치는 항상 train-only 기준으로 적용해야 한다.

Ⅰ. 개요 및 필요성

결측치는 설문 누락, 센서 오류, 입력 실수, 수집 중단처럼 현실에서 매우 자주 생긴다. 모델은 이 빈칸을 그대로 받으면 오류를 내거나, 억지로 숫자를 넣더라도 잘못된 패턴을 학습할 수 있다. 그래서 결측치 처리는 전처리의 첫 관문이다.

dropna()로 지우면 간단하지만, 표본 수가 줄어들고 특정 집단이 과소대표될 수 있다. 반대로 무작정 평균값만 넣으면 분산이 눌려서 데이터 구조가 왜곡된다. 결측치 처리는 "없애기"와 "복원하기" 사이의 균형 문제다.

📢 섹션 요약 비유: 결측치는 찢어진 사진의 구멍이다. 그냥 잘라버리면 그림이 작아지고, 아무렇게나 칠하면 원본이 왜곡된다.


Ⅱ. 아키텍처 및 핵심 원리

결측 처리의 기본 흐름은 진단 → 방식 선택 → 학습 데이터에만 적합 → 검증 데이터에는 변환만 적용 → 품질 재확인이다. 특히 KNN은 거리 기반이므로 스케일 정규화가 선행되어야 하고, MICE는 변수 간 관계를 이용하므로 다변량 구조를 유지하는 데 유리하다.

방식장점단점적합한 상황
dropna구현이 매우 단순표본 손실, 편향 위험결측이 매우 적고 무작위일 때
평균/중앙값 대치빠르고 재현성 높음분산 축소, 관계 손실단변량 기준선
kNN 대치국소 유사성 반영계산 비용, 거리 민감비슷한 행이 의미 있을 때
MICE변수 간 관계 반영반복 계산, 검증 복잡상관 구조가 있는 다변량 데이터
결측 패턴 진단
    │
    ├─ MCAR / MAR / MNAR 확인
    │
    ├─ dropna / 단순대치 / kNN / MICE 선택
    │
    ├─ train set에만 fit
    │
    └─ valid/test에는 transform만 적용

kNN은 특성이 비슷한 샘플들의 값을 참고해 빈칸을 메우고, MICE는 각 변수를 하나씩 종속변수로 두고 다른 변수들로 반복 예측한다. MICE는 하나의 추정치만 고정하지 않아서 불확실성을 덜 왜곡할 수 있다.

📢 섹션 요약 비유: 이웃집에서 레시피를 참고해 빈 양념을 채우거나, 전체 요리 재료의 균형을 다시 맞추는 과정과 같다.


Ⅲ. 비교 및 연결

dropna()는 빠르지만 정보 손실이 크고, 단순 대치는 간단하지만 관계를 덜 반영한다. kNN은 지역 유사성을 살리지만 차원의 저주와 이상치에 민감하고, MICE는 관계를 잘 살리지만 계산과 검증이 더 어렵다.

MCAR이면 dropna나 단순대치가 충분할 수 있지만, MAR/MNAR가 의심되면 모델 기반 대치가 더 안전하다. 결측치 보간은 "빈칸 메우기"가 아니라 "왜 비었는지 설명 가능한가"가 핵심이다. 또한 결측 여부 자체를 feature로 추가하면, 정보 손실을 일부 보완할 수 있다.

📢 섹션 요약 비유: 구멍 난 옷을 꿰매는 방법도 다르다. 작은 구멍은 간단히 막을 수 있지만, 천의 무늬를 살리려면 주변 모양까지 같이 봐야 한다.


Ⅳ. 실무 적용 및 기술사 판단

실무에서는 먼저 결측률과 패턴을 보고, 다음으로 모델 목적을 구분한다. 탐색 단계에서는 dropna/단순대치로 빠르게 기준선을 만들고, 본 학습에서는 MICE나 kNN을 검토한다.

  • 채택: 결측이 중간 정도이고 변수 간 상관이 뚜렷할 때
  • 회피: 거리 의미가 없는 범주형 위주 데이터에 kNN을 남용할 때
  • 체크리스트
    1. 대치가 검증 데이터 정보 누출 없이 적용됐는가?
    2. 결측률이 높아 원본 의미가 사라지지 않았는가?
    3. 대치 후 분포가 비현실적으로 평평해지지 않았는가?
    4. 결측 indicator를 추가해 설명력을 보완했는가?

MICE는 여러 번 대치한 뒤 결과를 합치면 추정 불확실성을 반영할 수 있고, kNN은 이웃 수(k)를 조정해 너무 국소적이거나 너무 평평해지는 문제를 완화할 수 있다.

📢 섹션 요약 비유: 빈칸을 메우는 것도 연필로 대충 칠하는 게 아니라, 종이의 무늬와 주변 색을 같이 보는 작업이다.


Ⅴ. 기대효과 및 결론

적절한 결측치 처리는 표본 손실을 줄이고, 모델 입력의 일관성을 높이며, 학습 편향을 완화한다. 하지만 어떤 대치법도 "진짜 값"을 완벽히 복원하지는 못한다. 그래서 이 주제는 "없는 값을 어떻게 가장 덜 망가뜨려 다룰 것인가"로 기억하는 것이 맞다.

📢 섹션 요약 비유: 결측치 처리는 퍼즐의 빠진 조각을 완성도 높게 대체하는 작업이지, 원본을 100% 되살리는 마법은 아니다.

📌 관련 개념 맵

개념연결 포인트
MCAR (Missing Completely At Random)무작위 결측, 단순 대치 검토 가능
MAR (Missing At Random)다른 변수와 연관된 결측, 모델 기반 대치 유리
MNAR (Missing Not At Random)결측 자체가 의미를 가짐, 가장 어려움
kNN (k-Nearest Neighbors)유사 샘플 기반 대치
MICE (Multivariate Imputation by Chained Equations)반복 예측 기반 다중 대치

📈 관련 키워드 및 발전 흐름도

결측 탐지
    │
    ▼
결측 원인 분류(MCAR/MAR/MNAR)
    │
    ▼
dropna / 단순대치 / kNN / MICE 선택
    │
    ▼
train-only 대치와 검증
    │
    ▼
편향 점검과 분포 확인

👶 어린이를 위한 3줄 비유 설명

  1. 퍼즐 조각이 몇 개 없으면 그림이 비어 보이죠.
  2. 그냥 잘라 버리면 그림은 작아지고, 아무 색이나 칠하면 이상해져요.
  3. 그래서 주변 모양을 보고 가장 자연스럽게 채우는 방법을 찾는 거예요.