본문 바로가기
빅데이터 분석기사

빅데이터 분석기사 - 데이터 전처리

by 희구리 2020. 12. 13.

데이터 정제

💡 1. 데이터 전처리의 중요성

  • 데이터 전처리는 반드시 거쳐야 하는 과정
  • 전처리 결과가 분석 결과에 직접적인 영향을 주기 때문에 반복적으로 수행해야 함
  • 데이터 정제 → 결측값 처리 → 이상값 처리 → 분석 변수 처리 순서로 진행

※데이터 분석 중 가장 많은 시간이 소요되는 단계 = 데이터 수집 + 전처리(약 80%)

💡 2. 데이터 정제(Data Cleansing) 개념

결측값을 채우거나 이상값을 제거하는 과정을 통해 데이터의 신뢰도를 높이는 작업

💡 3. 데이터 정제 절차

1. 데이터 오류 원인 분석

원인 설명 오류 처리
결측값(Missing Value) 필수 데이터가 입력되지 않고 누락된 값 중심 경향값(평균값, 중앙값, 최빈값)
넣기
분포기반(랜덤에 의해 자주 나타나는 값 넣기) 처리
노이즈(Noise) 실제 입력되지 않았지만 입력되었다고 잘못 판단된 값 평균값 또는 중간값으로 대체
이상값(Outlier) 데이터 범위에서 많이 벗어난 아주 작은 값 또는 아주 큰 값 하한보다 낮으면 하한값 대체
상한보다 높으면 상한값 대체

 

2. 데이터 정제 대상 선정

  • 모든 데이터를 대상으로 정제 활동하는 것이 기본
  • 데이터 품질 저하 위협이 있는 데이터는 더 많은 정제 활동 수행

원천 데이터의 위치를 기준으로 분류했을 때 품질 저하의 위협 크기

  • 외부 데이터 > 내부데이터
  • 비정형 & 반정형 > 정형

3. 데이터 정제 방법 결정

  • 삭제 - 전체 또는 부분 삭제 / 무작위적인 삭제는 데이터 활용의 문제를 일으킬 수 있음(단점)
  • 대체 - 중심 경향값(평균값, 최빈값, 중앙값) 대체 / 오류 데이터가 다른 데이터와 관계가 없으면 왜곡 발생(주의)
  • 예측갑 삽입 - 회귀식 등을 이용해 예측값 생성하여 삽입

💡 4. 데이터 정제 기술

1. 데이터 일관성 유지를 위한 정제 기법

  • 변환(Transform)
    • 다양한 형태로 표현된 값을 일관된 형태로 변환
    • ex) 코드 변환(남/여 → M/F) / 형식 변환(YYYYMMDD → YY/MM/DD)
  • 파싱(Parsing)
    • 데이터를 정제 규칙을 적용하기 위한 유의미한 최소 단위로 분할하는 작업
    • ex) 주민 등록 번호를 생년월일, 성별로 분할
  • 보강(Enhancement)
    • 변환, 파싱, 수정, 표준화 등을 통한 추가 정보를 반영하는 작업
    • ex) 주민 등록 번호를 통해 성별 추출 후 추가 정보 반영

2. 데이터 정제 기술

  • ETL
  • 맵리듀스(Map Reduce)
  • 스파크/스톰
  • CEP(Complex Event Processing)
  • 피그(Pig)
  • 플럼(Flume)

💡 5. 데이터 세분화

데이터를 기준에 따라 나누고, 선택한 매갭녀수를 기반으로 유사한 데이터를 그룹화하여 효율적으로 사용

1. 데이터 세분화 방법

군집화(이질적인 집단을 몇 개의 동질적인 소집단으로 세분화)를 이용

군집 방법은 크게 계층적 방법과 비 계층적 방법으로 구분

 

방법 설명 기법
계층적 방법 사전에 군집 수를 정하지 않고 단계적으로 단계별 군집결과 산출 응집분석법
분할분석법
비 계층적 방법 군집을 위한 소집단의 개수를 정해놓고 각 개체 중 하나의 소집단으로 배정 인공신경망
K-평균 군집화

 

