Data Science - 이상 데이터 처리

cosmosJ·2024년 2월 6일

데이터 분석

목록 보기
9/26
post-thumbnail

이상치(Outlier)

관측된 데이터 내 전체적 패턴에서 아주 작게 혹은 아주 크게 벗어난 값
(ex. 데이터는 존재하나, 기존 추세에서 크게 벗어나 위치하는 값)

이상치는 데이터 분석 과정 및 결과에 영향을 미치 분석 결과가 왜곡될 수 있기에 처리되어야 한다.

이상치 유형

이상치의 유형은 잘못 수집되거나, 실제 극단치의 값을 지닌 경우로 발생 가능하다.

  • 오류 데이터 : 센서 혹은 시스템 오류로 잘못된 값 수집

    • ex. 과속 단속 카메라에 잘못된 과속으로 데이터 수집
  • 실제 데이터 : 극단적 관측치로 인해 일반적 관측 범위를 벗어남.
    (실제 오류는 없는 데이터이지만, 극단적인 값)

    • ex. 특정 학과의 학생들의 졸업생 평균 연봉이 25만불(3억)
      (마이클 조던이 포함되어 있었음.)

이러한 이상치는 전체적인 패턴을 깨뜨려 자료를 왜곡시켜, 데이터 전처리 과정에서 처리가 필요하다.

문제는 데이터가 잘못된 데이터인지 아닌지 구분하기가 쉽지 않음.

이상치 처리 프로세스

이상치 처리 프로세스의 대략적인 큰 흐름은 아래와 같다.

  • 통계적 방안 (데이터 관점)
    • 통계적 연산 기반의 데이터의 허용적 관측 범위 지정을 통한 이상치 판단 (Z-Score, IQR)
  • 인적 판단 방안 (비즈니스 관점)
    • 현업 관리자의 데이터 및 비즈니스 관점 기반의 이상치 여부 판단
      (실제 데이터를 보고, 관리자가 직접 판단)

위의 관점을 개별 또는 함께 활용하여 이상치를 판단한 뒤,

  • 이상치 처리 (삭제, 대체 등의 방안 적용) 가 발생한다.

이상치 판단 방안

이상치 판단 방안 중 통계적 방안에 대해 살펴본다.

  • Z-Score
    • 데이터 분포를 정규분포로 변환하여, 각 관측값이 데이터의 평균으로부터 얼마의 표준편차로 벗어나 있는지를 나타냄.
    • 일반적으로 -3 이하, 3이상의 Z값 관측치는 이상치로 정의한다.
    • Z=xmeanstd.devZ = \frac{x - mean}{std.dev}
  • IQR
    • 사분위수 개념 기반의 판단 기법이다.
    • 1분위수와 3분위수 사이의 차이를 IQR로 표시한다.
    • 이 IQR값을 기반으로 최소값과 최대값을 결정하고, 벗어난 값을 이상치로 판단한다.
    • IQR은 데이터의 분포에 따라 변화하므로, 데이터 분포에 따라 이상치 허용 범위도 변화한다.

이상치 처리 방안

이상치 처리는 삭제 또는 대체의 방식으로 처리된다.

  • 삭제

    • 대체 방안이 없거나, 이상치 수가 적은 경우 활용
    • 이상치 값이 의미를 지니지 않을 경우 활용
    • 데이터 손실 발생
  • 대체 or 변경

    • 최대한 데이터활용을 목적으로 할 경우 활용

    • 현업 관점에서 정의된 기준 기반의 다른값으로 대체

      ex. 5만불 이상은 의미를 가지기 힘드므로, 이상치들을 다 5만불로 설정. (이러한 대체는 데이터 관련 지식이 필요 + 비즈니스 관점 기준 및 논의기 필요)

      또한 해당 데이터를 대체하지 않고, 그대로 활용해야 하는 경우, 데이터 간격을 조정하는 스케일링 변환을 활용할 수 있다.

    • 데이터가 의미를 지닐 경우 Log 변환 등을 활용한 데이터 간격 조정으로 변경

      연속형 데이터의 경우에는 데이터 값의 범위와 극단치 값에 의해서 분석 결과 왜곡이 발생할 수 있으므로, 해당 데이터 간격을 조정할 필요가 있다. 이 때 Log 변환을 사용할 수 있다.

    • 데이터의 변경 및 대체는 데이터를 바꾸는 것이기에, 현업/데이터 관점을 신중히 고려하여 적용 필요

실습 코드

profile
백엔드, Data Science, AI 분야 학습 내용을 정리하는 블로그입니다.

0개의 댓글