결측치 대치(Missing Value Imputation)

•
2026년 11월 15일 발행•2026년 11월 15일 수정
요약

데이터에서 관측되지 않은 값을 다른 관측 정보를 이용해 추정한 값으로 채우는 전처리 기법

초급
기초 통계와 회귀 모델에 대한 이해가 필요하며, 결측 메커니즘에 따라 대치 방법을 선택하고 누수 없이 적용할 수 있어야 한다.

#개념

결측치 대치(Missing Value Imputation)는 데이터셋에서 관측되지 않은 값을 다른 관측 정보를 이용해 추정한 값으로 채우는 데이터 전처리 과정이다. 대부분의 머신러닝 알고리즘은 빈 값을 직접 다루지 못하므로, 결측치를 어떻게 처리하느냐가 모델 성능과 추정의 편향을 함께 좌우한다.
결측치는 설문 무응답, 센서 장애, 시스템 간 연동 누락, 입력 항목의 선택 사항화 등 다양한 원인으로 발생한다. 결측을 단순히 지우거나 아무 값으로 채우면 표본 크기가 줄거나 분포가 왜곡되어, 통계적 추론과 예측 모두에서 잘못된 결론에 이를 수 있다. 따라서 대치 방법을 고르기 전에 결측이 어떤 메커니즘으로 생겼는지를 먼저 따져야 한다.
Rubin은 1976년 Biometrika에 발표한 논문에서 결측 메커니즘을 결측 여부와 데이터 값 사이의 관계로 정의하였다. 이 분류는 이후 결측 데이터 연구의 표준 틀이 되었으며, 대치 방법이 편향 없이 작동하는 조건을 판단하는 기준으로 쓰인다.
결측 메커니즘
  • 완전 무작위 결측(MCAR, Missing Completely At Random): 결측 여부가 관측값과 결측값 어느 쪽과도 무관한 경우이다. 결측 행을 삭제해도 편향은 생기지 않고 정보량만 줄어든다.
  • 무작위 결측(MAR, Missing At Random): 결측 여부가 관측된 다른 변수로 설명되지만 결측값 자체와는 무관한 경우이다. 관측 변수를 활용하는 회귀·다중 대치가 타당하게 작동하는 전제이다.
  • 비무작위 결측(MNAR, Missing Not At Random): 결측 여부가 관측되지 않은 값 자체에 의존하는 경우이다. 예를 들어 소득이 높을수록 소득을 응답하지 않는 상황이며, 별도의 결측 모형이나 민감도 분석이 필요하다.
가장 단순한 처리는 삭제이다. 목록별 삭제(Listwise Deletion)는 결측이 하나라도 있는 행을 통째로 제거하고, 쌍별 삭제(Pairwise Deletion)는 상관계수처럼 두 변수씩 계산할 때 해당 쌍이 관측된 행만 사용한다. 목록별 삭제는 MCAR이 아니면 편향을 만들고 변수가 많을수록 남는 표본이 급격히 줄며, 쌍별 삭제는 계산마다 표본이 달라 공분산 행렬이 일관되지 않을 수 있다.
대치 방법은 정보를 얼마나 활용하느냐에 따라 다음과 같이 나눌 수 있다.
주요 대치 방법
  • 단순 대치(Simple Imputation): 변수별 평균·중앙값·최빈값이나 지정한 상수로 채운다. 구현이 쉽지만 분산을 과소 추정하고 변수 간 상관을 약화시킨다.
  • 결측 지시 변수(Missing Indicator): 값이 비어 있었는지를 나타내는 이진 변수를 추가한다. 결측 자체가 예측에 유용한 신호일 때 대치값과 함께 사용한다.
  • KNN 대치(K-Nearest Neighbors Imputation): 관측된 변수로 거리가 가까운 이웃 표본을 찾고, 이웃들의 값을 평균하여 채운다. 지역적인 구조를 반영하지만 데이터가 크면 거리 계산 비용이 커진다.
  • 회귀·반복 대치(Iterative Imputation): 결측이 있는 각 변수를 나머지 변수로 예측하는 모델을 만들고, 변수를 돌아가며 예측을 여러 차례 갱신한다. 변수 간 관계를 반영하므로 단순 대치보다 분포 왜곡이 적다.
  • 모델 기반 대치: 랜덤 포레스트를 반복 적용하는 MissForest나 오토인코더·생성 모델 같은 딥러닝 기법으로 비선형 관계와 혼합형 데이터를 다룬다.
