현재 선택한 빅데이터 분석 과정

빅데이터분석기사 필기 이론 학습

이론 목록으로 돌아가기

결측값 진단과 처리

결측 유형과 발생 원인을 진단해 적절한 처리 방법을 선택한다.

예상 읽기 12

핵심 요약

결측값은 단순한 빈칸이 아니다. 실제로 수집되지 않은 값, 질문 대상이 아니어서 비어 있는 값, 측정 한계 때문에 정확한 값이 알려지지 않은 경우는 의미가 다르다. 먼저 결측 표현을 표준화하고 해당 없음과 실제 누락을 구분한 뒤 결측률과 패턴, 발생 원인을 진단해야 한다.

MCAR·MAR·MNAR은 결측값을 채우는 방법이 아니라 결측이 발생한 과정에 대한 가정이다. 같은 결측률이라도 특정 집단이나 값에 누락이 집중되면 삭제나 단순 대체가 편향을 만들 수 있다. 처리 방법은 결측률 하나가 아니라 결측 메커니즘, 변수 역할, 표본 크기, 분석 목적, 예측 시점에 이용 가능한 정보를 함께 고려해 선택한다.

대체값을 넣어도 관측되지 않은 사실이 실제 관측값으로 바뀌는 것은 아니다. 특히 평균 대체는 분산과 변수 간 관계를 약화할 수 있다. 분석용 데이터에서는 분할을 먼저 수행하고 대체 기준을 훈련 데이터에서만 학습해야 검증·테스트 정보가 유입되는 데이터 누수를 막을 수 있다.

학습 목표

  • 실제 결측, 구조적 결측, 특수 코드와 측정 한계 값을 구분한다.
  • MCAR·MAR·MNAR의 조건과 한계를 사례로 판별한다.
  • 검사 대상 수를 분모로 결측률을 계산하고 분모가 0인 경우를 처리한다.
  • 삭제·단순 대체·모형 기반 대체·다중 대체·결측 지표의 조건과 한계를 비교한다.
  • 평균 대체가 표본 분산을 줄이는 과정을 계산한다.
  • 설명변수와 목표변수의 결측을 구분하고 데이터 누수 없이 대체 절차를 적용한다.

1. 결측값을 먼저 정의하기

결측 진단을 시작하기 전에 데이터 사전과 수집 절차를 확인한다. 시스템마다 빈 문자열, NULL, NA, -999, 미응답처럼 서로 다른 표현을 사용할 수 있다. 특수 코드를 실제 값으로 계산하면 평균·최솟값·결측률이 모두 왜곡된다.

상태의미처리 전 확인
실제 결측수집 대상이지만 값이 기록되지 않음누락 원인, 재수집 가능성
구조적 결측질문이나 측정 대상 자체가 아님해당 없음으로 별도 구분
특수 코드-999, 공란, 미상 등으로 누락을 표현정상 값 범위와 충돌 여부
측정 한계·검열값이 특정 기준보다 작거나 큰 것만 알려짐단순 결측으로 바꾸지 말고 한계 정보 보존
실제 0측정 결과가 0임결측으로 잘못 변환하지 않음

예를 들어 미혼 응답자의 배우자 소득은 구조적 결측일 수 있다. 이를 실제 누락과 합쳐 평균으로 대체하면 존재하지 않는 배우자 소득을 만들어 낸다. 반대로 매출액 0은 영업하지 않은 날의 실제 관측값일 수 있으므로 빈칸과 같은 의미로 처리하면 안 된다.

2. 결측 메커니즘: MCAR·MAR·MNAR

