본문 바로가기
과학, IT 정보

데이터 노이즈 처리와 데이터 정제(Data Cleaning)를 하는 방법들

by 넘버원리뷰 2024. 3. 17.

1. 데이터 노이즈(Noise)란?

데이터 노이즈는 측정된 변수의 무작위 오류 또는 분산을 나타내고 데이터에 포함된 무작위 오류 또는 불규칙성을 나타냅니다. 이는 데이터에서 의미 있는 신호(signal)를 분리하고 이해하는 과정을 방해할 수 있습니다.
데이터 노이즈는 다음과 같은 이유로 발생할 수 있습니다:

노이즈 발생 이유

  • 데이터 수집 도구의 결함 - 데이터 수집 도구가 제대로 작동하지 않거나 부정확한 값을 기록할 수 있습니다. 예를 들어, 센서가 정확하지 않게 측정할 수 있습니다.
  • 데이터 입력 문제 - 사람이 수동으로 데이터를 입력할 때 발생할 수 있는 오타 또는 오류가 있을 수 있습니다.
  • 데이터 전송 문제 - 데이터가 전송되는 동안 발생할 수 있는 통신 오류나 손실이 발생할 수 있습니다.
  • 기술적 제한 - 기술적 제한으로 인해 데이터가 왜곡되거나 부정확한 값을 가질 수 있습니다.
  • 이름 규칙의 불일치 - 데이터가 서로 다른 이름 규칙을 사용하여 기록되는 경우, 데이터가 혼란스러워질 수 있습니다. 예를 들어, 동일한 속성을 다른 이름으로 여러 번 기록할 수 있습니다.

노이즈로 인한 문제

  • 중복된 레코드 - 동일한 데이터가 두 번 이상 기록되는 경우가 있을 수 있습니다.
  • 불완전한 데이터 - 필요한 정보가 누락되어 있거나 부분적으로 기록된 경우가 있을 수 있습니다.
  • 불일치하는 데이터 - 데이터의 일부가 일치하지 않거나 모순된 경우가 있을 수 있습니다. 예를 들어, 동일한 사건에 대해 다른 시간이 기록되거나 다른 속성값이 관찰될 수 있습니다.

이러한 잡음을 처리하기 위해서는 데이터 정제(Data Cleaning) 과정이 필요하며, 위와 같은 문제를 해결하여 데이터의 품질을 향상하는 데 중요한 역할을 합니다.

 

2. 노이즈가 있는 데이터는 어떻게 처리할까?

아래와 같은 노이즈 처리 방법들은 데이터의 특성과 분석 목적에 따라 선택될 수 있습니다. 또한 데이터의 잡음을 처리하여 데이터의 품질을 향상하고 신뢰할 수 있는 분석 결과를 얻는 데 중요한 역할을 합니다.

  1.  Binning(구간화)
    • 데이터를 정렬하고 정렬된 데이터 값을 이웃하는 값들과 비교하여 부드럽게 처리합니다.
    • 이후 구간 평균값에 의한 부드러움, 구간 중앙값에 의한 부드러움, 구간 경계에 의한 부드러움 등으로 부드럽게 처리합니다.
    • 이웃하는 값들을 고려하여 지역적으로 부드럽게 처리됩니다.
  2. Regression(회귀)
    • 데이터를 회귀 함수에 맞추어 부드럽게 처리합니다.
    • 이 방법은 데이터를 더 정확하게 모델링하여 잡음을 제거하는 데 도움이 될 수 있습니다.
  3. Clustering(군집화)
    • 이상치를 감지하고 제거합니다.
    • 군집화 알고리즘을 사용하여 이상치를 감지하고 제거하는 방법을 채택할 수 있습니다.
  4. Combined computer and human inspection(컴퓨터 및 인간 검토 결합)
    • 컴퓨터 알고리즘이 의심스러운 값을 감지하고, 인간이 해당 값을 검토하고 처리합니다.
    • 예를 들어, 이상치를 처리하거나 데이터의 신뢰성을 높이기 위해 의심스러운 값을 확인하고 처리할 수 있습니다.

3. 데이터 불일치를 감지하는 방법들

