Article 3. 데이터 이상값 처리 2113
Section 1. 데이터 정제
Paragraph 1. 데이터 이상값(Data Outlier) 개념
- 데이터 이상값은 관측된 데이터의 범위에서 많이 벗어난 아주 작은 값이나 아주 큰 값을 말한다.
- 데이터 이상값은 입력 오류, 데이터 처리 오류 등의 이유로 특정 범위에서 벗어난 데이터값을 의미한다.
Paragraph 2. 데이터 이상값 발생 원인
-
데이터 입력 오류
-
데이터를 수집하는 과정에서 발생할 수 있는 에러
-
전체 데이터의 분포를 보면 쉽게 발견 가능
예) 100을 입력해야 하는데, 1000을 입력하면 10배의 값으로 입력
-
-
측정 오류
-
데이터를 측정하는 과정에서 발생하는 에러
예) 몸무게를 측정하는데, 9개의 체중계는 정상 작동, 1개는 비정상 작동을 한다고 가정할 때, 한 사용자가 비정상적으로 작동하는 체중계를 이용할 경우 에러 발생
-
-
실험 오류
-
실험조건이 동일하지 않은 경우 발생
예) 100미터 달리기를 하는데, 한 선수가 ‘출발’ 신호를 못 듣고 늦게 출발했다면 그 선수의 기록은 다른 선수들보다 늦을 것이고, 그의 경기시간은 이상값이 될 수 있음
-
-
고의적인 이상값
-
자기 보고식 측정(Self Reported Measures)에서 나타나는 에러
-
정확하게 기입한 값이 이상값으로 보일 수도 있음
예) 음주량을 묻는 조사가 있다고 가정했을 때 10대 대부분은 자신들의 음주량을 적게 기입할 것이고, 오직 일부만 정확한 값을 적는 경우 발생
-
-
표본추출 에러
-
데이터를 샘플링 하는 과정에서 나타나는 에러
-
샘플링을 잘못한 경우
예) 대학 신입생들의 키를 조사하기 위해 샘플링을 하는데, 농구선수가 포함되었다면 농구선수의 키는 이상값이 될 수 있음
-
Paragraph 3. 데이터 이상값 검출 방법
-
개별 데이터 관찰
- 전체 데이터의 추이나 특이 사항을 관찰하여 이상값 검출
- 전체 데이터 중 무작위 표본 추출 후 관찰하여 이상값 검출
-
통겟값
- 통계 지표 데이터(평균, 중앙값, 최빈값)와 데이터 분산도(범위, 분산)를 활용한 이상값 검출
-
시각화
-
데이터 시각화(Data Visualization)를 통한 지표 확인으로 이상값 검출
예) 확률 밀도 함수, 히스토그램, 시계열 차트
-
-
머신 러닝 기법
-
데이터 군집화를 통한 이상값 검출
예) K-평균 알고리즘
-
-
마할라노비스 거리(Mahalanobis Distance) 활용
- 데이터의 분포를 고려한 거리 측도로, 관측치가 평균으로부터 벗어난 정도를 측정하는 통계량 기법
-
LOF(Local Outlier Factor)
- 관측치 주변의 밀도와 근접한 관측치 주변 밀도의 상대적인 비교를 통해 이상값을 탐색하는 기법
-
iForest(Isolation Forest)
- 관측치 사이의 거리 또는 밀도에 의존하지 않고, 데이터 마이닝 기법인 의사결정나무(Decision Tree)를 이용하여 이상값을 탐지하는 방법
Subparagraph 1. 통계 기법을 이용한 데이터 이상값 검출
-
ESD(Extreme Studentized Deviation)
-
평균(μ)으로부터 3 표준편차(σ) 떨어진 값(각 015%)을 이상값으로 판단
μ - 3σ < data < μ + 3σ
-
-
기하평균 활용한 방법
-
기하평균으로부터 2.5 표준편차(σ) 떨어진 값을 이상값으로 판단
기하평균 - 2.5 × σ < data < 기하평균 + 2.5 × σ
-
-
사분위 수를 이용한 방법
-
제1 사분위, 제3 사분위를 기준으로 사분위 간 범위(Q_3 - Q_1)의 1.5배 이상으로 떨어진 값을 이상값으로 판단
Q_1 - 1.5 × (Q_3 - Q_1) < data < Q_3 + 1.5 × (Q_3 - Q_1)
-
-
표준화 점수(Z-Score)를 활용한 이상값 검출
- 평균이 μ이고, 표준편차가 σ인 정규 분포를 따르는 관측치들이 자료의 중심(평균)에서 얼마나 떨어져 있는지를 나타냄에 따라서 이상값을 검출
-
딕슨의 Q 검정(Dixon Q-Test)
- 오름차순으로 정렬된 데이터에서 범위에 대한 관측치 간의 차이의 비율을 활용하여 이상값 여부를 검정하는 방법
- 데이터 수가 30개 미만인 경우에 적절한 방법
-
그럽스 T-검정(Grubbs T-Test)
- 정규 분포를 만족하는 단변량 자료에서 이상값을 검정하는 방법
-
카이제곱 검정(Chi-Square Test)
- 카이제곱 검정은 데이터가 정규 분포를 만족하거나, 자료의 수가 적은 경우에 이상값을 검정하는 방법
Subparagraph 2. 시각화를 통한 데이터 이상값 검출
확률 밀도 함수, 히스토그램, 시계열 차트 등을 이용한 데이터 시각화를 통해 이상값을 검출할 수 있다.
- 확률 밀도 함수
- 확률 변수의 분포를 보여주는 함수
- 히스토그램
- 주로 x축에 계급 값을, y축에 각 계급에 해당하는 자료의 수치를 표시
- 시계열 차트
- 시간에 따른 자료의 변화나 추세를 보여주는 그래프
Subparagraph 3. 머신 러닝 기법을 이용한 데이터 이상값 검출
- 주어진 데이터를 K개의 클러스터로 묶는 알고리즘으로, 각 클러스터와 거리 차이의 분산을 최소화하는 방식으로 동작한다.
- 머신 러닝 기법을 이용한 데이터를 군집화시키는 기법 등을 활용하여 이상값을 검출할 수 있다.
Subparagraph 4. 마할라노비스 거리(Mahalanobis Distance)를 활용한 이상값 탐색
- 마할라노비스 거리는 데이터의 분포를 고려한 거리 측도로, 관측치가 평균으로부터 벗어난 정도를 측정하는 통계량 기법이다.
- 데이터의 분포를 측정할 수 있는 마할라노비스 거리를 이용하여 평균으로부터 벗어난 이상값을 검출할 수 있다.
- 이상값 탐색을 위해 고려되는 모든 변수 간에 선형관계를 만족하고, 각 변수들이 정규 분포를 따르는 경우에 적용할 수 있는 전통적인 접근법이다.
Subparagraph 5. LOF(Local Outlier Factor)
- LOF는 관측치 주변의 밀도와 근접한 관측치 주변의 밀도의 상대적인 비교를 통해 이상값을 탐색하는 기법이다.
- 각 관측치에서 k번째 근접 이웃까지의 거리를 산출하여 해당 거리 안에 포함되는 관측치의 개수를 나눈 역수 값으로 산출한다.
Subparagraph 6. iForest(Isolation Forest)
- iForest 기법은 관측치 사이의 거리 또는 밀도에 의존하지 않고, 데이터 마이닝 기법인 의사결정나무를 이용하여 이상값을 탐지하는 방법이다.
- 의사결정나무 기법으로 분류 모형을 생성하여 모든 관측치를 고립시켜나가면서 분할 횟수로 이상값을 탐색한다.
- 데이터의 평균적인 관측치와 멀리 떨어진 관측치일수록 적은 횟수의 공간 분할을 통해 고립시킬 수 있다.
- 의사결정나무 모형에서 적은 횟수로 잎(Leaf) 노드에 도달하는 관측치일수록 이상값일 가능성이 크다.
Paragraph 4. 데이터 이상값 처리
- 이상값을 반드시 제거해야 하는 것은 아니므로 이상값을 처리할지는 분석의 목적에 따라 적절한 판단이 필요하다.
- 데이터 이상값 처리 기법에는 삭제, 대체법, 변환, 박스 플롯 해석을 통한 이상값 제거 방법, 분류하여 처리가 있다.
Subparagraph 1. 삭제(Deleting Observations)
- 이상값으로 판단되는 관측값을 제외하고 분석하는 방법으로, 추정치의 분산은 작아지지만 실제보다 과소(또는 과대) 추정되어 편의가 발생할 수 있다.
- 이상값을 제외시키기 위해 양극단의 값을 절단(Trimming)하기도 한다.
- 이상값 자료도 실제 조사된 수치이므로 이상값을 제외하는 것은 현실을 제대로 반영하는 방법으로 적절하지 않을 수도 있다.
-
기하평균을 이용한 제거
-
기하평균은 여러 개의 수를 연속으로 곱하여 그 개수의 거듭제곱근으로 구함
기하평균 = (a_1 * a_2 * … * a_n)^(1/n)
-
-
하단, 상단 % 이용한 제거
- 10% 절단(상하위 5%에 해당되는 데이터 제거)
- 극단값 절단 방법을 활용해 데이터를 제거하는 것보다는 극단값 조정 방법을 활용하는 것이 데이터 손실률도 적고, 설명력도 높아진다.
Subparagraph 2. 대체법(Imputation)
-
하한값고 상한값을 결정한 후 하한값보다 작으면 하한값으로 대체하고 상한값보다 크면 상한값으로 대체한다.
예) ESD를 사용할 경우 상한값은 μ + 3σ, 하한값은 μ - 3σ
-
이상값을 평균이나 중앙값 등으로 대체하는 방법이다.
-
대체법은 ‘데이터의 결측값(Missing Value) 처리’에 관한 내용과 동일하다.
Subparagraph 3. 변환(Transformation)
- 데이터의 변환은 극단적인 값으로 인해 이상값이 발생했다면 자연로그를 취해서 값을 감소시키는 방법으로 실젯값을 변형하는 것이다.
- 상한값과 하한값을 벗어나는 값들을 하한, 상한값으로 바꾸어 활용하는 극단값 조정(Winsorizing) 방법도 활용된다.
Subparagraph 4. 박스 플롯 해석을 통한 이상값 제거 방법
- 박스 플롯(Box-Plot) 해석을 통한 이상값 제거 방법에는 사분위 수를 이용해서 제거하는 방법을 사용한다.
구성요소 | 설명 |
---|---|
하위 경계 | • 제1 사분위에서 1.5 IQR을 뺀 위치 |
최솟값 | • 하위 경계 내의 관측치의 최솟값 |
제1 사분위(Q_1) | • 자료들의 하위 25%의 위치를 의미 |
제2 사분위(Q_2) | • 자료들의 50%의 위치로 중위수(Median)를 의미 • 두꺼운 막대로 가시성을 높여서 표현 |
제3 사분위(Q_3) | • 자료들의 하위 75%의 위치를 의미 |
최댓값 | • 상위 경계 내의 관측치의 최댓값 |
상귀 경계 | • 제3 사분위에서 IQR의 1.5배 위치 |
수염(Whiskers) | • Q_1, Q_3로부터 IQR의 1.5배 내에 있는 가장 멀리 떨어진 데이터까지 이어진 선 |
이상값(Outlier) | • 수염보다 바깥쪽에 데이터가 존재한다면, 이상값으로 분류 |
- 이상값을 구하기 위해서는 수염을 이용하게 되고, 수염 밖에 있는 값을 이상값으로 판단하여 그 값을 제거한다.
Subparagraph 5. 분류하여 처리
- 이상값이 많을 경우에 사용하는 방법으로 서로 다른 그룹으로 통계적인 분석을 실행하여 처리한다.
- 각각의 그룹에 대해서 통계적인 모형을 생성하고, 결과를 결합하는 방법을 사용한다.
Clause 1. 여러 개의 이상값이 하나의 그룹을 형성하는 데이터의 형태를 보여줌
Clause 2. 이상값을 분류하여 처리
- 이상값이 많은 경우 두 변수 간의 관계를 직선으로 표현한 그림으로 하나의 데이터 세트를 분석한 경우와 서로 다른 그룹으로 하여 각각 분석한 경우를 보여준다.