결측 데이터 메커니즘

R에서 대치(Imputation)로 결측치 다루기

Michal Oleszak

Machine Learning Engineer

결측 데이터 메커니즘: 개요

결측치 문제는 세 가지로 분류됩니다. 구분은 중요합니다. 유형마다 해결책이 다릅니다.

  • 완전무작위 결측(MCAR)
  • 무작위 결측(MAR)
  • 비무작위 결측(MNAR)
R에서 대치(Imputation)로 결측치 다루기

완전무작위 결측(MCAR)

데이터셋에서 결측의 위치가 완전히 무작위이며, 다른 데이터에 의존하지 않습니다.

예시:

기상 센서가 온도를 측정해 DB로 전송합니다. 센서가 고장 난 동안 DB에 결측이 생깁니다.

R에서 대치(Imputation)로 결측치 다루기

무작위 결측(MAR)

데이터셋에서 결측의 위치가 다른 관측된 데이터에 의존합니다.

예시:

정비로 센서를 끈 기간에 온도 값이 결측입니다. 정비팀은 주말에 일하지 않으므로, 결측 위치는 요일에 따라 달라집니다.

R에서 대치(Imputation)로 결측치 다루기

비무작위 결측(MNAR)

데이터셋에서 결측의 위치가 결측 자체의 값에 의존합니다.

예시:

매우 추우면 센서가 얼어 멈춥니다. 매우 낮은 온도는 기록되지 않습니다. 즉, 온도 변수의 결측 위치가 그 변수 값 자체에 의존합니다.

R에서 대치(Imputation)로 결측치 다루기

메커니즘 처리

불완전 관측을 단순히 삭제하면?

  • 데이터가 MCAR이면 정보 손실만 발생합니다.
  • MAR 또는 MNAR이면, 삭제는 해당 데이터로 만든 모델에 편향을 유발합니다.
  • 이 경우 결측값을 대치해야 합니다.
  • 많은 대치 방법은 MAR을 가정하므로, 이를 탐지하는 것이 중요합니다.
R에서 대치(Imputation)로 결측치 다루기

통계적 검정

예시: 평균 차이에 대한 t-검정

  1. 가정 설정(귀무가설): 두 평균은 같다.
  2. 데이터로부터 검정통계량을 계산한다.
  3. p-값을 계산한다: 귀무가설이 참일 때, 관측된 검정통계량이 나올 가능성은?

p-값 작음 → 귀무가설 기각 → 평균이 다름


p-값 큼 → 귀무가설 기각 안 함 → 평균이 같음

R에서 대치(Imputation)로 결측치 다루기

MAR 검정

목표: 한 변수의 결측 비율이 다른 변수의 값에 따라 달라지는지 검정합니다.

예: PhysActive의 결측 비율이 남녀에 따라 다른가?

검정 절차:

  1. PhysActive 결측 여부를 나타내는 더미 변수를 만든다.
  2. 이 더미의 평균이 남녀 간 다른지 t-검정한다.
  3. p-값이 작으면(예: < 0.05) 평균이 달라 MAR로 본다.
R에서 대치(Imputation)로 결측치 다루기

실습 검정

nhanes <- nhanes %>% 
  mutate(missing_phys_active = is.na(PhysActive))
missing_phys_active_male <- nhanes %>% 
  filter(Gender == "male") %>% 
  pull(missing_phys_active)

missing_phys_active_female <- nhanes %>% 
  filter(Gender == "female") %>% 
  pull(missing_phys_active)
R에서 대치(Imputation)로 결측치 다루기

검정 결과 해석

t.test(missing_phys_active_female, missing_phys_active_male)
    Welch Two Sample t-test

data:  missing_phys_active_female and missing_phys_active_male
t = -1.7192, df = 781.18, p-value = 0.08597
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
 -0.044414688  0.002940477
sample estimates:
 mean of x  mean of y 
0.02083333 0.04157044
R에서 대치(Imputation)로 결측치 다루기

결측 데이터 메커니즘을 알아봅시다!

R에서 대치(Imputation)로 결측치 다루기

Preparing Video For Download...