Detecção de Outlier em Distribuições enviesadas

24

Sob uma definição clássica de um outlier como um ponto de dados fora do IQR de 1,5 * do quartil superior ou inferior, existe uma suposição de uma distribuição não distorcida. Para distribuições assimétricas (Exponencial, Poisson, Geométrica, etc.), é a melhor maneira de detectar um outlier analisando uma transformação da função original?

Por exemplo, distribuições governadas livremente por uma distribuição exponencial podem ser transformadas com uma função de log - em que ponto é aceitável procurar outliers com base na mesma definição de IQR?

Eric
fonte
4
Existem muitas perguntas neste site sobre a avaliação de valores discrepantes. Uma coisa que você precisa adicionar aqui para obter uma resposta razoável é o que você realmente está tentando fazer ou descobrir. Mas, para começar, a 1.5*IQRdefinição de um outlier não é universalmente aceita. Tente descarregar sua pergunta e expandir o problema que você está tentando resolver.
John John
A afirmação de que um valor acima de 1,5 IQR é um erro externo é simplesmente um absurdo. Dados acima de 1,5 IQR seriam inteiramente consistentes com um número infinito de distribuições e, à medida que o tamanho da amostra se torna grande, pode-se ter uma confiança quase perfeita de que esses dados NÃO são extremos.
wolfies

Respostas:

18

Sob uma definição clássica de um outlier como um ponto de dados fora do IQR de 1,5 * do quartil superior ou inferior,

Essa é a regra para identificar pontos fora das extremidades dos bigodes em um boxplot. O próprio Tukey, sem dúvida, se oporia a chamá-los de forasteiros nessa base (ele não considerava necessariamente pontos fora desses limites como forçados). Estes prefeririam ser pontos que - se se esperava que seus dados fossem de uma distribuição um pouco semelhante a uma distribuição normal - poderiam ser submetidos a uma investigação mais aprofundada (como verificar se você não transpôs dois dígitos, por exemplo) - no máximo poderiam ser discrepantes em potencial . Como Nick Cox aponta nos comentários sob esta resposta , uma parte de muitos desses pontos seria tomada mais como um indicador de que uma reexpressão pode ser adequada do que uma indicação da necessidade de considerar os pontos como outliers.

existe uma suposição de uma distribuição não distorcida.

Eu assumi por "não distorcido" você quer dizer simétrico. Então, a suposição é mais do que apenas isso. Uma distribuição de cauda pesada, mas simétrica, pode ter muitos pontos fora dos limites dessa regra.

Para distribuições assimétricas (Exponencial, Poisson, Geométrica, etc.), é a melhor maneira de detectar um outlier analisando uma transformação da função original?

Isso depende do que constitui um erro externo para seus propósitos. Não existe uma definição única que seja adequada para cada finalidade - na verdade, geralmente você provavelmente está melhor fazendo outras coisas que (digamos) escolhendo valores discrepantes e omitindo-os.

Para o exponencial ou geométrico, você pode fazer um cálculo semelhante ao de um boxplot, mas que identificaria uma fração semelhante apenas na cauda direita (você não terá pontos de extremidade inferior identificados em um exponencial ou geométrico) .. ou você pode fazer outra coisa.

Em amostras grandes, o boxplot marca cerca de 0,35% dos pontos em cada extremidade, ou cerca de 0,7% no total. Para um exponencial, você pode marcar alguns múltiplos da mediana, por exemplo. Se você deseja marcar aproximadamente 0,7% dos pontos no total para um exponencial real, isso sugere pontos de marcação além de cerca de 7,1 vezes a mediana.

Pontos de marcação acima de 7,1 vezes a mediana para n = 1000 geralmente atingem entre 0,4% e 1,1% dos valores:

ae <- rexp(1000)
table( ae > 7.1*median(ae) )

FALSE  TRUE 
  993     7 

Por exemplo, distribuições governadas livremente por uma distribuição exponencial podem ser transformadas com uma função de log - em que ponto é aceitável procurar outliers com base na mesma definição de IQR?

Isso depende totalmente do que você quer dizer com "aceitável". Observe, no entanto, que -

i) a distribuição resultante não é realmente simétrica, mas distintamente inclinada para a esquerda.

insira a descrição da imagem aqui

Como resultado, você geralmente marcará apenas pontos no lado esquerdo (ou seja, próximo a zero, onde você espera que os valores exponenciais sejam de qualquer maneira), e não no lado direito (onde podem estar os "outliers"), a menos que sejam realmente extremo.

ii) a adequação de tal regra será fortemente dependente do que você está fazendo.

