데이터를 살펴보면, 교과서를 제외한 대부분의 데이터는 결측값을 포함하고 있다.

실제로 처음 분석과제를 접했을 때 이 결측값을 어떻게 처리해야 할까? 에 대해서 많이 고민했고, 그에 대한 합리적인 결과를 내리지 못했던 것 같다.

지금도 머리 속에 정확하게 결측값을 어떻게 다루어야 한다는 체계는 잡히지 않았으나, 이 때까지 생각한 바를 조금 정리해볼 것이다.


< 특정 참고서에 있거나, 연구를 통해 밝혀진 내용이 아닌 뇌피셜임을 밝힙니다! >

   틀린 내용이 있다면 건설적인 피드백을 부탁드립니다.

====================================================================



0. 정확한 예측이 필요한 것이 아니다.

  - 원하는 변수에 대한 (통계적) 예측은 정확할 수 없다. 그래서 대부분의 통계 방법은 (이론적으로) 오차를 최소한으로 하는 방법을 채택한다.


    결측값을 보정하는 것도 이러한 관점에서 접근해야 한다고 생각한다. 우리가 하는 분석은 적절한 insight를 얻거나 Target을 적절히 예측하기 위함인데, 결측값에 대한 보정값으로 예측한 것이 맞는 지 알 수 없는 상황에서 우리가 선택할 수 있는 것은 오차를 최소로 하는 방안일 것이다.


    이러한 관점에서 결측값을 평균(연속형 자료), 최빈값(범주형 자료), 중앙값 등으로 보정하는 것은 합리적이다.


    특히 결측값의 비율이 낮을 때, 이런 방법으로 보정하는 것은 (시간이라는) 비용을 절약할 수 있는 좋은 방법일 것이다.


    당연히 변수에 대한 사전 지식을 가지고 있어 이를 채울 수 있는 경우 (주로 전문가의 자문을 구한다던가...)에는  이것이 오차를 최소로하는 방법이 될 수도 있다. 이렇게 우리는 오차를 최소로 하면서 해당 관측값이 가지는 다른 변수의 정보를 추가해서 모형을 구축할 수 있다.


    중요한 것은 결측값을 정확하게 예측하기 위해 많은 시간을 들이는 것이 과연 필요한 것인지가 중요한 것 같다. 최대한 자료를 끌어모아 결측값을 보정하면 오차를 더욱 줄일 수 있겠지만, 평균이나 최빈값으로 대체했을때의 오차에 비해 그 차이가 그리 크지 않을 수도 있다.






1. 결측 자체가 의미를 지니는가?

  - Kaggle의 House Prices data는 부동산 거래 정보 데이터에서 부동산 가격을 예측하는 competition이다. 여기서 데이터는 약 3,000개의 관측값과 80여개의 변수로 구성되어있다. 처음 데이터를 살펴볼 때, 결측값의 비율을 살펴보았다. PoolQC는 수영장의 품질을 의미하는데 이 변수는 약 2900개의 결측값을 가지고 있었다. 처음에는 결측값의 비율이 너무 높아서 이 변수를 사용할 수 없을 것이라고 생각했지만, 대부분의 가구가 수영장을 가지고 있지않기 때문에 이 값은 사실 상 "수영장을 가지고 있지 않다."를 의미하는 결측이였다. 


    이처럼 결측 자체가 어떤 의미를 가지는 경우가 존재하기 때문에, 결측의 비율이 어떻든 그 의미와 형태를 고려해보는 것은 중요하다.







2. MICE algorithm(?)의 효율성 or 신뢰성



+ Recent posts