DeepLearning/Basic

[머신러닝/ML] 결측치 처리하는 7가지 방법 (Seven Ways to Make up Data)

yooj_lee 2021. 2. 18. 13:49
300x250

 정형 데이터를 다루다 보면, 각 칼럼 당 비어 있는 값들이 존재하는 경우가 빈번하다. (없는 것 찾기가 힘듦) 
파이썬 머신러닝 완벽 가이드 책 실습을 진행하던 중, 데이터 결측치를 채우는 방법(Data Imputation)을 좀 더 디테일하게 알아보았고, 지금부터의 내용은 www.theanalysisfactor.com/seven-ways-to-make-up-data-common-methods-to-imputing-missing-data/ 를 정리한 것임을 밝힌다.


Data imputation

 

1. 평균값으로 대체 (Mean Imputation)

  결측치가 존재하는 변수에서 결측되지 않은 나머지 값들의 평균을 내어 결측치를 대체하는 방법. 해당 값으로 대체 시 변수의 평균값이 변하지 않는다는 장점이 있지만, 많은 단점이 존재한다. 

2. 새로운 값으로 대체 (Substitution)

 아예 해당 데이터 대신에 샘플링 되지 않은 다른 데이터에서 값을 가져온다. (그렇다면 validation set에서도 쓰지 않고 아예 버리게 되는 셈인 건가?)

3. Hot deck imputation

 다른 변수에서 비슷한 값을 갖는 데이터 중에서 하나를 랜덤 샘플링하여 그 값을 복사해오는 방법. 이 방법은 결측값이 존재하는 변수가 가질 수 있는 값의 범위가 한정되어 있을 때 이점을 갖는다. 또한 random하게 가져온 값이기 때문에 어느 정도 변동성을 더해준다는 점에서 표준오차의 정확도에 어느 정도 기여를 한다는 점이다.

4. Cold deck imputation

 Hot deck imputation과 유사하게, 다른 변수에서 비슷한 값을 갖는 데이터 중에서 하나를 골라 그 값으로 결측치를 대체하는 방식이다. 다만 cold deck imputation에서는 비슷한 양상의 데이터 중에서 하나를 랜덤 샘플링하는 것이 아니라 어떠한 규칙 하(예를 들면, k번째 샘플의 값을 취해온다는 등)에서 하나를 선정하는 것이다. 이 경우 hot deck imputation 과정에서 부여되는 random variation이 제거된다.

5. Regression imputation

 결측치가 존재하지 않는 변수를 feature로 삼고, 결측치를 채우고자 하는 변수를 target으로 삼아 regression task를 진행하는 것이다. 데이터 내의 다른 변수를 기반으로 결측치를 예측하는 것이기 때문에 변수 간 관계를 그대로 보존할 수 있지만 동시에 예측치 간 variability는 보존하지 못한다. (회귀분석을 생각해보면 regression line은 random component가 존재하지 않는다. regression 값 그 자체로 존재한다. )

6. Stochastic regression imputation

 regression 방법에 random residual value를 더해서 결측치의 최종 예측값으로 대체하는 방식. regression 방법의 이점을 모두 갖는데다 random component를 갖는 데에서 따르는 이점 또한 갖는다. 

7. Interpolation and extrapolation (보간법, 보외법)

 같은 대상으로부터 얻은 다른 관측치로부터 결측치 부분을 추정하는 것이다. 이 경우는 longitudinal data의 경우(어린이의 성장 과정을 추적하는 과정에서 얻은 키 데이터라든지 하는 경우)에만 가능할 것이다. 

 


 Single Imputation / Multiple Imputation

  1) Single Imputation

    : 결측치의 대체값으로 하나의 값을 선정하는 것. 다만 이 경우에는 결측치가 랜덤하게 생긴 경우가 아니라면 mean, correlation, 회귀계수와 같은 파라미터 추정치가 편향된다(biased parameter estimates). 이러한 추정 편향으로 인해 아예 결측치가 존재하는 행을 삭제하는 것보다 안좋아질 수 있다. (더 자세한 설명은 원글을 참고하기 바람)

  2) Multiple Imputation

    : 결측치의 대체값을 여러 추정값으로 선정하는 것. 위에서 언급한 여러 imputation methods 중 hot deck과 stochastic regression이 주로 사용됨 (random component가 존재한다는 점에서). 


 multiple imputation을 조금 더 찾아봐야겠다는 생각을 했는데 통계학쪽에 가까운 듯하다. data imputation도 생각보다 내용이 많다는 점에서 흥미로웠다.

300x250