Se você está preocupado com o estranho valor que afeta sua inferência, em geral, provavelmente é melhor usar procedimentos robustos do que formalmente identificar discrepantes.

Se você realmente deseja usar uma regra com base normal para dados exponenciais ou Poisson transformados, eu sugiro pelo menos aplicá-la à raiz quadrada para um Poisson (desde que a média não seja muito pequena, deve ser mais ou menos normal) e cubar a raiz ou mesmo a quarta raiz para o exponencial (e talvez, por extensão, o geométrico).

ou talvez , como natransformação AnscombeX+38

insira a descrição da imagem aqui

Por exemplo, em amostras grandes, a abordagem da raiz do cubo tenderá a marcar pontos apenas na cauda superior (aproximadamente na mesma taxa em que os marca na cauda superior para um normal) e a abordagem da quarta raiz marcará pontos nas duas caudas (um pouco mais na cauda inferior, no total, algo próximo a 40% da taxa que o faz normalmente). Das possibilidades, a raiz do cubo faz mais sentido para mim do que as outras duas, mas eu não recomendaria necessariamente usar isso como uma regra rígida e rápida.

Glen_b -Reinstate Monica
fonte
11
"Uma distribuição de cauda pesada, mas simétrica, pode ter muitos pontos fora dos limites dessa regra". Sempre há exatamente 50% de todos os pontos no IQR, não são?
JulienD
2
(Q11.5×IQR,Q3+1.5×IQR)
@Glen_b O limite superior de rejeição para o exponencial na sua resposta assume que o parâmetro shift (ou teta) é conhecido. Eu acho que isso deve ser mencionado.
user603
11
@ user603 O termo " distribuição exponencial " (também ver aqui ) sem qualquer adjetivo modificador (como "shifted" ou "dois parâmetros") mais convencionalmente refere-se à versão de um parâmetro. Algumas pessoas chamam a versão alterada de "distribuição exponencial", mas isso é relativamente raro; apenas um pouco mais comum do que chamar a distribuição lognormal deslocada "a distribuição lognormal".
Glen_b
11
@ user603 Oh, desculpe, uma simples falta de comunicação - nesse caso, sim, não acho que tenhamos discordância substantiva - onde existe a possibilidade de grandes discrepâncias à esquerda, a abordagem que mencionei não faz nenhum sentido . Eu simplesmente não estava tentando lidar com nenhum potencial nessa situação (mas, em minha defesa, não me pareceu que o OP o considerasse uma possibilidade - duvido que anotar registros teria me lembrado se fosse).
Glen_b -Reinstala Monica
14

Eu responderei suas perguntas na ordem oposta em que você as perguntou, de modo que a exposição prossiga do específico para o geral.

Primeiro, vamos considerar uma situação em que você pode supor que, exceto por uma minoria de outliers, a maior parte dos seus dados pode ser bem descrita por uma distribuição conhecida (no seu caso, a exponencial).

x

pX(x)=σ-1 1exp(-(x-θ)σ),x>0 0;σ>0 0

xθ=0 0

O estimador usual de MLE dos parâmetros é [0, p 506]:

θ^=minEuxEu

e

σ^=aveEuxEu-minEuxEu

Aqui está um exemplo em R:

n<-100
theta<-1
sigma<-2
set.seed(123) #for reproducibility
x<-rexp(n,rate=1/sigma)+theta
mean(x)-min(x)

σ2.08

xEu-xEu :

m<-floor(0.2*n)
y<-x
y[1:m]<--y[1:m]
mean(y)-min(y)

σ11,12xEu100xEu

m<-floor(0.2*n)
z<-x
z[1:m]<-100*z[1:m]
mean(z)-min(z)

σ54

Uma alternativa ao MLE bruto é: (a) encontrar os outliers usando uma regra robusta de identificação de outlier , (b) separá-los como dados espúrios e (c) calcular o MLE na parte não espúria da amostra.

A mais conhecida dessas regras robustas de identificação externa é a regra med / mad proposta por Hampel [3], que a atribuiu a Gauss (ilustrei essa regra aqui ). Na regra med / mad, o limite de rejeição é baseado na suposição de que as observações genuínas em sua amostra são bem aproximadas por uma distribuição normal.

Obviamente, se você tiver informações extras (como saber que a distribuição das observações genuínas é bem aproximada por uma distribuição de poisson, como neste exemplo ), não há nada para impedir a transformação de seus dados e o uso da regra de rejeição de linha de base discrepante (a med / mad) mas isso me parece um pouco estranho ao transformar os dados para preservar o que é afinal uma regra ad-hoc.

