1 votos

¿Cómo encontrar el umbral superior de los valores atípicos en una distribución sesgada a la derecha?

Digamos que tenemos una distribución sesgada a la derecha (cola en el lado derecho) como los ingresos. ¿Por encima de qué valor puedo considerar que los puntos de datos son valores atípicos?

Una forma podría ser Q3 (percentil 75) + 1,5 * Rango intercuartil (IQR)

La otra forma podría ser utilizar la transformada de caja-cox para convertirla en una distribución normal y encontrar el valor correspondiente a la puntuación z de 3.

Sin embargo, me gustaría saber si hay formas más elegantes de encontrar umbrales atípicos.

2voto

manku Puntos 111

La respuesta depende de lo que se entienda por "valor atípico" y del motivo por el que se quiera identificar los valores atípicos.

En R, genero una muestra aleatoria x de tamaño 50 de un exponencial con media 1. La media 1,11 de la muestra no es una mala estimación de la media de la población.

set.seed(2020)
x = rexp(50)
mean(x)
[1] 1.117136

En R, boxplot.stats con $out lista los valores atípicos. Así que aquí están los valores atípicos del boxplot en x :

boxplot.stats(x)$out
[1] 5.867519 4.572054 5.645287 3.238821

Decido eliminar los valores atípicos en x haciendo que el nuevo conjunto de datos x1 :

x1 = x[x < min(boxplot.stats(x)$out)]

La media de la muestra truncada no es una estimación tan buena de la media de la población.

mean(x1)
[1] 0.794198

Pero, ¡espera! Hay más. El conjunto de datos truncado tiene un boxplot propio. ¿Dónde quiere terminar este proceso? En algún sentido que te importe, ¿es 2,6436 también un valor atípico?

boxplot.stats(x1)$out
[1] 2.643577

Boxplots de las muestras originales (izquierda) y truncadas.

enter image description here

Nota: Utilizando R, he simulado $100\,000$ muestras de tamaño $n=50$ de una distribución exponencial con $\mu = \sigma = 1.$ Todos menos 977 tenían valores atípicos en el boxplot.

En las muestras originales, las medias de las muestras eran de media 1,001 y las DE de las muestras eran de media 0,991. Cuando se eliminaron los valores atípicos de los boxplots (casi 5 por muestra de media), las medias de las muestras alcanzaron una media de 0,849 y las DE de las muestras una media de 0,713. El programa R para la simulación se muestra a continuación.

set.seed(1234)
m = 10^5;  n = 100
a = s = a1 = s1 = n1 = numeric(m)
for(i in 1:m){
 x=rexp(n); a[i]=mean(x); s[i]=sd(x)
 x1 = x[x <= boxplot.stats(x)$stats[5]]
 n1[i] = length(x1)
 if(length(x1)==n){a1[i]=a[i];s1[i]=s[i]
 } else  {a1[i] = mean(x1);  s1[i] = sd(x1)}
}
mean(a); mean(s)
[1] 1.000513
[1] 0.990878
mean(n1); sum(n1==n)
[1] 95.1565
[1] 977
mean(a1); mean(s1)
[1] 0.848945
[1] 0.7130943

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X