이번 글에서는 데이터 분석 관련 프로젝트를 진행하다보면 거의 직면할 수 밖에 없는 결측치에 대해 다뤄볼 것입다. 결측치를 많이 포함하는 데이터로 머신러닝/딥러닝 모델을 학습시키게 되면, 결과를 신뢰할 수 없을 뿐만 아니라 정확도에도 큰 영향을 미치게 됩니다. 따라서 분석을 하기 이전에 결측치를 제거하거나 대치(Imputation)해줘야 합니다. 이러한 결측치를 처리하는 방법에는 여러가지가 존재하는데, 해당 방법들을 살펴보기 이전에 우선 결측치 자체에 대해 살펴보고자 합니다.
결측치는 다음의 세 가지 유형으로 나뉠 수 있습니다.
- MCAR (Missing Completely at Random) : 결측치 발생이 완전 무작위
- MAR (Missing at Random) : 결측치 발생이 해당 열에서는 무작위이지만, 다른 열에 의해 설명될 수 있음
- MNAR (Missing Not at Random) : 결측치 발생이 해당 열에 의존하여 발생
각 유형에 대한 자세한 설명은 'Jäger, S., Allhorn, A., & Bießmann, F. (2021). A benchmark for data imputation methods. Frontiers in big Data, 48.' 논문의 예시를 바탕으로 진행하고자 합니다.
1. MCAR (Missing Completely at Random)
MCAR은 결측치 발생이 특정한 것에 의존하지 않고 완전 무작위로 발생한 경우를 의미합니다. 위의 예시를 살펴보면, 해당 테이블에는 키(Height)가 데이터로 입력되어있습니다. 왼쪽은 실제값이고, 오른쪽은 결측치가 발생했다고 가정한 경우의 값입니다. ?의 실제값들을 확인해보면, [179, 192, 175, 181, 156]으로 값이 크다거나 작다고 해서 발생한 것이 아니라 무작위로 발생한 것을 알 수 있습니다. 전산 오류나 통신 문제 등으로 발생한 결측치의 경우도 MCAR에 해당합니다.
2. MAR (Missing at Random)
MAR은 결측치 발생이 해당 열에서는 무작위이지만, 해당 열이 의존하고 있는 다른 열에 의해 설명될 수 있는 경우를 의미합니다. 위의 예시를 살펴보면, ?의 실제값들은 [200, 191, 155, 206, 159]로 역시 특정한 패턴이 나타나지는 않습니다. 하지만 Gender를 확인해보면, 결측치가 발생한 사람들의 성별은 모두 M, 즉 남자인 것을 알 수 있습니다. 다시 말해 키는 무작위로 결측치가 발생하였지만, 성별에 의존하므로 성별에 의해 설명될 수 있음을 보여주는 경우입니다.
3. MNAR (Missing Not at Random)
마지막으로 MNAR은 결측치가 해당 열에 의존하는 경우를 의미합니다. 위의 표에서 ?의 실제값들을 살펴보면, [154, 153, 156, 155, 164]로 값이 작은 경우만 결측치가 발생한 것을 확인할 수 있습니다. 따라서 해당 경우는 무작위로 발생한 것도 아니고 다른 열에 의해 설명될 수도 없기 때문에, 실제 분석에서 처리하기 어려운 경향이 있다고 합니다.
다음 글에서는 결측치를 처리하는 방법에 대해 알아볼 예정이며, 글에서 틀린 부분이 있다면 언제든 댓글로 알려주시길 바랍니다.
<참고>
https://hyewonleess.github.io/theory/missing-data-mechanism/
[데이터분석이론] #1 Missing data Mechanism
오늘은 통계학과 석사 첫학기 수업에서 배운 ‘결측자료분석’의 missing data mechanism 이론에 대해 다뤄보려고 합니다. 데이터분석에서 missing을 다루는 것은 매우 중요한 작업입니다. Missing data를
hyewonleess.github.io
데이터 세트에서 결 측값을 대치하는 MICE 알고리즘
누락 된 데이터는 수학 모델링 및 기계 학습에서 일반적인 문제입니다. 기계 학습 모델은 본질적으로 누락 된 데이터로 작동 할 수 없으므로 사용 사례에 가장 적합한 모델을 달성하기 위해 서
ichi.pro
'Data Analysis > Imputation' 카테고리의 다른 글
[Imputation] 결측치 대치 방법 (2) | 2022.10.24 |
---|
댓글