이상 감지 : 어떤 알고리즘을 사용해야합니까?


10

컨텍스트 : 임상 데이터를 분석하여 오타가 될 수없는 데이터를 필터링하는 시스템을 개발 중입니다.

내가 지금까지 한 일 :

타당성을 정량화하기 위해 지금까지의 시도는 데이터를 정규화 한 다음 세트 D에서 알려진 데이터 포인트까지의 거리를 기준으로 포인트 p에 대한 타당성 값을 계산하는 것입니다 (= 훈련 세트).

타당성()=가우스(거리(,))

그런 수량화를 통해 그럴듯한 데이터와 타당하지 않은 데이터를 분리하는 임계 값을 선택할 수 있습니다. python / numpy를 사용하고 있습니다.

내 문제 :

  1. 이 알고리즘은 독립 치수를 감지 할 수 없습니다. 이상적으로는 내가 레코드에 대해 알고있는 것을 알고리즘에 넣고 차원 X가 레코드의 타당성에 영향을 미치지 않는다는 것을 스스로 알아낼 수있었습니다.
  2. 이 알고리즘은 부울 또는 선택 입력과 같은 이산 값에는 실제로 작동하지 않습니다. 연속 값에 매핑 될 수 있지만 선택 1이 선택 3보다 선택 2에 더 가깝다는 것은 직관적이지 않습니다.

질문:

이 작업을 위해 어떤 종류의 알고리즘을 조사해야합니까? 가장 가까운 이웃 기반, 클러스터 기반 기반 및 통계적 접근 방법을 포함한 수많은 옵션이있는 것 같습니다. 또한이 복잡성에 대한 이상 감지를 다루는 논문을 찾는 데 어려움이 있습니다.

모든 조언을 부탁드립니다.

[편집] 예 :

데이터가 사람의 신장, 사람의 체중 및 타임 스탬프로 구성되어 있다고 가정하면 3D 데이터입니다. 무게와 높이는 서로 관련이 있지만 타임 스탬프는 완전히 독립적입니다. 유클리드 거리를 고려한다면 대부분의 교차 검증 데이터에 맞는 작은 임계 값을 선택해야합니다. 타임 스탬프가 다른 차원과 상관 관계가 없기 때문에 레코드가 그럴듯한 지 여부를 결정하는 것은 부적절하기 때문에 알고리즘은 타임 스탬프 차원을 무시하는 것이 이상적입니다. 모든 타임 스탬프는 그럴듯합니다.

반면에 타임 스탬프가 중요한 예를 구성 할 수 있습니다. 예를 들어 특정 날짜 이전에는 측정하지 않았지만 특정 날짜 이후에는 측정되지 않은 피처 X의 Y 값일 수 있습니다.


stats.stackexchange.com/questions/97946/changepoints-in-r에 대한 나의 답변 은이 vexing (일부!) 질문 을 다루기 때문에 참조하십시오 .
IrishStat

겠습니까 stats.stackexchange.com/questions/213 당신이 찾고있는 물건의 종류의 수?
whuber

부울을 위해이 작업을 수행 할 수 있는지 의심 스럽습니다.
Aksakal

@ whuber 확실하지 않습니다. 관련이없는 치수를 무시할 수있는 방법을 다루지 않는 것 같습니다.
Georg

1
그건 그렇고, 나는 또한 내가 설명한 접근법에 대한 공식화를 찾기 위해 고심하고 있습니다. 공식 용어를 알면 연구에 도움이 될 것입니다. 어쩌면 적어도 독립적 / 관련이없는 치수 문제를 해결하는이 알고리즘의 변형이있을 수 있습니다.
Georg

답변:


7

변칙 탐지의 일반적인 공식은 비 변칙 데이터 의 각 특징에 대한 평균과 분산을 찾고 x 가 성분 x i 를 갖는 특징의 벡터 인 경우 특징 의 조합의 확률 p ( x ) 를 다음과 같이 정의합니다.미디엄엑스엑스나는(엑스)

(엑스)=나는=1미디엄(엑스나는;μ나는,σ나는2)

가우스 분포입니다 : x i ~ N ( μ i , σ 2 i )엑스나는엑스나는(μ나는,σ나는2)

p ( x ) < ϵ 마다 이상이 발생(엑스)<ϵ

