티스토리 뷰

반응형

목표

이상치의 정의를 설명할 수 있다.

이상치를 판단하는 방법을 설명할 수 있다.

파이썬을 활용하여 이상치를 처리할 수 있다.

 

이상치(Outlier)

관측된 데이터 내 전체적 패턴에서 아주 작게, 혹은 아주 크게 벗어난 값

 

데이터 분석 결과 및 의사 결정에 왜곡을 일으킬 수 있다.

 

이상치의 유형

오류 데이터 - 센서나 시스템 오류로 잘못된 값을 수집한 경우

실제 데이터 - 실제 데이터가 맞지만, 극단적인 관측으로 인해 일반적인 관측 범위를 벗어난 경우(허리케인, 폭설 등)

평균 연봉에 포함되는 마이클 조던 - 이상치

 

현업에서는 잘못된 데이터인지 아닌지 구분하기 쉽지 않다.

그래서 데이터가 보여주는 현상에 대해서 의문을 가지고 전문가와 의논해봐야 한다.

 

이상치 처리 프로세스

통계적 방안 - 데이터 관점의 방안(통계적 연산 기반의 이상치 판단(Z-score,IQR)

or

인적 판단 방안 - 현업 관리자의 데이터 및 비즈니스 관점 기반의 이상치 여부 판단

 

후에 이상치 처리

 

삭제, 대체 등 방안을 적용하여 처리한다.

삭제 - 데이터 제거

대체/ 변경 - 다른 값으로 변경

 

이상치 판단 방안

Z-score 표준화

해당 데이터가 평균으로부터 얼마의 표준편차 만큼 벗어나 있는지를 의미한다.

일반적으로 -3이하, 3이상 Z값 관측치는 이상치로 정의한다.

Z = x-mean /(std.dev)

 

IQR(inerquartile Range)

사분위수 개념 기반의 이상치 판단 방안으로 데이터의 흩어짐 정도를 기반으로 이상치를 정의

Min, Max 범위를 벗어난 관측치는 이상치로 정의한다(주식에서의 막대 그래프. 윗꼬리, 아랫꼬리는 이상치,)

 

대부분 데이터 분포에 따라서 이상치 허용 범위가 바뀐다.

최솟값 - 이상치를 제외하고 가장 작은 값(캔들의 아랫꼬리) / Q1 - (1.5*IQR)

 1사분위 수(Q1) - 하위 25%에 해당하는 값(캔들의 아랫부분)

제 2사분위 수(Q2) - 중앙값 (캔들의 중간) / 50%에 해당하는 값

제 3사분위 수(Q3) - 상위 25%에 해당하는 값(캔들의 윗부분)

사분위 범위 수(IQR) - Q3-Q1

최댓값 - 이상치를 제외하고 가장 큰 값(캔들의 윗꼬리) / Q3+(1.5*IQR)

이상치 - 최댓값보다 큰 값과 최솟값보다 작은 값

 

각 피처의 고윳값별 타깃값 비율이 달라야 모델링에 도움이 된다.(0 과 1이 50대 50이면 쓸모 x) - 제거해야 할 피처

 

통계적 유용성이 높아야(신뢰구간이 좁아야) 모델링에 도움이 된다.

통계적 유효성은 barplot()을 그릴 때 나타나는 신뢰구간으로 판단. 

신뢰구간이 좁다면(정확히는 윗꼬리나 아랫꼬리에 튀는 값이 거의 없다면) 유효

 

만약 신뢰구간이 너무 크다면 (상위 25%는 50인데, 윗꼬리가 100에 가있다면.) - 제거해야 할 피처.

 

키 170cm~175cm가 150cm~200cm보다 신뢰성.

 

 

삭제 vs 대체 및 변경

삭제

  • 대체방안이 없거나 이상치 수가 적을 경우에 활용한다.
  • 이상치 값이 의미를 지니지 않을 경우 활용한다.(오히려 모델링에 방해가 되는 경우)
  • 데이터 손실 발생한다.

대체 및 변경

  • 최대한 데이터 활용을 목적으로 한다.
  • 현업 관점에서 정의된 기준을 기반으로 다른 값으로 대체한다.
  • 데이타가 의미를 지닌 경우, 스케일링 변환(log 변환) 등을 활용하여 데이터 간격 조정할 필요가 있다.
  • 현업 관점에서 신중히 고려할 필요가 있다.

 

반응형