반복 대치의 대표적 구현이 MICE(Multivariate Imputation by Chained Equations)이다. van Buuren과 Groothuis-Oudshoorn이 2011년 Journal of Statistical Software에 R 패키지 mice로 정리하였으며, 변수마다 별도의 조건부 모형을 지정하는 완전 조건부 명세(Fully Conditional Specification) 방식을 따른다. 연속형에는 선형 회귀나 예측 평균 매칭, 범주형에는 로지스틱 회귀처럼 변수 유형에 맞는 모형을 고를 수 있다.
단일 대치는 채운 값을 실제 관측값처럼 취급하므로 대치에 따른 불확실성을 무시하고 표준오차를 작게 추정한다. 다중 대치(Multiple Imputation)는 사후 분포에서 표본을 뽑아 서로 다른 완성 데이터셋 $m$개를 만들고, 각각에서 같은 분석을 수행한 뒤 결과를 합쳐 이 문제를 해결한다.
결과를 합치는 절차를 루빈 규칙(Rubin's Rules)이라 한다. 각 데이터셋의 추정치 $\hat{Q}_j$를 평균해 $\bar{Q}=\frac{1}{m}\sum_{j=1}^{m}\hat{Q}_j$를 최종 추정치로 삼고, 데이터셋 내 분산의 평균 $\bar{U}$와 데이터셋 간 분산 $B$를 결합한 총분산 $T=\bar{U}+(1+\frac{1}{m})B$로 불확실성을 나타낸다. 데이터셋 간 분산 항이 결측으로 인한 추가 불확실성을 반영한다.
MissForest는 Stekhoven과 Bühlmann이 2012년 Bioinformatics에 발표한 방법으로, 초기값을 채운 뒤 변수별로 랜덤 포레스트를 학습해 결측을 예측하는 과정을 수렴할 때까지 반복한다. 분포 가정이 없고 연속형과 범주형이 섞인 데이터를 그대로 다룰 수 있어, 상호작용과 비선형성이 강한 표 형식 데이터에서 자주 쓰인다.
시계열(Time Series) 데이터는 시간 순서라는 구조를 이용해 대치한다. 직전 관측값을 그대로 이어 쓰는 LOCF(Last Observation Carried Forward), 다음 관측값을 거꾸로 채우는 NOCB, 앞뒤 관측을 잇는 선형·스플라인 보간, 계절성과 추세를 분해한 뒤 나머지를 보간하는 방법 등이 있다. 결측 구간이 길거나 추세가 급변하면 단순 보간은 실제 변동을 지워 버리므로 구간 길이를 함께 점검해야 한다.
결측치 대치에서 흔히 놓치는 부분이 데이터 누수(Data Leakage)이다. 평균이나 대치 모델을 전체 데이터로 적합하면 검증·테스트 데이터의 정보가 학습에 섞여 성능이 낙관적으로 평가된다. 대치기는 학습 데이터로만 적합하고 같은 파라미터로 검증·테스트·서빙 데이터를 변환해야 하며, 교차 검증에서는 폴드마다 다시 적합해야 한다.
실무에서 대치 방법을 고를 때는 다음 사항을 점검한다.
대치 방법 선택 시 고려 사항
  • 결측 비율과 패턴: 변수별·행별 결측 비율과 함께 결측이 동시에 발생하는 패턴을 확인한다. 결측이 대부분인 변수는 대치보다 제거나 지시 변수화가 나을 수 있다.
  • 분석 목적: 통계적 추론이 목적이면 불확실성을 반영하는 다중 대치가 적합하고, 예측이 목적이면 검증 성능 기준으로 단일 대치를 고르는 경우가 많다.
  • 모델의 결측 처리 능력: 일부 그레이디언트 부스팅 구현처럼 결측을 자체적으로 처리하는 모델은 사전 대치 없이 학습할 수 있다.
  • 학습-서빙 일관성: 학습 때 사용한 대치값과 로직을 서빙 환경에서도 동일하게 적용해야 학습-서빙 편향이 생기지 않는다.
scikit-learn의 impute 모듈은 단변량 대치를 위한 SimpleImputer, 이웃 기반의 KNNImputer, 다변량 반복 대치를 위한 IterativeImputer, 결측 위치를 이진 행렬로 만드는 MissingIndicator를 제공한다. KNNImputer는 결측을 고려한 유클리드 거리(nan_euclidean)를 기본으로 쓰고, IterativeImputer는 MICE에서 착안했지만 기본적으로 단일 대치 결과를 반환하며 아직 실험적(experimental) 기능으로 분류된다. 이들 대치기를 Pipeline에 넣으면 교차 검증 과정에서 누수 없이 폴드별로 적합할 수 있다.
정리하면 결측치 대치는 결측 메커니즘을 진단하고, 분석 목적과 데이터 구조에 맞는 방법을 고른 뒤, 학습 데이터로만 적합하여 일관되게 적용하는 과정이다. 단순 대치는 빠른 기준선으로, 반복 대치와 다중 대치는 변수 간 관계와 불확실성을 반영하는 방법으로 쓰이며, 어떤 방법이든 대치 전후 분포를 비교해 왜곡 여부를 확인하는 것이 좋다.

#관련 용어

완전 무작위 결측(MCAR)
결측 여부가 관측값과 결측값 모두와 무관한 결측 메커니즘
다중 대치
여러 개의 대치 데이터셋을 만들어 분석 결과를 결합함으로써 대치 불확실성을 반영하는 방법
MICE
변수별 조건부 모형을 연쇄적으로 반복 적용하는 다변량 대치 방법
결측 지시 변수
값의 결측 여부를 이진값으로 나타내는 보조 변수
데이터 누수
학습 시점에 사용할 수 없는 정보가 모델 학습에 섞여 성능이 과대평가되는 현상

#직무 연관도

DA
Data Analyst
밀접
통계 분석과 리포트 작성 시 결측 처리 방식에 따른 결과 왜곡을 판단하는 데 필수
DS
Data Scientist
밀접
결측 메커니즘 진단과 대치 방법 선택이 모델 성능과 추정 편향에 직접 영향
DE
Data Engineer
높음
학습과 서빙에 동일한 대치 로직을 적용하는 전처리 파이프라인 구현에 필요

#사용 사례

의료금융제조전자상거래통신
개요
결측치 대치는 데이터가 불완전하게 수집되는 거의 모든 산업에서 쓰인다. 의료에서는 임상·전자의무기록의 누락 검사값을, 금융에서는 신용 평가 변수의 미제출 항목을, 제조와 통신에서는 센서·장비 로그의 수집 공백을, 전자상거래에서는 상품 속성이나 사용자 프로필의 빈 항목을 채워 분석과 모델 학습에 활용한다.
사례
임상 데이터에서 일부 검사 수치가 누락된 환자 기록을 MICE로 다중 대치하고 루빈 규칙으로 회귀 계수를 결합하여, 결측 환자를 제외했을 때 생기는 편향 없이 위험 요인 효과를 추정

#참고 자료

#추천 포스트

© 2024 diki All rights reserved.