의 분포는 실제로 정규일 필요는 없지만, 적어도 정규형이면 더 좋습니다. 그러나 사용하는 기능은 임의적입니다. 피쳐라고 생각하면 그들은 그렇게 예를 들면, 미가공 데이터에서 직접 수행하거나 계산 될 수 X 제가 더 사용하여 모델링 L O g는 다음의 기능 세트 L O g ( X I를 ) 보다는 X .엑스나는엑스나는영형영형(엑스나는)엑스나는

를 취하면 이미하고있는 것과 매우 유사한 것으로 보입니다 .=μ

ϵ 결정ϵ

ϵ에프1

에프1=2아르 자형이자형나는에스나는영형아르 자형이자형아르 자형이자형나는에스나는영형+아르 자형이자형

그러나 F1을 계산하려면 이상이 무엇인지, 그렇지 않은 것이 무엇인지 알아야합니다. 즉, 시스템이 이상을 예측할 때 참 긍정은 실제로 변칙입니다. 거짓 긍정은 실제로 그렇지 않은 변칙을 예측합니다. 그래서 당신이 그것을하지 않으면, 당신은 추측으로 돌아 가야 할 수도 있습니다.

상관 된 기능의 문제

미디엄Σ

(엑스)=1(2π)미디엄2(데트Σ)1/2이자형12(엑스μ)Σ1(엑스μ)

ϵΣ


다변량 가우스 분포를 포함 하여이 접근법을 이미 시도했습니다. 실제로 관련이없는 기능은이 접근 방식에 큰 문제가되지 않습니다. 내가 찾은 것은이 방법이 복잡한 모델에 적합하지 않다는 것입니다. 예를 들어, 대략 F2 = F1 ^ 3 인 경우 F1, F2 기능이있는 2D 데이터 세트를 사용하는 경우 다변량 가우스 분포는 데이터 주위에 타원 만 그리며 데이터를 매우 대략적으로 모델링합니다. 그렇기 때문에 질문에 설명 된 접근법 (q는 없지만 q는 많은 곳)으로갔습니다.
Georg

그렇다면 다변량 가우스 접근 방식을 적용하여 더 복잡한 데이터 모델을 캡처하는 방법이 있습니까? 예를 들어,이 경우 혼합 모델이 도움이 될 수 있습니까? 연구에 참여한 사람들에 대해 조금 읽었지만 아직 적용 방법을 완전히 이해하지 못했습니다.
Georg

(에프1,에프2)(에프1,에프21/)

그렇습니다. 부적합은 제가 의미하는 바입니다. 그리고 그렇습니다.하지만 알고리즘이 자동으로 감지하도록하고 싶습니다. 기능을 수동으로 수정할 수 없으며 어떤 경우에도 작동합니다.
Georg

예를 들면 다음과 같습니다. 두 플롯은 높이 (x 축) 및 무게 (y 축)에 대한 데이터를 표시합니다 (독일어 자막에 대해서는 죄송합니다.)). 첫 번째 줄거리는 다변량 가우스 접근법의 결과를 보여줍니다. 두 경우 모두, CV 데이터의 97 %가 그럴듯한 것으로 간주되도록 임계 값이 선택되었습니다. 두 번째 방법은 데이터의 복잡성을보다 잘 포착 할 수 있습니다. 1 : dl.dropboxusercontent.com/u/26034024/anomaly/gauss.png 2 : dl.dropboxusercontent.com/u/26034024/anomaly/distance.png
Georg

3

나는이 문제를 해결 해야하는 프로젝트를 거의 완료했으며 누군가가 같은 문제가있는 경우 솔루션을 공유하고 싶습니다.

우선, 내가 설명한 접근 방식은 커널 밀도 추정 과 매우 유사합니다 . 그래서 그것은 연구를 위해 알고 좋았습니다 ...

독립 기능

||엑스1엑스2||나는에스이자형(엑스1,엑스2)

경고 : 상관 계수는 선형 상관 만 측정 할 수 있습니다. 자세한 내용은 링크 된 위키 페이지를 참조하십시오. 데이터의 상관 관계를 선형으로 근사 할 수 있으면 제대로 작동합니다. 그렇지 않은 경우이 백서 의 마지막 페이지를 살펴보고 상관 관계 측정을 사용하여 스케일링 계수를 도출 할 수 있는지 확인해야합니다.

이산 값

설명 된 알고리즘을 연속 값에만 사용했습니다. 이산 값을 사용하여 훈련 세트를 필터링했습니다. 따라서 사람의 키와 몸무게가 있고 여성 인 것을 알고 있다면 다른 여성의 표본 만 검사하여 이상 여부를 확인합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.