메커니즘핵심 조건예시해석 시 주의점
MCAR결측 발생이 관측된 값과 결측된 실제 값 모두와 관련되지 않음특정 집단과 무관한 무작위 전송 장애강한 가정이며 결측률이 낮다고 자동 성립하지 않음
MAR관측된 변수로 조건을 주면 결측 발생이 결측된 실제 값에 추가로 의존하지 않음연령대별 소득 응답률은 다르지만 같은 연령대 안에서는 실제 소득과 무관하다고 가정완전 무작위가 아니라 관측 변수로 설명되는 체계적 누락일 수 있음
MNAR관측 변수를 고려한 뒤에도 결측 발생이 결측된 실제 값이나 미관측 요인과 관련됨실제 소득이 높을수록 소득 응답을 피함관측 데이터만으로 완전히 확인하기 어려워 외부 지식과 민감도 분석 필요

메커니즘은 데이터에 붙어 있는 확정 라벨이 아니다. 결측 여부와 관측 변수의 관계를 분석하면 MCAR이 의심스러운 근거는 찾을 수 있지만, MAR과 MNAR을 관측 데이터만으로 완전히 증명하기는 어렵다. 설문 설계, 장비 장애 기록, 업무 담당자 지식과 여러 가정에서 결론이 얼마나 달라지는지 확인하는 민감도 분석을 함께 사용한다.

3. 결측 진단과 결측률

다음 순서로 진단한다.

  1. 데이터 사전으로 정상 값, 구조적 결측, 특수 코드를 구분한다.
  2. 전체·변수별·행별 결측 수와 결측률을 계산한다.
  3. 여러 변수가 함께 비는 결측 패턴을 확인한다.
  4. 결측 여부 지표를 만들고 연령·지역·채널·시간·장비·조사자와의 관계를 비교한다.
  5. 특정 집단이나 시점에 결측이 집중되는지 확인한다.
  6. 목표변수와 예측 시점에 관련된 선택적 누락 가능성을 업무 담당자와 검토한다.

결측률은 다음과 같이 계산한다.

결측률(%) = (M) ÷ (E) × 100
  • $E$: 해당 값이 존재해야 하는 검사 대상 수이며 $E>0$이어야 한다.
  • $M$: 검사 대상 중 실제 결측 수이며 $0 \le M \le E$이다.
  • 구조적 결측은 원칙적으로 $E$에서 제외하고 별도 건수로 보고한다.
  • 결과 범위는 0% 이상 100% 이하이다.
  • $E=0$이면 0%로 계산하지 않고 해당 없음(N/A)으로 표시한다.

정상 예: 검사 대상 500건 중 실제 결측이 35건이면 결측률은 $35 / 500 \times 100 = 7%$이다.

구조적 결측 예: 전체 1,000명 중 200명에게는 질문이 적용되지 않고, 나머지 800명 중 48명이 응답하지 않았다면 실제 결측률은 $48 / 800 \times 100 = 6%$이다. 전체 1,000명을 분모로 사용한 4.8%는 질문 대상이 아닌 200명을 포함해 누락 정도를 작게 보이게 한다.

경계 예: 해당 질문의 대상자가 0명이면 $E=0$이므로 결측률은 정의할 수 없다. 이때 0%라고 기록하면 모든 대상자가 응답했다는 의미로 오해될 수 있으므로 N/A, 검사 대상 0건, 구조적 결측 건수를 함께 제시한다.

결측률에는 모든 상황에 통하는 삭제 기준이 없다. 5%나 10% 같은 숫자만으로 처리법을 정하지 말고 결측의 집중 여부, 변수의 중요도, 표본 크기와 편향 가능성을 함께 판단한다.

4. 처리 방법 선택

