“이상치(Outlier)”란 데이터 세트에서 다른 관찰값들과 크게 다른 값을 가진 관찰 결과를 말한다. 이상치는 데이터 수집, 측정 오류 또는 실제 변동성으로 인해 발생할 수 있으며, 데이터 분석의 정확성과 모델의 성능에 영향을 미칠 수 있다.
이상치 식별 방법
통계적 방법
- Z-점수(Z-Score): 데이터 포인트의 Z-점수는 평균으로부터 얼마나 멀리 떨어져 있는지를 표준편차 단위로 나타내며, 일반적으로 Z-점수가 ±3 이상이면 이상치로 간주한다.
- IQR(Interquartile Range): 데이터의 25% 지점()과 75% 지점() 사이의 범위()를 사용한다.
보다 작거나 보다 큰 값은 이상치로 간주될 수 있다. - 위 방법들은 정규 분포를 따르는 데이터에 특히 효과적이다.
시각적 방법
- 상자 그림(Box Plot): 데이터의 분포를 시각적으로 나타내며, IQR 밖의 데이터 포인트는 이상치로 표시된다.
- 산점도(Scatter Plot): 데이터 포인트 간의 관계를 시각화하여 이상치를 식별할 수 있다.
이상치 처리 방법
이상치 제거
- 이상치가 데이터 오류나 적절하지 않은 값일 경우 제거한다. 그러나 이 방법은 유용한 정보의 손실을 초래하여 데이터의 표본 크기를 줄일 수 있으며, 이로 인해 통계적 검정력이 감소할 수 있다.
이상치 변환
- 로그 변환: 데이터에 로그 변환을 적용하여 극단적인 값을 완화할 수 있다.
- Winsorizing: 데이터의 극단적인 값을 상한값 또는 하한값으로 대체할 수 있다.
이상치 분리
- 이상치를 별도의 그룹으로 분리하여 분석할 수 있으며, 이상치가 데이터에 중요한 정보를 포함하고 있을 때 유용하다.
머신러닝 기반 접근
Isolation Forest
‘Isolation Forest’는 Regression Decision Tree를 기반으로 동작하며, 특히 이상치 탐지에 효과적인 알고리즘이다. 무작위로 선택된 속성을 기반으로 데이터 포인트를 격리한다.
- 작동 원리:
- 이 알고리즘은 무작위로 특정 속성을 선택하고, 선택된 속성의 값 범위 내에서 무작위 분할 값을 생성한다.
- 이 과정은 데이터 포인트를 격리할 때까지 반복된다.
- 정상적인 데이터 포인트는 격리되기까지 더 많은 단계를 거치는 반면, 이상치는 더 적은 단계로 격리된다.
- 장점:
- 이상치를 빠르고 효율적으로 탐지할 수 있다.
- 파라미터 조정이 상대적으로 간단하다.
- 대규모 데이터셋에서도 빠르게 작동한다.
- 단점:
- 데이터의 구조나 분포에 따라 성능이 달라질 수 있다.
- 무작위성에 기반하기 때문에 결과가 다소 불안정할 수 있다.
- 활용
- 대규모 데이터셋에서 이상치를 빠르게 탐지하는 데 유용하므로, 금융 사기 탐지, 네트워크 보안, 공장의 결함 제품 탐지 등 다양한 분야에서 활용된다.
DBSCAN (Density-Based Spatial Clustering of Applications with Noise)
‘DBSCAN’은 밀도 기반의 군집화 알고리즘으로, 이상치 탐지에도 사용되고 있다.
- 작동 원리:
- 데이터 포인트의 밀도를 기반으로 군집을 형성한다.
- 각 데이터 포인트에서 설정된 거리 내에 설정된 최소 개수의 다른 포인트가 있을 경우, 해당 포인트는 핵심 포인트로 간주한다.
- 핵심 포인트들이 서로 연결되어 군집을 형성하며, 이와 연결되지 않은 포인트는 이상치로 분류한다.
- 장점:
- 밀도 기반 접근으로 군집의 형태와 크기에 제한이 없다.
- 모델이 두 개의 주요 파라미터(
eps
와min_samples
)에 의존한다. - 노이즈와 이상치에 강하며, 노이즈를 자연스럽게 제거한다.
- 단점:
- 모든 변수의 거리 척도가 같은 중요도를 가질 때 가장 잘 작동합니다. 따라서 스케일링이 중요하다.
eps
와min_samples
파라미터 선택이 결과에 큰 영향을 미치게 된다.- 데이터의 밀도가 일정하지 않은 경우 성능이 저하될 수 있다.
- 활용
- 복잡한 구조의 데이터에서 이상치를 탐지하는 데 유용하므로, 지리적 데이터 분석, 바이오인포매틱스, 이미지 분석 등에서 이상치를 탐지하고 군집화하는 데 사용된다.
결론
이상치 처리는 데이터의 특성과 분석 목표에 따라 달라진다. 이상치가 문제의 원인이 될 수 있지만 때로는 중요한 정보를 제공할 수도 있으므로, 이상치를 단순히 제거하는 것이 아니라, 이들이 데이터에 어떤 영향을 미치는지 신중하게 고려한 후 적절한 처리 방법을 선택해야 한다.
예를 들어, 이상치가 중요한 비즈니스 인사이트를 제공할 수 있거나, 특정 질병의 진단과 같은 의료 데이터에서 중요한 역할을 할 수 있다.
또한, 이상치를 처리하기 전에 이상치의 원인을 파악하는 것이 중요하다. 데이터 수집 과정의 오류인지, 아니면 실제 현상을 반영하는 것인지 이해하는 것이 중요하며, 이를 통해 보다 정확한 데이터 분석이 가능해진다.
마지막으로, 이상치 처리는 데이터 전처리 과정의 중요한 부분이며, 이를 통해 데이터의 품질을 높이고 분석의 정확도를 향상시킬 수 있다. 따라서 데이터 분석가나 데이터 사이언티스트는 다양한 이상치 식별 및 처리 기법에 익숙해져야 한다.