결측값 처리 완벽정리, 완전분석법부터 다중대치법까지
학습시간 다 채워서 표 만들었는데, 결측치 하나 때문에 평균이고 뭐고 다 다시 계산해야 하나요?
수험생 단톡방에 정말 자주 올라오는 하소연입니다. 개념 자체는 '빈칸을 어떻게든 채운다'는 게 전부인데, 막상 시험지에서는 완전분석법·평균대치법·단순확률대치법·다중대치법이라는 낯선 한자어 4개가 동시에 등장하면서 '이게 그 개념 맞아? 다른 얘기 아니야?' 하고 헷갈리기 시작하죠.
결측값 처리는 빅데이터분석기사 필기에서 데이터 전처리 파트의 단골 출제 영역입니다. 오늘은 이 4가지 방법을 '결측치를 얼마나 적극적으로, 어떤 정보를 근거로 채우는가'라는 딱 한 가지 기준으로 정리해드릴게요. 이 기준 하나만 잡고 가면 4개 용어가 헷갈리지 않습니다.
미리 큰 그림만 말씀드리면 이렇습니다. 완전분석법은 아예 안 채우고 지워버리는 방법이고, 나머지 세 가지(평균대치법·단순확률대치법·다중대치법)는 전부 '어떻게든 채운다'는 공통점이 있습니다. 다만 채우는 방식이 점점 정교해지는 순서예요. 평균대치법은 아무 정보도 참고하지 않고 모두에게 같은 값을 주고, 단순확률대치법은 다른 변수와의 관계(회귀식)를 참고해서 사람마다 다른 값을 예측하고 거기에 무작위성을 더하며, 다중대치법은 그 과정을 여러 번 반복해서 '예측 자체의 불확실성'까지 결과에 반영합니다. 즉 뒤로 갈수록 더 많은 정보를 쓰고, 더 현실에 가까운 결과를 주지만, 그만큼 계산도 복잡해지는 트레이드오프가 있다는 걸 기억하고 아래 내용을 읽어보시면 훨씬 잘 들어올 거예요.
결측값, 무작정 지우면 안 되는 이유 — 완전분석법과 평균대치법
결측값을 처리하는 첫 두 방법은 사실 우리가 일상에서도 무의식적으로 쓰는 방법입니다. 반 학생 30명 중 2명이 시험을 결시했다고 생각해보세요. 반 평균을 낼 때 어떻게 하시겠어요?
결시한 2명은 그냥 명단에서 빼고 28명으로 평균 내자
이게 완전분석법(Complete Case Analysis, 완전제거법)입니다. 결측치가 하나라도 있는 행(케이스)을 통째로 분석 대상에서 제외하는 방법이에요. 가장 직관적이고 구현도 쉽지만, 문제는 표본이 줄어든다는 점입니다. 결측이 적으면 큰 문제가 안 되지만, 결측 비율이 높아지면 표본 수가 확 줄어들면서 통계적 검정력이 떨어지고, 만약 결측이 무작위로 발생한 게 아니라 특정 집단에 쏠려 있다면(예: 성적이 낮은 학생일수록 결시율이 높다면) 남은 데이터만으로 분석한 결과가 실제와 다른 방향으로 편향될 수 있습니다.
그럼 결시한 2명 점수는 그냥 반 평균으로 넣어주자
이게 평균대치법(Mean Imputation)입니다. 결측치를 해당 변수의 관측값 평균(또는 중앙값)으로 일괄 대체하는 방법이에요. 표본 수는 그대로 유지되고 계산도 간단하다는 장점이 있지만, 함정이 있습니다. 원래 있어야 할 '제각각 다른 값'들이 전부 똑같은 하나의 값(평균)으로 몰리기 때문에, 데이터 전체의 분산(퍼짐 정도)이 실제보다 작게 추정됩니다. 분산이 작아지면 표준오차도 작아지고, 이는 신뢰구간이 실제보다 좁게 나오거나 가설검정에서 유의하지 않은 차이를 유의하다고 잘못 판단하는 결과로 이어질 수 있어요. '평균대치법 = 분산 과소추정'은 시험에서 그대로 출제될 만큼 중요한 포인트입니다.
시험에 자주 나오는 함정
완전분석법은 결측치를 채우는(대치하는) 방법이다 → 틀렸습니다. 완전분석법은 채우는 게 아니라 삭제하는 방법입니다. 대치라는 단어가 안 들어가는 유일한 방법이라는 점을 기억하세요.
평균대치법을 쓰면 표본의 평균 자체도 왜곡된다 → 이 부분은 함정입니다. 평균대치법은 원래 관측된 값들의 평균으로 채우기 때문에 전체 평균 자체는 크게 변하지 않는 경우가 많습니다. 문제가 되는 건 평균이 아니라 분산·표준오차라는 걸 정확히 구분해서 기억해두세요.
결측 발생 원인을 묻는 문제(완전무작위결측 MCAR, 무작위결측 MAR, 비무작위결측 MNAR)와 결측값 처리 방법 문제가 같은 지문에 섞여 나오기도 합니다. 오늘 다루는 4가지는 처리 방법이고, MCAR·MAR·MNAR은 결측이 왜 생겼는지에 대한 분류라는 점을 헷갈리지 마세요.
더 알아두면 좋은 개념 — 결측 메커니즘이랑 헷갈리지 마세요.
결측값 처리 방법과 별개로, 결측이 왜 생겼는지를 분류하는 개념도 있습니다. 데이터 전체에서 무작위로 빠진 완전무작위결측(MCAR), 다른 관측 변수와는 관련 있지만 결측 자체의 값과는 무관한 무작위결측(MAR), 그리고 결측 여부가 바로 그 결측된 값 자체와 관련 있는 비무작위결측(MNAR)으로 나뉩니다. 예를 들어 설문에서 소득이 아주 높거나 낮은 사람일수록 소득 항목에 답을 안 하는 경우가 MNAR에 가깝습니다. 이 메커니즘에 따라 어떤 처리 방법을 써도 되는지, 혹은 위험한지가 달라지는데요 — 완전분석법은 MCAR일 때는 비교적 안전하지만 MAR·MNAR일 때는 편향 위험이 커지고, 다중대치법은 MAR 상황에서 특히 강점을 보입니다. 오늘 글의 핵심은 아니지만, 결측값 문제를 풀 때 지문에 '무작위로 결측이 발생했다'거나 '특정 집단에서만 결측이 많다'는 식의 단서가 나오면 이 메커니즘 개념과 연결지어 생각해보시면 좋습니다. 이제 '언제 어떤 방법을 골라야 하는가'를 정리해볼게요. 실무든 시험 문제든 결국 이 판단이 핵심입니다.
결측 비율이 아주 낮고(대략 5% 미만) 결측이 무작위로 발생했다고 볼 근거가 있다면?
→ 완전분석법도 괜찮은 선택입니다. 간단하니까요.
빠르게 대략적인 통계량(평균 정도)만 필요하고, 분산이나 표준오차의 정확도가 중요하지 않은 탐색 단계라면?
→ 평균대치법으로 충분할 수 있습니다.
변수 간 상관관계가 뚜렷하고, 분산까지 어느 정도 현실적으로 유지해야 하는 분석(회귀분석 등)이라면
→ 단순확률대치법이 더 적절합니다.
최종 분석 결과의 신뢰구간이나 유의성 검정까지 정확해야 하는 상황(논문, 정책 분석 등 엄밀함이 요구되는 경우)이라면?
→ 다중대치법을 쓰는 것이 정석입니다.
예측값 + 무작위성 — 단순확률대치법과 다중대치법
평균대치법의 가장 큰 문제는 '모두에게 똑같은 값을 준다'는 것이었죠. 그럼 이렇게 바꿔보면 어떨까요? '그 학생의 다른 정보(예: 평소 모의고사 점수)를 참고해서 그 학생에게 맞는 값을 예측하고, 거기에 약간의 무작위 오차까지 더해서 채워주자.' 이게 단순확률대치법(Simple Stochastic Imputation)입니다.
일기예보에 비유하면 이해가 쉽습니다. 평균대치법이 '내일 기온은 그냥 이번 달 평균 기온으로 하자'라면, 단순확률대치법은 '오늘 기온과 기압 패턴(회귀식)을 보니 내일은 대략 이 온도일 것 같고, 예보는 항상 오차가 있으니 그 오차 범위(잔차)까지 반영해서 예측하자'에 가깝습니다. 구체적으로는 결측이 없는 변수(예: 모의고사 점수)로 결측 변수(학습시간)를 예측하는 회귀식을 만들고, 그 예측값에 실제 관측치들의 잔차(예측값과 실젯값의 차이) 중 하나를 무작위로 뽑아 더해주는 방식이 대표적입니다. 평균대치법과 달리 대치되는 값마다 서로 다른 값이 나오기 때문에, 데이터의 자연스러운 변동성(분산)이 어느 정도 살아납니다.
그런데 단순확률대치법도 한계가 있습니다. 잔차를 한 번 무작위로 뽑아서 딱 하나의 데이터셋만 만들기 때문에, '이 대치값 자체가 얼마나 불확실한가'는 결과에 반영되지 않아요. 이 마지막 퍼즐을 채우는 방법이 다중대치법(Multiple Imputation)입니다. 단순확률대치를 한 번이 아니라 m번 반복해서 서로 조금씩 다른 m개의 완성된 데이터셋을 만들고, 각각을 따로 분석한 뒤 그 결과들을 통계적으로 결합(Pooling)합니다. 표준적인 절차는 세 단계로 나뉩니다.
- 대치(Imputation): 단순확률대치를 m번 반복해 m개의 완성 데이터셋을 만든다.
- 분석(Analysis): m개의 데이터셋 각각을 동일한 분석 방법으로 따로 분석한다.
- 결합(Combination/Pooling): m개의 분석 결과(추정치)를 통계적 규칙(대표적으로 Rubin's Rule)에 따라 하나의 결합 추정치와 결합 표준오차로 합친다.
여기서 '회귀식은 어떻게 구하나요?'라는 질문이 나올 수 있는데요, 원리만 간단히 짚고 넘어가겠습니다. 결측이 없는 두 변수(예: 모의고사 점수와 학습시간)의 관측치들을 놓고, 실제 값과 회귀직선이 예측한 값의 차이(오차)를 제곱해서 더한 값이 가장 작아지는 직선을 찾는 방법이 최소제곱법(Least Squares)입니다. 이렇게 구한 직선의 기울기와 절편을 이용하면, 학습시간이 결측인 사람도 '모의고사 점수만 알면' 학습시간을 추정할 수 있게 되는 거예요. 단순확률대치법은 여기에 '그래도 예측이 완벽하진 않으니, 실제 관측치들이 회귀직선에서 벗어난 정도(잔차)를 하나 뽑아서 예측값에 더해주자'는 아이디어를 얹은 것이고요.
말로만 하면 추상적이니, 실제 숫자로 확인해볼게요. 수험생 10명의 '주간 학습시간'과 '모의고사 점수' 데이터를 가정하고, 학습시간 중 2건(수험생 C, F)이 결측이라고 하겠습니다. 모의고사 점수로 학습시간을 예측하는 단순회귀식을 실제로 구해보면 다음과 같습니다(직접 계산 검증).
학습시간 ≈ -8.91 + 0.343 × 모의고사점수
결측인 두 학생은 각각 58점, 60점으로 전체 평균(65.5점)보다 낮은 편이었어요. 그래서 이 회귀식으로 예측하면 두 학생의 학습시간도 평균보다 낮게 나옵니다(예측값 약 10.98시간, 11.66시간, 여기에 무작위로 뽑은 잔차를 더하면 최종 대치값은 약 11.06시간, 11.43시간). 이 상관관계를 반영하지 않는 완전분석법·평균대치법과, 반영하는 단순확률대치법·다중대치법(m=5회 반복 후 결합) 사이에 전체 평균이 실제로 얼마나 달라지는지 계산해보면 이렇습니다.
완전분석법과 평균대치법은 둘 다 13.25시간으로 동일하게 나온 반면(우연히 평균대치법의 대치값 자체가 완전분석법의 평균과 같아서), 단순확률대치법은 12.85시간, 다중대치법(5회 결합)은 12.88시간으로 더 낮게 나왔습니다. 두 결측 학생이 상대적으로 점수가 낮은 그룹에 속해 있다는 정보를 반영했기 때문이에요. 숫자 자체보다 방법에 따라 결과가 달라질 수 있다는 사실, 그리고 '회귀 관계를 반영하는 방법일수록 더 현실적인 값에 가까워진다'는 방향성을 기억해두시면 됩니다.
다중대치법이 정확한 표준오차까지 준다는 게 무슨 뜻인지도 같은 예제로 살펴볼게요. 실제로 대치를 5번(m=5) 반복해서 각각의 완성 데이터셋에서 학습시간 평균을 구해보면 12.86, 12.85, 12.89, 12.86, 12.93시간으로, 매번 조금씩 다른 값이 나옵니다. 다중대치법(정확히는 Rubin's Rule)은 이 5개 평균의 평균(결합 추정치, 12.877시간)을 최종 결과로 쓰는 동시에, 이 5개 값이 서로 얼마나 흩어져 있는지(대치 간 분산, 이 예제에서는 약 0.0012)까지 계산해서 최종 표준오차에 더해줍니다. 즉 '대치를 한 번만 했다면 몰랐을 불확실성'을 표준오차 계산에 정직하게 반영하는 것이 다중대치법의 핵심 가치입니다.
이 부분까지는 필기 시험에서 계산 문제로 출제되기보다는 '다중대치법이 왜 표준오차 추정에서 우수한가'를 묻는 개념 문제로 나올 가능성이 높으니, 숫자를 외우기보다 '대치 간 분산까지 반영한다'는 문장 자체를 기억해두시면 충분합니다.
시험에 자주 나오는 함정
다중대치법은 결측치를 최빈값·중앙값 등 여러 통계량으로 한 번에 채우는 방법이다 → 틀렸습니다. 다중은 통계량이 여러 개라는 뜻이 아니라 대치를 여러 번(m번) 반복한다는 뜻입니다.
다중대치법은 계산이 단순확률대치법보다 간단하다 → 정반대입니다. m번 반복 + 결합 단계까지 거치므로 계산량은 오히려 더 많습니다. 다중대치법의 장점은 간단함이 아니라 정확한 표준오차 추정이라는 점을 짝지어 기억하세요.
다중대치법의 3단계 순서(대치 → 분석 → 결합)를 뒤섞어 놓은 보기가 자주 출제됩니다. 아직 안 채운 데이터를 먼저 분석할 수 없다는 상식으로 순서를 되짚으면 헷갈리지 않습니다.
시험 직전에 이것만
완전분석법은 결측 케이스를 삭제해 표본이 줄고, 결측이 특정 패턴을 가지면 편향될 위험이 있습니다.
평균대치법은 계산은 쉽지만, 서로 다른 값이어야 할 결측치가 하나의 값으로 몰리면서 분산이 실제보다 작게 추정됩니다.
다중대치법은 단순확률대치를 여러 번 반복한 뒤 대치 → 분석 → 결합 순서로 결과를 합쳐, 추정치의 표준오차까지 정확하게 구하는 가장 정교한 방법입니다.
더 풀어보고 싶다면?
실제 기출 스타일 문제로 감을 잡고 싶다면 → CBT로 바로 풀어보기
다음 시험 일정이 궁금하다면 → 빅데이터분석기사 시험 일정 확인하기 (시험 날짜·응시료 등은 이 페이지에서 최신 정보로 확인하세요)
개념부터 문제풀이까지 체계적으로 준비하고 싶다면 → 『빠르게 따는 빅데이터분석기사』 도서 보러 가기
궁금한 점이 있으면 카카오톡 질문방에 편하게 물어보세요. 같은 수험생들과 함께 풀다 보면 결측값 처리 같은 헷갈리는 개념도 훨씬 빨리 정리됩니다.