데이터의 불일치를 감지하는 데에는 다음과 같은 접근 방법을 통해 데이터의 불일치를 탐지하고 이를 해결하여 데이터의 품질을 향상하는 데 도움을 줄 수 있습니다.

  1. 데이터 속성 및 메타데이터 분석
    • 데이터의 속성과 도메인을 확인하고 각 속성에 대한 허용 가능한 값들을 고려합니다.
    • 메타데이터를 사용하여 데이터의 특성을 이해하고 이를 기반으로 불일치를 식별합니다.
  2. 기초 통계적 데이터 분석
    • 데이터의 기본 통계량을 계산하여 데이터의 추세를 파악하고 이상 현상을 식별합니다.
    • 평균, 중앙값, 최빈값과 같은 통계치를 분석하여 데이터의 분포와 특성을 이해합니다.
    • 데이터가 대칭적인지 또는 비대칭적인지 파악하고 값의 범위 및 표준 편차를 확인합니다.
  3. 이상치 탐지
    • 각 속성에 대한 표준 편차를 계산하고, 평균으로부터 두 표준 편차 이상 떨어진 값들을 이상치로 간주할 수 있습니다.
    • 이상치는 데이터의 비정상적인 동작을 나타낼 수 있으므로 주의 깊게 확인해야 합니다.
  4. 속성 간의 종속성 분석
    • 속성 간의 종속성을 분석하여 불일치를 식별할 수 있습니다.
    • 예를 들어, 속성 간의 관계가 예상과 다를 경우 데이터 불일치가 발생했을 가능성이 있습니다.

4. 데이터 정제(Data Cleaning)란 무엇인가

규칙

데이터 정제(Data Cleaning)는 데이터의 품질을 높이기 위해 다양한 규칙을 적용하는 과정입니다. 특히 다음과 같은 규칙을 적용하여 데이터의 일관성을 유지하고 오류를 방지할 수 있습니다. 이는 데이터를 분석하기 전에 반드시 수행되어야 하는 중요한 단계입니다.

  1. 고유 규칙 (Unique Rule)
    • 각 값이 다른 모든 값과 다르게 하는 규칙입니다.
    • 예를 들어, 고유한 식별자를 갖는 열에서 중복된 값이 있는지 확인합니다.
  2. 연속 규칙 (Consecutive Rule)
    • 최솟값과 최댓값 사이에 누락된 값이 없고, 모든 값이 고유한지 확인하는 규칙입니다.
    • 예를 들어, 수표 번호와 같은 연속적인 값에서 누락된 값이 있는지 확인합니다.
  3. 널 규칙 (Null Rule)
    • 널 조건을 나타내는 빈칸, 물음표, 특수 문자 또는 다른 문자열을 지정하고 해당 값들을 어떻게 처리할지를 지정하는 규칙입니다.
    • 예를 들어, 숫자 속성에는 0을 저장하고 문자 속성에는 공백을 저장하거나 기타 사용되는 규칙을 지정할 수 있습니다.

과정

  1. 데이터 불일치 감지(Data Discrepancy Detection)
    • 메타데이터(도메인, 범위, 종속성, 분포 등)를 사용하여 데이터의 불일치를 감지합니다.
    • 필드 오버 로딩을 확인하고, 고유 규칙, 연속 규칙, 널 규칙을 검사하여 데이터의 불일치를 식별합니다.
    • 상용 도구를 사용하여 데이터를 분석하고 불일치를 감지할 수 있습니다.
  2. 데이터 스크럽(Data Scrubbing)
    • 간단한 도메인 지식(우편 번호, 맞춤법 검사 등)을 사용하여 오류를 감지하고 수정합니다.
    • 예를 들어, 우편 번호가 올바른 형식인지 확인하고 필요한 경우 수정합니다.
  3. 데이터 감사(Data Auditing)
    • 데이터를 분석하여 규칙과 관계를 발견하고 위반자를 감지합니다.
    • 상관관계와 클러스터링을 사용하여 이상치를 찾습니다.
  4. 데이터 이관 및 통합(Data Migration and Integration)
    • 데이터 이관 도구를 사용하여 변환을 지정할 수 있습니다.
    • ETL(추출/변환/로딩) 도구를 사용하여 사용자가 그래픽 사용자 인터페이스를 통해 변환을 지정할 수 있습니다.
  5. 두 과정의 통합(Integration of the Two Processes)
    • 반복적이고 상호 작용적인 과정을 통해 두 가지 과정을 통합할 수 있습니다.
    • 예를 들어, "Potter’s Wheels"와 같은 방법을 사용하여 데이터 정제 및 이관/통합 프로세스를 반복적으로 개선할 수 있습니다.

결론

위의 내용들을 통해 데이터 노이즈가 무엇이고 처리 방법을 데이터 정제 과정을 통해 알아보았습니다. 이는 데이터 분석과 결과의 품질 향상을 위한 전처리 과정에서 필수로 이루어져야 하는 과정 중 하나입니다.