2. 데이터 세분화 방법 상세

  • 응집분석법 : 각 개체를 하나의 소집단으로 간주하고 단계적으로 유사한 소집단들을 합쳐 새로운 소집단 구성
  • 분할분석법 : 전체 집단으로부터 시작하여 유사성이 떨어지는 객체들을 분리
  • 인공신경망 모델 : 기계학습에서 생물학의 신경망으로부터 영감을 얻은 통계학적 학습모델
  • K-평균 군집화 : K개 소집단의 중심좌표를 이용하여 각 개체와 중심좌표 간의 거리를 산출, 가장 근접한 소집단에 배정한 후 해당 소집단의 중심 좌표를 업데이트하는 방식으로 군집화

데이터 결측값 처리

💡 1. 데이터 결측값

  • 입력이 누락된 값
  • NA, 999999, Null 등으로 표현

💡 2. 데이터 결측값 종류

  • 완전 무작위 결측(MCAR; Missing Completely At Random)
    • 변수상에서 발생한 결측값이 다른 변수들과 아무런 상관이 없는 경우
  • 무작위 결측(MAR; Missing At Random)
    • 누락된 자료가 특정 변수와 관련되어 일어나지만, 그 변수의 결과는 관계가 없는 경우
    • 누락이 전체 정보가 있는 변수로 설명이 될 수 있음을 의미(누락이 완전히 설명될 수 있는 경우)
  • 비 무작위 결측(MNAR; Missing Not At Random) 
    • 누락된 값(변수의 결과)이 다른 변수와 연관 있는 경우

💡 3. 데이터 결측값 처리 절차

1. 결측값 식별

2. 결측값 부호화 - 파악된 정보를 바탕으로 컴퓨터가 처리 가능한 형태(NA, NaN, inf, Null)로 부호화

3. 결측값 대체 - 결측값 자료형에 맞춰 대체 알고리즘을 통해 결측값 처리

💡 4. 데이터 결측값 처리 방법

1. 단순 대치법

  • 결측값을 그럴듯한 값으로 대체하는 통계적 기법
  • 사용하기 쉽고, 통계량의 효율성 및 일치성 등의 문제를 부분적으로 보완

단순 대치법 종류

  • 완전 분석법 : 완전하게 관측된 자료만 사용(불완전 자료 무시)
  • 평균 대치법 : 평균값으로 결측값을 대치 / 비 조건부 평균 대치법(평균)과 조건부 평균 대치법(회귀분석)이 있음
  • 단순 확률 대치법
    • 핫덱(Hot-Deck)대체 : 현재 진행중인 연구에서 '비슷한' 성향을 가진 응답자의 자료로 대체
    • 콜드덱(Cold-Deck)대체 : 핫덱과 비슷하나 대체할 자료를 현재 진행 중인 연구가 아닌 외부 출처 또는 이전의 비슷한 연구에서 가져오는 방법 
    • 혼합 방법 : 몇 가지 다른 방법을 혼합

2. 다중 대치법

  • 단순 대치법을 한 번 하지 않고 m번 대치를 통해 m개의 가상적 완전한 자료를 만들어서 분석
  • 대치 → 분석 → 결합의 3단계
  • 원 표본의 결측값을 한 번 이상 대치된 표본으로 만들어야 함 → 항상 같은 값으로 결측 자료를 대치할 수 없음
  • 여러 번의 대체 표본으로 대체 내 분산대체 간 분산을 구하여 추정치의 총 분산을 추정하는 방법

 

다중 대치법 적용 방식

1. 대치 : 결측 자료의 예측분포 또는 사후분포에서 추출된 값으로 결측값을 대치 / 다중 대치 방법은 베이지안 방법 이용

2. 분석 : D(>= 2)개의 대치 표본으로부터 원하는 분석을 각각 수행

3. 결합 : 모수의 점 추정과 표준 오차의 추정치를 D개 구한 후 이들을 결합하여 하나의 결과를 제시

 


