이상값(outlier)은 나머지 데이터 객체들과 본질적으로 차이가 나며, 마치 서로 다른 구조에서 생성된 것처럼 보이는 데이터 객체를 의미합니다. 설명의 편의를 위해 이상값에 해당하지 않는 데이터 객체를 '정상(normal)' 또는 기대되는 데이터로 정의할 수 있으며, 반대로 이상값은 '비정상(abnormal)' 데이터로 정의합니다.
이상값은 특정 클래스나 클러스터에 속하기 어려운 데이터 요소입니다. 즉, 다른 데이터 객체들의 일반적인 행동 양식과 확연히 다른 행동을 보이는 객체들입니다. 이러한 데이터를 분석하면 숨겨진 지식을 발굴하는 데 중요한 단서를 얻을 수 있습니다.
이상값 감지의 주요 과제
1. 정상 객체와 이상값의 효과적인 모델링
이상값 감지는 정상(non-outlier) 객체와 이상값을 얼마나 잘 모델링하는지에 크게 좌우됩니다. 그러나 실제 애플리케이션에서 발생 가능한 모든 정상 행동을 일일이 열거하는 것은 매우 복잡하고 어려운 작업입니다.
또한 데이터의 정상성과 비정상성(이상값) 사이의 경계는 명확하게 구분되지 않습니다. 오히려 광범위한 회색 영역(gray area)이 존재합니다. 따라서 일부 이상값 감지 기법은 입력 데이터셋의 각 객체에 '정상' 또는 '이상값'이라는 레이블을 부여하는 반면, 다른 접근 방식은 각 객체의 '이상값 성향(outlier-ness)'을 나타내는 점수를 계산하여 할당합니다.
2. 애플리케이션 종속적인 이상값 감지
이상값 감지에서 데이터 객체를 정의하기 위한 유사도/거리 척도와 관계 모델을 선택하는 것이 매우 중요합니다. 안타깝게도 이러한 선택은 소프트웨어나 애플리케이션에 따라 달라지며, 애플리케이션마다 서로 다른 요구사항을 가질 수 있습니다.
3. 이상값 감지에서 노이즈 처리
이상값과 노이즈(noise)는 서로 다른 개념입니다. 실제 데이터셋의 품질이 낮은 경우가 많으며, 다양한 애플리케이션에서 수집된 데이터에는 필연적으로 노이즈가 존재합니다. 노이즈는 속성 값의 편차로 나타나거나 결측치(missing value) 형태로 드러날 수 있습니다.
낮은 데이터 품질과 노이즈의 존재는 이상값 감지에 큰 도전 과제가 됩니다. 노이즈는 정보를 왜곡하여 정상 객체와 이상값의 구분을 흐릿하게 만들 수 있습니다. 더욱이 노이즈와 결측 데이터는 이상값을 '숨길' 수 있어 이상값 감지의 효과를 떨어뜨립니다. 어떤 이상값은 노이즈 포인트처럼 '위장'하여 나타날 수 있고, 반대로 이상값 감지 방법이 노이즈 포인트를 이상값으로 잘못 인식할 수도 있습니다.
4. 이해 가능성(Understandability)
일부 애플리케이션에서 사용자는 이상값을 감지하는 것뿐만 아니라 해당 객체가 왜 이상값으로 판별되었는지 그 이유까지 파악해야 합니다. 이러한 이해 가능성 요구사항을 충족하려면 이상값 감지 기법은 감지 결과에 대한 근거나 설명을 함께 제공해야 합니다.
예를 들어 통계적 접근 방식에서는, 어떤 객체가 이상값일 가능성의 정도를 해당 객체가 대다수 레코드를 생성한 것과 동일한 구조에서 만들어졌을 우도(likelihood)에 기반하여 검증할 수 있습니다. 우도가 작을수록 그 객체가 동일한 구조에서 생성되었을 가능성이 낮다는 의미이며, 따라서 그 객체가 이상값일 가능성이 더 높다고 판단할 수 있습니다.