Parece-me muito mais lógico preservar os dados, mas adaptar as regras de rejeição. Então, você ainda usaria o procedimento de três etapas que descrevi no primeiro link acima, mas com o limite de rejeição adaptado à distribuição, você suspeita que boa parte dos dados tenha. Abaixo, dou a regra da rejeição em situações em que as observações genuínas são bem ajustadas por uma distribuição exponencial. Nesse caso, você pode construir bons limites de rejeição usando a seguinte regra:

θ

θ^=medEuxEu-3.476Qn(x)em2

3.476

2) rejeitar como espúrias todas as observações fora de [2, p 188]

[θ^,9(1 1+2/n)medEuxEu+θ^]

(o fator 9 na regra acima é obtido como o 7.1 na resposta de Glen_b acima, mas usando um ponto de corte mais alto. O fator (1 + 2 / n) é um pequeno fator de correção de amostra que foi derivado por simulações em [2]. Para tamanhos de amostra grandes o suficiente, é essencialmente igual a 1).

σ

σ^=aveEuHxEu-minEuHxEu

H={Eu:θ^xEu9(1 1+2/n)medEuxEu+θ^}

Usando esta regra nos exemplos anteriores, você obteria:

library(robustbase)
theta<-median(x)-Qn(x,constant=3.476)*log(2)
clean<-which(x>=theta & x<=9*(1+2/n)*median(x)+theta)
mean(x[clean])-min(x[clean])

σ2.05

theta<-median(y)-Qn(y,constant=3.476)*log(2)
clean<-which(y>=theta & y<=9*(1+2/n)*median(y)+theta)
mean(y[clean])-min(y[clean])

σ2.2

No terceiro exemplo:

theta<-median(z)-Qn(z,constant=3.476)*log(2)
clean<-which(z>=theta & z<=9*(1+2/n)*median(z)+theta)
mean(z[clean])-min(z[clean])

σ2.2

{Eu:EuH}

Agora, para o caso geral em que você não possui uma boa distribuição de candidatos para se ajustar à maior parte de suas observações, além de saber que uma distribuição simétrica não funciona, você pode usar o boxplot ajustado [4]. Essa é uma generalização do boxplot que leva em consideração uma medida (assimétrica e não-paramétrica e robusta) de seus dados (de modo que, quando a maior parte dos dados é simétrica, cai no boxplot usual). Você também pode verificar esta resposta para obter uma ilustração.

  • [0] Johnson NL, Kotz S., Balakrishnan N. (1994). Distribuições Univariadas Contínuas, Volume 1, 2ª Edição.
  • [1] Rousseeuw PJ e Croux C. (1993). Alternativas ao desvio absoluto médio. Jornal da Associação Estatística Americana, vol. 88, No. 424, pp. 1273-1283.
  • [2] JK Patel, CH Kapadia e DB Owen, Dekker (1976). Manual de distribuições estatísticas.
  • [3] Hampel (1974). A curva de influência e seu papel na estimativa robusta. Jornal da Associação Estatística Americana vol. 69, n ° 346 (junho de 1974), pp. 383-393.
  • [4] Vandervieren, E., Hubert, M. (2004) "Um boxplot ajustado para distribuições distorcidas". Estatística computacional e análise de dados Volume 52, Edição 12, 15 de agosto de 2008, páginas 5186-5201.
user603
fonte
1

Primeiro, eu questionaria a definição, clássica ou não. Um "outlier" é um ponto surpreendente. Usar qualquer regra específica (mesmo para distribuições simétricas) é uma ideia falha, especialmente nos dias de hoje, quando existem tantos conjuntos de dados enormes. Em um conjunto de dados de (digamos) um milhão de observações (não tão grandes assim, em alguns campos), haverá muitos casos além do limite de 1,5 IQR que você cita, mesmo que a distribuição seja perfeitamente normal.

Segundo, sugiro procurar discrepantes nos dados originais. Quase sempre será mais intuitivo. Por exemplo, com dados de renda, é bastante comum fazer registros. Mas mesmo aqui, eu procuraria discrepâncias na escala original (dólares ou euros ou o que seja), porque sentimos melhor esses números. (Se você usar logs, sugiro a base de log 10, pelo menos para detecção externa, porque é pelo menos um pouco intuitiva).

Terceiro, ao procurar discrepantes, cuidado com o mascaramento.

Por fim, atualmente estou pesquisando o algoritmo de "pesquisa direta" proposto por Atkinson e Riani para vários tipos de dados e problemas. Isso parece muito promissor.

Peter Flom - Restabelece Monica
fonte