데이터 이상값 처리

💡 1. 데이터 이상값 발생 원인

  • 데이터 입력 오류 : 수집 과정에서 발생할 수 있는 에러 / 전체 데이터 분포를 보면 쉽게 발견 가능
  • 측정 오류 : 데이터 측정 과정에서 발생하는 오류
  • 실험 오류 : 실험조건이 동일하지 않은 경우 발생
  • 고의적인 이상값 : 자기 보고식 측정에서 나타나는 에러 / 정확하게 기입한 값이 이상값으로 보일 수도 있음
  • 표본추출 에러 : 데이터를 샘플링하는 과정에서 나타나는 에러 / 샘플링을 잘못한 경우

💡 2. 데이터 이상값 검출 방법

1. 개별 데이터 관찰

  • 전체 데이터 추이나 특이사항 관찰
  • 전체 데이터 중 무작위 표본 추출하여 관찰

2. 통계 기법 이용

  • ESD
  • 기하 평균
  • 사분위 수
  • 표준화 점수(Z-Score)
  • 딕슨의 Q 검정
  • 그럽스 T-검정
  • 카이제곱 검정

3. 시각화 이용

  • 확률 밀도 함수
  • 히스토그램
  • 시계열 차트

4. 머신러닝 기법 이용

  • K-평균 군집화 - K개의 클러스터로 묶는 알고리즘 / 클러스터와 거리 차이의 분산을 최소화

5. 마할라노비스 거리

  • 데이터의 분포를 고려한 거리 측도 / 관측치가 평균으로부터 벗어난 정도를 측정

6. LOF(Local Outlier Factor)

  • 관측치 주변의 밀도와 근접한 관측치 주변의 밀도의 상대적인 비교를 통해 이상값을 탐색

7. iForest(Isolation Forest)

  • 거리 또는 밀도에 의존하지 않고, 데이터 마이닝 기법인 의사결정나무를 이용
  • 관측치를 고립시켜나가면서 분할 횟수로 이상값 탐색
  • 데이터의 평균적인 관측치와 멀리 떨어진 관측치일수록 적은 횟수의 공간 분할을 통해 고립 가능
  • 적은 횟수로 잎(Leaf) 노드에 도달하는 관측치일수록 이상값일 가능성이 큼

💡 3. 데이터 이상값 처리

이상값은 반드시 제거하는 것은 아니다 → 분석의 목적에 따라 적절한 판단이 필요

 

데이터 이상값 처리 기법

1. 삭제

  • 이상값으로 판단되는 관측값 제외하고 분석 / 단점 : 실제보다 과소(또는 과대) 추정되어 편의 발생
  • 양극단의 값을 절단(Trimming)하기도 함 → 기하평균을 이용한 제거 또는 하단, 상단 %를 이용한 제거
  • 이상값 제외는 현실을 제대로 반영하는 방법으로 적절하지 않을 수 있음

2. 대체법(Imputation)

  • 하한값, 상한값 결정 후 하한값보다 작으면 하한값으로 대체 상한값보다 크면 상한값으로 대체
  • 결측값 처리에 관한 내용과 동일

3. 변환(Transformation)

  • 극단적인 값으로 인한 이상값을 자연로그를 취해서 감소시키는 방법(실제값을 변형)

4. 박스 플롯 해석을 통한 이상값 제거

  • 수염(Whiskers) 밖에 있는 값을 이상값으로 판단하여 값을 제거
    • 수염 : Q1, Q3로부터 IQR의 1.5배 내에 있는 가장 멀리 떨어진 데이터까지 이어진 선

5. 분류하여 처리

  • 이상값이 많을 경우 사용하는 방법
  • 서로 다른 그룹으로 통계적인 분석을 실행하여 처리
  • 각각의 그룹에 대해 통계적인 모형을 생성 → 결과를 결합

 

'빅데이터 분석기사' 카테고리의 다른 글

빅데이터 분석기사 - 용어정리  (0) 2020.12.12

댓글