방법적절한 상황주요 한계·확인 사항
행 삭제결측이 적고, 표본이 충분하며, 삭제로 인한 집단 편향이 작을 때표본 감소, 완전 사례만 남는 선택 편향 가능
변수 삭제결측이 많고 분석 역할이 낮으며 다른 변수로 대체 가능한 정보일 때중요한 설명력과 업무 의미 손실 가능
평균 대체수치형 분포가 대칭에 가깝고 빠른 기준선이 필요할 때분산·상관 축소, 불확실성 과소평가
중앙값 대체수치형 분포가 치우치거나 극단값 영향이 클 때변수 간 관계와 집단 차이를 보존하지 못함
최빈값·고정 범주 대체범주형에서 대표 범주 또는 미상 자체가 의미 있을 때가장 많은 범주가 더 과대표현될 수 있음
집단별 대체예측 시점에 알 수 있는 관측 집단 차이가 뚜렷할 때그룹 정의가 부정확하면 편향, 작은 그룹은 불안정
회귀·최근접 이웃 등 모형 대체다른 변수와의 관계를 활용할 수 있을 때모형 오차, 과대적합, 계산 비용, 누수 방지 필요
다중 대체추론에서 대체 불확실성을 반영해야 할 때메커니즘 가정, 반복 분석과 결합 절차가 필요
결측 지표 추가결측 발생 자체가 예측 신호일 수 있을 때원인 변화 시 성능 저하, 대체법과 함께 검증 필요

삭제와 대체 중 하나를 자동으로 고르지 않는다. 예측 성능뿐 아니라 평균·회귀계수 등 추정량의 편향, 분산, 집단별 영향과 결과 해석 가능성을 비교한다.

시계열 결측

  • 앞값 채움은 값이 다음 관측까지 유지된다는 업무 가정이 있을 때 사용한다.
  • 선형 보간은 두 시점 사이가 완만하게 변한다는 가정이 필요하다.
  • 미래값으로 과거 결측을 채운 뒤 과거 예측 성능을 평가하면 미래 정보가 유입된다.
  • 시계열은 시간 순서로 분할하고 각 평가 시점에서 실제로 알 수 있었던 정보만 사용한다.

5. 평균 대체가 분산을 줄이는 이유

표본 분산은 다음과 같다.

s^2 = \fracΣ(i=1…n)(x_i-x̄)^2n-1
  • $n$: 관측값 수이며 표본 분산을 계산하려면 $n \ge 2$여야 한다.
  • $x_i$: $i$번째 값, $\bar{x}$: 표본평균이다.
  • 분산의 단위는 원래 변수 단위의 제곱이다.

관측값이 10, 20, 30이면 평균은 20이고 표본 분산은 다음과 같다.

((10-20)^2+(20-20)^2+(30-20)^2) ÷ (3-1)=(200) ÷ (2)=100

결측값 하나를 평균 20으로 대체하면 10, 20, 30, 20이 된다. 평균은 그대로 20이지만 표본 분산은 다음과 같이 줄어든다.

((10-20)^2+(20-20)^2+(30-20)^2+(20-20)^2) ÷ (4-1)=(200) ÷ (3)≈66.67

평균으로 채운 값의 평균으로부터 편차가 0이기 때문에 새로운 변동은 추가되지 않지만 분모는 커진다. 따라서 평균 대체는 분산을 작게 만들고 다른 변수와의 공분산·상관도 왜곡할 수 있다.

경계 예: 관측값이 하나뿐이면 $n-1=0$이므로 표본 분산을 정의할 수 없다. 단 하나의 값으로 평균 대체 기준을 만들면 그 값의 불확실성을 전혀 반영하지 못하므로 재수집·외부 기준·변수 제외 등 다른 방법을 검토한다.

6. 다중 대체의 핵심 원리

다중 대체는 하나의 확정값을 넣는 방법이 아니다.

  1. 결측 메커니즘과 관측 변수의 관계를 반영해 서로 다른 대체값을 가진 여러 완성 데이터셋을 만든다.
  2. 각 데이터셋에서 같은 분석을 따로 수행한다.
  3. 분석 결과를 결합하면서 데이터셋 내부의 추정 불확실성과 대체 결과 사이의 변동을 함께 반영한다.

