데이터 정제
💡 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 |
---|
댓글