4 분 소요

키워드🔑
데이터 전처리, 데이터 정제, 데이터 세분화, 결측값, 단순 대치법, 다중 대치법

01. 데이터 전처리

1. 데이터 정제

1) 데이터 정제


(1) 데이터 전처리의 중요성

  • 데이터 전처리는 반드시 거쳐야 하는 과정
  • 분석 결과에 직접 영향을 주므로, 반복적인 전처리 수행 필요
  • 데이터 분석의 단계 중 가장 많은 시간 소요 전체 중 80% 정도
  • 데이터 전처리 순서: 데이터 정제 → 결측값 처리 → 이상값 처리 → 분석 변수 처리


(2) 데이터 정제 개념
📌 오류 데이터값을 정확한 데이터로 수정하거나 삭제하는 과정

  • 데이터 정제(Data Cleansing)
    • 결측값을 채우거나 이상값을 제거하여
    • 데이터 신뢰도를 높이는 작업


(3) 데이터 정제 절차
📌 데이터 오류 원인 분석 → 정제 대상 선정 → 정제 방법 결정

  • 오류 원인 분석: 결측값 / 노이즈 / 이상값
    • 결측값(Missing Value): 누락된 값(입력 X)
      • 처리 방법: 평균값, 중앙값, 최빈값 등의 중심 경향값 넣기, 분포 기반 처리
    • 노이즈(Noise): 잘못 판단된 값(입력되지 않았는데, 입력되었다고 판단됨)
      • 처리 방법: 일정 간격으로 이동하면서 평균값 대체, 일정 범위 중간값 대체
    • 이상값(Outlier): 범위에서 많이 벗어난 값(지나치게 작은 값 or 큰값 )
      • 처리 방법: 하한보다 낮으면 하한값, 상한보다 높으면 상한값 대체
  • 정제 대상 선정: 모든 데이터를 대상으로 정제 활동
    • 품질 저하 위협이 있는 데이터는 더 많은 정제
    • 품질 저하 위협: 내부 < 외부 / 정형 < 비정형 & 반정형
  • 정제 방법 결정: 삭제 / 대체 / 예측값 삽입
    • 정제 여부 결정: 정제 규칙을 이용하여 검색
      • 노이즈, 이상값은 비정형 데이터에서 특히 자주 발생함
    • 삭제: 오류 데이터 부분 or 전체 삭제
    • 대체: 평균값, 최빈값, 중앙값 대체
    • 예측값 삽입: 회귀식 등을 이용하여 예측값 생성


(4) 데이터 정제 기술

  • 데이터 일관성 유지를 위한 정제 기법
    📌 변환 / 파싱 / 보강
    • 다른 시스템에서 들어온 데이터에 일관성 부여
    • 변환(Transform): 다양한 형태 → 일관된 형태로 변환
      • ex) YYYYMMDD → YY/MM/DD
    • 파싱(Parsing): 유의미한 최소 단위로 분할(정제 규칙을 적용하기 위함)
      • ex) 주민등록번호 → 생년월일, 성별
    • 보강(Enhancement): 변환, 파싱, 수정, 표준화 등을 통한 추가 정보를 반영
      • ex) 주민등록번호 → 성별 추출 후 반영
  • 데이터 정제 기술
    📌 ETL / 맵리듀스 / 스파크 / 스톰 / CEP / 피그 / 플럼
    • 분산 처리 시스템을 기반으로 정제
      성능 보장을 위해 인메모리 기반 기술을 사용하기도 함
      정제된 후, 데이터 변경(분석)에 활용됨
    • ETL: 데이터를 추출 → 가공 → 데이터 웨어하우스, 데이터 마트에 저장
    • 맵리듀스: 대용량 데이터셋을 분산, 병렬 컴퓨팅 처리
      • 모든 데이터를 키-값 쌍으로 구성
      • (맵: 데이터 추출) + (리듀스: 중복 없게 처리)
      • 배치 형태: 많은 데이터 처리 시 성능 느림
    • 스파크/스톰: 인메모리 기반 데이터 처리 방식
      • 스파크: 맵리듀스 기반으로 성능 개선, 실시간, 배치 처리 둘다 가능
    • CEP(Complex Event Processing): 실시간 이벤트 처리에 대한 결괏값 수집, 처리
      • 실시간 데이터: IoT 센싱 데이터, 로그, 음성 데이터 등
    • 피그(Pig): 대용량 데이터 집합을 분석하기 위한 플랫폼
      • 피그 라틴이라는 자체 언어 제공
    • 플럼(Flume): 로그 데이터를 수집, 처리하는 기법
      • 실시간에 근접하게 처리함


