이상치 탐지

Isolation Forest를 사용한 수치 데이터 이상치 탐지. Isolation Forest 알고리즘으로 이상치를 식별합니다. 이상 점수가 높은 데이터 포인트는 오염률 임계값에 따라 잠재적 이상치로 표시됩니다.

Isolation Forest 알고리즘으로 이상치를 식별합니다. 이상 점수가 높은 데이터 포인트는 오염률 임계값에 따라 잠재적 이상치로 표시됩니다.

아이솔레이션 포레스트 이상치 탐지란?

Isolation Forest는 이상치가 '드물고 다르다'는 원리에 기반한 비지도 학습 이상 탐지 알고리즘으로, 이상치가 정상 데이터보다 분리하기 쉽다는 성질을 활용합니다. 거리 기반 기법과 달리 거리나 밀도를 계산하지 않기 때문에 대용량 데이터셋에서도 매우 효율적입니다.

이 알고리즘은 무작위 고립 트리의 앙상블을 구축합니다. 각 트리는 특성과 분할 값을 무작위로 선택하여 데이터를 재귀적으로 분할합니다. 이상치는 드물고 뚜렷이 구별되므로 더 적은 분할만으로 고립됩니다(루트에서 잎까지의 경로 길이가 짧습니다). 반면 정상 데이터는 밀집해 있어 더 많은 분할이 필요합니다.

이상 점수는 모든 트리에 걸친 평균 경로 길이를 데이터셋 크기에 대한 기대 경로 길이로 정규화하여 구합니다. 점수가 1에 가까우면 이상치를, 0.5에 가까우면 정상 데이터를 의미합니다. 오염률 파라미터는 예상되는 이상치 비율을 지정하며, 이 값이 분류 기준이 되는 점수 임계값을 결정합니다.

Formula: Anomaly Score s(x, n) = 2^(-E(h(x)) / c(n)) c(n) = 2H(n-1) - 2(n-1)/n where h(x) = path length, c(n) = average path length in BST, H(i) = harmonic number ≈ ln(i) + 0.5772

계산 예시

오염률 = 0.05인 데이터 100개(이상치 약 5개 예상)에 고립 트리 100개를 구축했습니다. 점 A는 평균 경로 길이가 3.2로 빠르게 고립되어 이상 점수 0.82를 받아 이상치로 표시됩니다. 점 B는 평균 경로 길이가 8.7로 고립이 어려워 이상 점수 0.45가 되어 정상으로 판정됩니다. 4개 점이 임계값을 초과하여 이상치로 표시되었습니다.

이 계산기를 사용하는 경우

흔한 실수

결과 해석 방법

관련 표준 및 참고문헌

자주 묻는 질문

오염률 파라미터는 어떻게 설정하나요?

오염률은 데이터에 포함될 것으로 예상되는 이상치의 비율입니다. 과거 이상 발생률을 알고 있다면(예: 불량률 2%) 그 값을 사용합니다. 알 수 없다면 0.05-0.10에서 시작해 현장 지식에 따라 조정합니다. 너무 낮으면 실제 이상치를 놓치고, 너무 높으면 정상 데이터까지 이상치로 표시합니다. 표시된 점을 눈으로 확인하면 값을 보정하는 데 도움이 됩니다.

다른 이상치 탐지 기법 대신 Isolation Forest는 언제 사용하나요?

Isolation Forest는 고차원 데이터, 대용량 데이터셋, 그리고 이상치가 전역적으로 뚜렷이 구별되는 상황에서 특히 뛰어납니다. 국소 밀도가 중요한 경우(이웃 대비 이상치)에는 LOF를 사용합니다. 단순한 단변량 데이터에는 통계적 기법(Z 점수, IQR)을 사용합니다. 군집화까지 함께 필요하다면 DBSCAN을 사용합니다. Isolation Forest는 O(n log n) 복잡도를 가져 확장성이 가장 뛰어난 선택지입니다.