여러 대체값을 평균 내어 하나의 데이터셋으로 만든 뒤 한 번만 분석하면 대체 간 불확실성이 사라지므로 다중 대체의 장점을 얻지 못한다. MNAR 가능성이 크면 MAR 기반 다중 대체 결과 하나만 확정적으로 제시하지 말고, 누락값이 더 크거나 작다고 가정한 시나리오에서 결론이 얼마나 바뀌는지 비교한다.

7. 설명변수와 목표변수 결측 구분

  • 설명변수 결측: 훈련 데이터에서 학습한 삭제·대체·결측 지표 규칙을 검증·테스트·운영 데이터에 동일하게 적용한다.
  • 목표변수 결측: 지도학습에서 정답을 알 수 없는 행이므로 일반적으로 단순 평균으로 목표값을 채워 학습하지 않는다. 재라벨링, 해당 행의 지도학습 제외, 별도의 반지도학습 설계 등을 검토한다.
  • 평가 데이터의 목표값 결측: 정답이 없으므로 해당 행은 성능 지표 계산에 직접 사용할 수 없다. 평가 가능 표본과 제외 기준을 보고한다.

목표변수를 대체한 값으로 성능을 평가하면 모형이 실제 정답이 아니라 만들어 낸 값을 얼마나 잘 맞추는지 측정하게 된다.

8. 데이터 누수를 막는 분석 절차

  1. 원본을 보존하고 결측 코드와 구조적 결측 규칙을 정의한다.
  2. 훈련·검증·테스트 데이터를 먼저 나눈다.
  3. 훈련 데이터에서만 대체 통계량이나 대체 모형을 적합한다.
  4. 학습된 같은 규칙으로 검증·테스트 데이터를 변환한다.
  5. 교차검증에서는 각 반복의 훈련 폴드 안에서 대체기를 다시 적합한다.
  6. 운영 단계에서는 결측률·대체 비율·집단별 패턴 변화를 모니터링한다.

전체 데이터 평균을 분할 전에 계산하거나, 검증 폴드까지 포함해 최근접 이웃을 찾으면 평가 데이터의 분포 정보가 훈련 과정에 들어간다. 대체도 모형 학습 파이프라인의 일부로 취급해야 한다.

9. 사례 적용

상황: 만족도 조사 1,200건에서 소득 180건이 실제 결측이다. 연령은 모두 관측됐고 젊은 고객의 소득 누락이 많다. 같은 연령대에서도 고소득 고객이 더 응답을 피할 가능성이 제기됐다.

진단:

  • 결측률은 $180 / 1{,}200 \times 100 = 15%$이다.
  • 결측이 연령과 관련되므로 MCAR로 단정하지 않는다.
  • 연령을 조건으로 실제 소득과 무관하다는 MAR 가정과, 고소득일수록 누락된다는 MNAR 가능성을 모두 검토한다.

처리와 비교:

  1. 연령 등 관측 변수를 사용한 MAR 기반 다중 대체 결과를 만든다.
  2. 완전 사례만 사용한 결과와 비교해 표본 선택의 영향을 확인한다.
  3. 누락된 소득이 MAR 대체값보다 일정 수준 높다고 가정하는 MNAR 민감도 시나리오를 비교한다.
  4. 가정별 평균 만족도와 소득 효과의 방향·크기·불확실성을 함께 보고한다.

결론: 결측률이 15%라는 사실만으로 처리법을 확정할 수 없다. 평균 대체 하나로 결론을 고정하지 않고 메커니즘 가정에 따른 결과의 안정성을 확인한다.

열은 변수, 행은 관측치이며 관측값과 결측값을 색과 기호로 함께 표시한 결측 패턴 행렬
열은 변수, 행은 관측치이며 관측값과 결측값을 색과 기호로 함께 표시한 결측 패턴 행렬

변수별 결측률만 보면 함께 비는 열·행 패턴을 놓칠 수 있다. 행 6처럼 여러 변수가 동시에 비는 구조는 수집 단계·집단·조건을 추가로 확인하라는 신호다.

