분석 목적에 맞는 데이터 가공
결측치와 이상치 처리

[사진 = pixabay]
[사진 = pixabay]

[월드투데이 김새민 기자] 데이터 분석에서는 데이터 가공이 절반 이상이라고 해도 과언이 아니다.

데이터 분석이란 데이터 집합의 나열 속에서 의미 있는 데이터를 찾아 정보로 만드는 것을 말한다. 분석을 위해서는 분석 목적에 맞게 내가 원하는 형태로 데이터를 재배열해야 한다. 그 일련의 과정을 데이터 전처리라고 한다.

원본 데이터는 정리되지 않은 날것이다. 원하는 형태로 구성되어 있지 않다.  우리가 가진 데이터는 일별 데이터고 읍면동별로 나뉘어 있다. 시에 따른 월별 유동인구의 합계를 보고 싶다면  같은 시끼리 동들을 묶어서 월별 합계를 계산해주어야 한다.

[사진 = '제주특별자치도_주제7_효율적인 교통량 측정을 위한 날씨유동인구 활용 교통량 데이터_매쉬업결과' 데이터 활용한 전처리]
[사진 = '제주특별자치도_주제7_효율적인 교통량 측정을 위한 날씨유동인구 활용 교통량 데이터_매쉬업결과' 데이터 활용한 전처리]

데이터를 보기 좋게 정리했다고 끝이 아니다. 데이터가 깔끔하지 않다는 말은 데이터에 빈 곳이 많다는 의미이기도 하다. 이런 데이터의 구멍을 결측치라고 부른다. 데이터에서 얻는 인사이트는 결측치 처리 방법에 따라 달라질 수 있어 신중하게 처리해야 한다. 

결측치 처리

1. 결측치 제거

결측치가 있는 데이터를 깔끔하게 제거하는 방법이다. 데이터에 결측치가 있으면 활용할 수 없는 머신러닝 모델들에 주로 쓴다.

그렇지만 결측치를 포함한 데이터를 없앴을 경우, 데이터 수가 급격하게 줄어들 수 있다. 충분한 학습 데이터가 필요한 모델에는 적절하지 않다. 따라서 결측치를 마냥 제거하지 않고, 적절한 방법으로 결측치를 채우기도 한다.

2. 결측치에 의미 부여 

결측치가 있다는 것은 그 자체로 의미가 되기도 한다. 예를 들어, 야구 선수의 시즌 기록 데이터가 있다. 2018년 선수 기록이 존재하지 않는 것은 해당 선수가 2018년에 출전하지 않았기 때문이다. 따라서 출전하지 않았다는 의미로 결측치를 채울 수 있다.

[사진 = 가상 선수 A의 야구 시즌 기록 데이터]
[사진 = 가상 선수 A의 야구 시즌 기록 데이터]

3. 결측치 채우기

2018년의 기록이 필요하다면, 결측치를 채워주어야 한다. 결측치를 채우는 방법도 다양하다.

평균으로 채우면 간단하다. 하지만 평균은 특정 값에 영향을 많이 받는다.  너무 큰 숫자가 있다면 평균이 갑자기 높아진다. 따라서 중간값이나 최빈값으로 채우기도 한다. 이외에도 결측치를 회귀 모형으로 예측하기도 한다.

데이터 특성을 활용하는 방법도 있다. 야구 데이터라면, 시즌 흐름을 반영하기 위해 시즌에 참여한 모든 선수들의 평균값으로 결측치를 채울 수도 있다. 혹은 유사한 선수들을 찾아서 유사한 선수들의 평균 기록으로 채우는 것도 방법이다.

이상치

이상치란 다른 데이터와 비교하여 극단적으로 높거나 극단적으로 낮은 데이터를 말한다. 일반적인 데이터의 패턴과 다른 양상을 보이는 이상치는 머신러닝과 딥러닝 모델의 성능을 좌우한다. 또한 통계 분석에도 영향을 끼친다.

다른 데이터와 지나치게 차이가 나는 값은 보통 제거한다. 이상치는 대개 사분위수를 고려해서 탐지한다. 사분위수란 데이터를 낮은 순에서 높은 순으로 배열하고 4등분 한 것을 의미한다.

Q1 : 제1 사분위수, 25%, 1/4지점

Q2 : 제2 사분위수, 50%, 2/4 지점

Q3 : 제3 사분위수, 75%,  3/4 지점

Q4 : 제 4 사분위수, 100%,  4/4 지점

이때, 중앙에 위치한 50%의 값(Q3 - Q1)의 범위를 IQR(Inter Quantile Range)라고 한다.  IQR은 양극단 값에 상대적으로 덜 민감하다. 여기서 IQR에 특정 숫자(주로 1.5)를 곱해 준다. Q1 - IQR*1.5를 최솟값, Q3 + IQR*1.5 를 최댓값으로 하여 범위를 벗어나면 이상치라고 규정한다. 

[사진 = boxplot으로 나타낸 사분위수 및 IQR,  출처 = Sebastian Raschka, 2016]
[사진 = boxplot으로 나타낸 사분위수 및 IQR,  출처 = Sebastian Raschka, 2016]

◆ 이상치 분석의 재미

사실,  이런 이상치들이 왜 다른 값들과 동떨어지는지 파악하는 것도 분석의 재미 중 하나이다. 

아파트 실거래 데이터를 살펴봤을 때, 같은 아파트인데도 한 거래에서만 거래 가격이 낮았다.  차이를 조사해 보니 다른 거래에 비해 층수가 낮았다. 

야구 데이터 이상치도 그렇다. 우천 취소나 강우콜드가 선언된 경기는, 일반적인 경기와는 다른 양상을 보일 것이다.


실상의 데이터는 더 복잡할 수도, 아니면 운이 좋게 간결할 수도 있다. 데이터가 커지고 고려 사항이 많을수록 처리 과정이 복잡할 것이다. 그럴수록 데이터 전처리는 인사이트 발굴을 위해 중요해진다. 목적에 따른 신중한 처리로  분석의 기반을 탄탄히 다져야 한다.

저작권자 © 월드투데이 무단전재 및 재배포 금지