핫덱 대치

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

Michal Oleszak

Machine Learning Engineer

핫덱의 역사

  • 1950년대로 거슬러 올라가며, 데이터는 천공카드에 저장되었습니다.
  • 데이터를 앞뒤로 훑는 데 매우 오래 걸렸습니다.
  • 미국 인구조사국이 데이터를 한 번만 통과하는 방법을 고안했습니다.

컴퓨터 프로그래밍에 쓰인 옛 천공카드 사진.

1 Image source: https://en.wikipedia.org/wiki/Punched_card#/media/File:Used_Punchcard_(5151286161).jpg
R에서 대치(Imputation)로 결측치 다루기

핫덱 대치

  • 각 변수별로, 결측값을 직전 관측값으로 대체합니다.
  • 핫덱은 실제로 처리 중인 천공카드 묶음을 뜻합니다.

단점

  • 데이터가 MCAR일 것을 요구합니다.
  • 기본형 핫덱은 변수 간 관계를 훼손할 수 있습니다.

장점

  • 빠름(데이터 한 번만 통과).
  • 대치값이 상수로 고정되지 않음.
  • 간단한 요령으로 관계 훼손을 방지할 수 있음.
R에서 대치(Imputation)로 결측치 다루기

핫덱 대치 실습

nhanes_imp <- hotdeck(nhanes, variable = c("Height", "Weight"))
head(nhanes_imp)
  Age Gender Weight Height Diabetes TotChol Pulse PhysActive Height_imp Weight_imp
1  16   male   73.2  172.0    FALSE    3.00    76       TRUE      FALSE      FALSE
2  17   male   72.3  176.0    FALSE    2.61    74       TRUE      FALSE      FALSE
3  12   male   57.7  158.9    FALSE    4.27    80       TRUE      FALSE      FALSE
4  16   male   88.9  183.3    FALSE    3.62    58       TRUE      FALSE      FALSE
5  13 female   45.1  157.6    FALSE    2.66    92       TRUE      FALSE      FALSE
6  16 female   48.7  180.7    FALSE    4.32    58      FALSE       TRUE      FALSE
R에서 대치(Imputation)로 결측치 다루기

도메인 내 대치

두 열 PhysActive와 Weight가 있는 표. Weight에 결측이 하나 있다. 행이 무작위라 PhysActive=FALSE 행이 PhysActive=TRUE이자 Weight 결측인 행보다 앞선다. 이는 핫덱이 활동하지 않는 사람의 체중 값을 활동적인 사람에게 전달함을 보여준다.

두 열 PhysActive와 Weight가 있는 표. Weight에 결측이 하나 있다. 데이터를 PhysActive로 그룹화하면, 핫덱은 활동적인 사람의 값을 다른 활동적인 사람에게 전달한다.

nhanes_imp <- hotdeck(
    nhanes, 
    variable = "Weight", 
    domain_var = "PhysActive"
)
R에서 대치(Imputation)로 결측치 다루기

상관 변수로 정렬하기

두 변수 Height와 Weight가 있는 표. Weight에 결측이 하나 있다. 행이 무작위라 키가 큰 사람의 행이 키가 작은 사람(결측 Weight)보다 앞에 온다. 이는 핫덱이 큰 키의 사람의 체중 값을 작은 키의 사람에게 전달함을 보여준다.

두 변수 Height와 Weight가 있는 표. Weight에 결측이 하나 있다. 행을 Height로 정렬하면, 핫덱은 작은 키의 사람 체중 값을 다른 작은 키의 사람에게 전달한다.

nhanes_imp <- hotdeck(
    nhanes, 
    variable = "Weight"
    ord_var = "Height"
)
R에서 대치(Imputation)로 결측치 다루기

핫덱 대치를 연습해 봅시다!

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

Preparing Video For Download...