본문 바로가기
Data Analysis

[Rstudio] 결측값을 처리하는 다중 대치법(imputation)

by 고막고막 2019. 5. 9.

결측값은 자료에 종종 나타나는 현상이다. 이를 처리하는 방법에는 크게 3가지가 있다.

  1. 해당 레코드를 제외(삭제)한다.
  2. 해당 변수의 대표값(평균값 또는 확률값)으로 대체한다.
  3. 이웃 변수들과의 관계를 이용한 다중대치법을 사용한다.

그러나 결측값의 분포가 넓은 경우, 방법1은 통계적 타당성에 문제가 있으며, 방법2는 통계량의 표준오차가 과소추정되는 문제가 발생할 수 있다. 가장 효율적인 것은 방법3인 imputation이다.  Rstudio에는 imputation을 자동으로 처리해 주는 여러 패키지가 있다. 여기서는 Amelia 패키지를 이용해 결측값을 처리해보았다.

원천 데이터 'freetrade'의 일부를 head(freedata)로 확인해본 결과 결측값이 빈번하게 확인된다.

결측값 보정 전

m : 가상의 데이터셋을 몇 개 만들 것인가? (일반적으로 3~5개가 적당하며, 그 이상 만들지라도 효율성이 크게 저하되지 않음)
ts(time series) : 시계열 정보
cs(cross-sectional) : 분석에 포함 될 변수 

a.out<-amelia(freetrade, m=5, ts="year", cs="country")
missmap(freetrade)

결측값 보정 후

생성된 5개의 가상 데이터셋 중 하나를 save해서 데이터를 확인해보았다. 결측값이 추정량으로 대체된 것을 확인할 수 있다. 

 

'Data Analysis' 카테고리의 다른 글

데이터 전처리 플랫폼 'AIMMO'에서 알바해보기!  (0) 2018.11.27