카운트 데이터에서 특이 값 탐지


21

나는 여러 가지 카운트 데이터 세트에 대한 이상치 탐지와 관련하여 상당히 직설적 인 문제라고 생각했습니다. 특히, 일련의 카운트 데이터에서 하나 이상의 값이 분포의 나머지 카운트에 비해 예상보다 높거나 낮은 지 확인하고 싶습니다.

혼란스러운 요소는 3,500 개의 분포에 대해이 작업을 수행해야하며 일부는 0으로 과도하게 분산 된 포아송에 적합하고 다른 일부는 음 이항 또는 ZINB에 가장 잘 맞지만 다른 분포는 정규 분포에있을 수 있다는 것입니다. 이러한 이유로 간단한 Z- 점수 또는 분포도는 많은 데이터 세트에 적합하지 않습니다. 다음은 특이 치를 감지하려는 카운트 데이터의 예입니다.

counts1=[1 1 1 0 2 1 1 0 0 1 1 1 1 1 0 0 0 0 1 2 1 1 2 1 1 1 1 0 0 1 0 1 1 1 1 0 
         0 0 0 0 1 2 1 1 1 1 1 1 0 1 1 2 0 0 0 1 0 1 2 1 1 0 2 1 1 1 0 0 1 0 0 0 
         2 0 1 1 0 2 1 0 1 1 0 0 2 1 0 1 1 1 1 2 0 3]
counts2=[0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 
         0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
         0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 
         1 1 0 0 0]
counts3=[14 13 14 14 14 14 13 14 14 14 14 14 15 14 14 14 14 14 14 15 14 13 14 14 
         15 12 13 17 13 14 14 14 14 15 14 14 13 14 13 14 14 14 14 13 14 14 14 15 
         15 14 14 14 14 14 15 14 1414 14 15 14 14 14 14 14 14 14 14 14 14 14 14 13 16]
counts4=[0 3 1.......]
and so on up to counts3500.

처음에는 각 분포에 모델 세트를 적용하고 AIC 또는 기타에 따라 가장 적합한 모델을 선택하는 Python 또는 R에서 루프를 작성해야한다고 생각했습니다 (R의 fitdistrplus?). 그런 다음 주어진 분포에 대해 극한이 무엇인지 물어볼 수있었습니다 (꼬리에 해당하는 개수, 예를 들어 "4"의 개수는 위의 counts1 분포에서 특이 치입니까?). 그러나 이것이 유효한 전략인지 확신 할 수 없으며, 내가 알지 못하는 카운트 데이터의 특이 치를 결정하는 간단한 방법론이 나에게 생겼습니다. 나는 광범위하게 검색했으며 내가보고 싶은 분포의 수를 고려할 때 내 문제에 적합한 것으로 보이지는 않았습니다.

나의 궁극적 인 목표는 가장 통계적으로 적절한 방법론을 사용하여 각 카운트 분포에 대한 카운트의 증가 또는 감소를 감지하는 것입니다.

답변:


23

사용하는 피팅 절차 자체가 특이 치를 향하여 당겨지기 쉬우므로 (이를 마스킹 효과라고 함) 데이터의 기존 적합치로부터 관측 거리를 사용하여 특이 치를 정확하게 감지 할 수 없습니다. 특이 값을 안정적으로 감지하는 한 가지 간단한 방법은 제안한 일반적인 아이디어 (적합 거리)를 사용하는 것이지만 고전 추정값을 특이 값에 의해 흔들리지 않는 강력한 추정값으로 대체하는 것입니다. 아래에서는 아이디어에 대한 일반적인 그림을 제시 한 다음 특정 문제에 대한 솔루션을 논의합니다.

그림 : 에서 가져온 다음 20 개의 관측치 (두 번째 숫자로 반올림)를 고려하십시오.N(0,1)

x<-c(-2.21,-1.84,-.95,-.91,-.36,-.19,-.11,-.1,.18,
.3,.31,.43,.51,.64,.67,.72,1.22,1.35,8.1,17.6)

(마지막 두 개는 실제로 .81과 1.76이어야하지만 실수로 잘못 입력되었습니다).

통계 비교를 기반으로 특이 치 탐지 규칙 사용

|엑스나는아베(엑스나는)|sd(엑스나는)

정규 분포의 분위수로 추정을 선도, 8.1 아웃 라이어 것으로 의심하는 당신을 이끌 절대 비교의 원료, 예를 들어, 트림, 견적 (2이기 위하여 '손질'시리즈를 는 4.35입니다).sdsdsd

대신 강력한 통계를 사용했습니다.

|엑스나는메드(엑스나는)|미친(엑스나는)

그리고 결과로 나온 강력한 점수를 법선의 Quantile 과 비교하면 마지막 두 관측 값을 특이 치로 올바르게 플래그를 지정했을 것입니다 (그리고 잘린 계열 의 를 0.96으로 올바르게 추정 함 ).SDsd

(완전성을 위해 일부 사람들은 심지어이 시대와 오늘날에도 트리밍을 기반으로보다 정확한 견적을 사용하는 대신 원시되지 않은 원시 견적을 4.35 에 집착 하는 것을 선호 하지만 이것은 이해할 수 없다는 것을 지적해야합니다 )

다른 배포판의 경우 상황이 그다지 다르지 않고 데이터를 먼저 사전 변환해야합니다. 예를 들어, 귀하의 경우 :

가 원래 카운트 데이터 라고 가정 하십시오. 한 가지 트릭은 변환을 사용하는 것입니다.엑스

와이=2엑스

경우 관측 값을 특이 값으로 제외 (이 규칙은 대칭 이 아니므로 I에 따라 카운트 변수의 왼쪽 '꼬리'에서 관측 값을 제외하는 것에 대해 매우 주의해야합니다. 데이터 기반 임계 값입니다. 부정적인 관찰은 분명히 제거하기에 안전해야합니다.)와이>메드(와이)+

이것은 가 포아송이라면엑스

와이(메드(와이),1)

이 근사는 (포아송 분포의 모수)가 3보다 클 때 포아송 분포 데이터에 대해 합리적으로 잘 작동합니다 .λ

λλ=

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