(5) 데이터 세분화(Data Segmentation)

  • 데이터 세분화 개념
    • 데이터를 기준에 따라 나누고
    • 선택한 매개변수를 기반으로
    • 유사한 데이터를 그룹화한다.
  • 데이터 세분화 방법: 응집분석법 / 분할분석법 / 인공신경망 모델 / K-평균 군집화
    • 군집화: 이질적인 집단을 몇개의 동질적인 소집단으로 세분화
      • 군집화 방법: 계층적, 비 계층적 방법으로 구분
    • 계층적 방법: 응집분석법, 분할분석법
      • 응집분석법: 각 객체를 하나의 소집단으로 간주 → 유사한 소집단을 합침
      • 분할분석법: 전체 집단에서 시작 → 유사성 떨어지는 객체를 분리
    • 비 계층적 방법: 인공신경망 모델, K-평균 군집화
      • 인공신경망 모델: 생물학의 신경망으로부터 영감을 얻은 통계학적 학습모델
      • K-평균 군집화: K개 소집단의 중심좌표의 각 객체 간의 거리를 계산 → 중심좌표 업데이트

2) 데이터 결측값 처리


(1) 데이터 결측값 개념

  • 데이터 결측값(Missing Value): 입력이 누락된 값
    • NA, 999999, Null


(2) 데이터 결측값 종류
📌 완전 무작위 결측 / 무작위 결측 / 비 무작위 결측

  • 완전 무작위 결측(MCAR): 결측값이 다른 변수들과 아무 상관 없음
    • ex) Y가 누락될 확률은 X또는 Y와 관련이 없다
  • 무작위 결측(MAR): 특정 변수와 관련되어 일어남, 변수의 결과는 관계 없음
    • ex) Y가 누락될 확률은 X의 값에만 의존한다
  • 비 무작위 결측(MNAR): 누락된 값(변수의 결과)이 다른 변수와 관계 있음
    • ex) Y가 누락될 확률은 Y 자체의 관찰되지 않는 값에 달려 있다


(3) 데이터 결측값 처리 절차
📌 결측값 식별 → 부호화 → 대체

  • 결측값 식별(Identify): 데이터 형태와 현황 파악
  • 결측값 부호화(Encode): 컴퓨터 처리 가능한 형태로 부호화 → NA, NaN, inf, NULL
    • NA: 기록되지 않은 값(Not Available)
    • NaN: 수학적으로 정의되지 않은 값(Not a Number)
    • inf: 무한대(infinite)
    • NULL: 값이 없음
  • 결측값 대체(Impute): 대체 알고리즘을 통해 결측값 처리


(4) 데이터 결측값 처리 방법

  • 단순 대치법(Single Imputation): 결측값을 그럴 듯한 값으로 대체하는 통계적 기법
    • 통계량의 효율성, 일치성 등을 부분적으로 보완해줌
    • 대체된 자료는 결측값 없이 완전한 형태
  • 단순 대체법의 종류
    📌 완전 분석법 / 평균 대치법 / 단순 확률 대치법
    • 완전 분석법: 불완전 자료는 완전 무시, 완전하게 관측된 자료만 사용 → 효율성 상실, 통계적 추론의 타당성 문제 발생
    • 평균 대치법: 얻어진 자료의 평균값으로 결측값을 대치
      • 비 조건부 평균 대치법: 평균값으로 대치
      • 조건부 평규 대치법: 회귀분석을 활용하여 겶측값 대치
    • 단순 활률 대치법: 확률값을 부여한 후 대치
      • 핫덱 대체(Hot-Deck): 현재 진행 중인 연구에서 비슷한 성향을 가진 응답자의 자료로 무응답을 대체
      • 골드덱 대체(Cold-Deck): 외부 출처, 이전의 비슷한 연구에서 가져온 자료로 대체
      • 혼합 방법: 몇 가지 다른 방법을 혼합
  • 다중 대치법(Multiple Imputation)
    • 다중 대치법 개념
      • 단순 대치법을 1번 이상, m번 대치
      • m개의 대치된 표본을 구하는 방법
      • 3단계: 대치 → 분석 → 결함
    • 여러 번의 대체 표본으로 대체 내 분산, 대체 간 분산을 구하여 추정치의 총 분산을 추정하는 방법

댓글남기기