MissingRatej=\fracΣi=1^n\mathbf1(x_ij\ is\ missing)n
다른 값과 무관한 MCAR, 관측된 값에 의존하는 MAR, 빠진 값 자체에 의존하는 MNAR의 결측 원인 비교
다른 값과 무관한 MCAR, 관측된 값에 의존하는 MAR, 빠진 값 자체에 의존하는 MNAR의 결측 원인 비교

MCAR은 결측이 관측·미관측 값과 무관하고, MAR은 관측된 정보에 조건부로 의존하며, MNAR은 빠진 값 자체와 관련된다. 메커니즘은 결측 행렬만으로 확정하지 않고 업무 과정·수집 설계·민감도 분석으로 판단한다.

메커니즘결측 의존성처리·검토 방향
MCAR관측·미관측 값과 무관완전사례 분석의 정당성·효율 검토
MAR관측된 변수에 조건부 의존다중대치·모형에 관련 관측변수 포함
MNAR미관측 값 자체와 관련선택·패턴 혼합 모형, 민감도 분석

시험 판단 포인트

  • 구조적 결측은 실제 누락과 구분하고 결측률 분모에서 제외한다.
  • MCAR은 관측·미관측 값과 독립, MAR은 관측값 조건부로 결측값과 독립, MNAR은 결측값 자체나 미관측 요인과 관련된다.
  • 결측률이 낮거나 높다는 사실만으로 MCAR·MNAR 또는 삭제 여부를 결정하지 않는다.
  • 평균 대체는 평균을 유지할 수 있지만 분산과 변수 간 관계를 축소·왜곡한다.
  • 다중 대체는 여러 완성 데이터셋을 각각 분석한 뒤 결과와 불확실성을 결합한다.
  • 목표변수 결측은 설명변수 결측과 같은 방식으로 무조건 대체하지 않는다.
  • 대체 기준은 훈련 데이터 또는 각 교차검증 훈련 폴드 안에서만 학습한다.
  • 시계열에서 미래값을 사용한 과거 결측 대체는 데이터 누수를 만들 수 있다.

자주 틀리는 부분

  • 공란, -999, 구조적 해당 없음, 실제 0을 모두 같은 결측으로 처리하지 않는다.
  • MAR을 결측이 완전히 무작위인 상태로 설명하지 않는다.
  • 결측이 많으면 모두 MNAR이라고 판단하지 않는다.
  • 결측값을 채우면 실제 관측값과 같은 확실성을 갖는다고 보지 않는다.
  • 평균 대체가 표본 수를 늘리므로 분산도 복원된다고 생각하지 않는다.
  • 다중 대체값의 평균으로 한 데이터셋을 만들어 한 번만 분석하지 않는다.
  • 분할 전에 전체 데이터로 대체 기준을 학습하지 않는다.
  • 시계열 결측을 미래값으로 채우고 과거 시점의 성능을 평가하지 않는다.
스스로 확인하기

개념 확인 문제

문제를 누르면 바로 아래에서 정답과 해설을 확인할 수 있습니다.

01MAR에 관해 설명하시오.
정답 및 해설

관측된 변수로 조건을 주면 결측 발생이 결측된 실제 값에 추가로 의존하지 않는다는 가정이다.

02전체 1,000명 중 200명은 질문 대상이 아니며, 나머지 800명 중 48명이 응답하지 않았다. 실제 결측률은?
정답 및 해설

6.0%

03관측값 10, 20, 30에 결측 하나를 평균 20으로 대체했을 때 일반적인 영향을 올바르게 제시하시오.
정답 및 해설

평균은 20으로 유지되지만 표본 분산은 100에서 약 66.67로 줄어든다.

04교차검증에서 결측 대체로 인한 데이터 누수를 막는 방법을 서술하시오.
정답 및 해설

각 반복의 훈련 폴드에서 대체 기준을 학습하고 해당 검증 폴드에 적용한다.