¿Qué precisión tiene IQR para detectar valores atípicos?

11

Estoy escribiendo un script que analiza los tiempos de ejecución de los procesos. No estoy seguro de su distribución, pero quiero saber si un proceso se ejecuta "demasiado tiempo". Hasta ahora he estado usando 3 desviaciones estándar de los últimos tiempos de ejecución (n> 30), pero me dijeron que esto no proporciona nada útil si los datos no son normales (lo que no parece ser). Encontré otra prueba atípica que dice:

Encuentre el rango intercuartil, que es IQR = Q3 - Q1, donde Q3 es el tercer cuartil y Q1 es el primer cuartil. Luego encuentra estos dos números:

a) Q1 - 1.5 * IQR b) Q3 + 1.5 * IQR

El punto es un valor atípico si <a o> b

Mis datos tienden a ser cosas como 2 segundos, 3 segundos, 2 segundos, 5 segundos, 300 segundos, 4 segundos, ... donde 300 segundos es obviamente un valor atípico.

¿Qué método es mejor? ¿El método IQR o el método de desviación estándar?

Chris Bedd
fuente
44
Es posible que desee consultar la respuesta de @ user603 aquí: ¿hay una variante de diagrama de caja para los datos distribuidos de Poisson para obtener información sobre cómo ajustar esta regla para los datos sesgados?
gung - Restablece a Monica
3
Este método "IQR" nunca tuvo la intención de aplicarse a ciegas. Es parte de un proceso de análisis exploratorio de datos (como lo describió Nick Cox en su respuesta) durante el cual primero encontraría una manera de reexpresar los datos para hacerlos distribuidos de manera aproximadamente simétrica.
Whuber
2
Según sus comentarios a las respuestas, la respuesta correcta es "ninguna", porque su preocupación subyacente no se trata de valores atípicos, sino del proceso.
whuber
Relacionado: La detección de valores atípicos utilizando desviaciones estándar es el otro lado de esta pregunta
user56reinstatemonica8
Los números están tomados en el tiempo, por lo que nunca serán simétricos a menos que los vuelva a escalar de alguna manera.
JP Bennett

Respuestas:

14

Realmente hay libros enteros sobre valores atípicos.

La respuesta específica habitual es que la desviación estándar es extraída por valores atípicos, por lo que cualquier regla basada en la SD puede tener un rendimiento deficiente.

Las reglas de Tukey sobre cuartiles +/- 1.5 IQR que cita surgieron del trabajo manual con conjuntos de datos de tamaño pequeño y moderado en la década de 1970, y fueron diseñadas para indicar valores en los que tal vez quiera pensar individualmente. No está claro que se transfieran a conjuntos de datos mucho más grandes, ni que se apliquen cuando se espera un sesgo considerable.

Una respuesta más general es que una regla atípica es buena si siempre toma las decisiones correctas, pero ¿cómo puede saberlo?

Este es un territorio polémico, pero esperaría que un valor atípico sobresaliera en un gráfico por ser muy diferente de los demás. Pero a menudo es (¿generalmente?) Una decisión difícil decir la diferencia entre lo que espera en una distribución de cola pesada y lo que es demasiado salvaje como para considerarlo como algo fuera de lo común. A veces, la transformación hace que un valor atípico parezca mucho más común.

Además, si utiliza métodos sólidos, es posible que se preocupe un poco menos sobre qué valores merecen llamarse valores atípicos, sino que se preocupe más por los valores atípicos en general.

Nick Cox
fuente
1

Dice que no está seguro de la distribución, pero que los procesos en curso son fáciles de recopilar y evaluar para su distribución. Solo ahorre un montón de veces y analícelas. Dadas las veces que publicaste, podrías obtener mucho en unas pocas horas.

Su búsqueda de una regla para un valor atípico no tiene por qué ser tan general. Puede ser específico para su tarea. Puede recopilar muchos datos. Recójalo, examínelo y luego decida cuándo un proceso es demasiado largo. Tal vez un enfoque basado en IQR funcionará, pero puede usar su conjunto de datos, o un ajuste paramétrico, para hacer simulaciones y ver si funciona bien. Lo mismo vale para SD. Puede ser que> 50s sea demasiado largo y eso es todo lo que necesitas.

John
fuente
Estoy recopilando datos sobre varios procesos. Cada uno puede tener diferentes distribuciones. Solo necesito una manera simple de decir "tiempo de ejecución demasiado grande" para alertar a los técnicos para que investiguen más las cosas. Puede ser general siempre que marque cosas que deberían marcarse. Si aparecen algunos falsos positivos, que así sea. Sin embargo, los falsos positivos deben mantenerse al mínimo, ya que si son demasiados, se anula el propósito del guión y simplemente debería volcar todos los resultados y dejar que los técnicos lo hagan. El propósito del guión es "reducir las cosas"
chris bedd
Puede evaluar si los procesos son iguales o diferentes. Si realmente son muy diferentes, alguna regla general puede provocar que un proceso en particular active la advertencia con más frecuencia de la necesaria. Esta información realmente debería estar en su pregunta.
John
3
Caracterizar este problema como una búsqueda de valores atípicos, Chris, es una injusticia: en realidad estás abordando un problema de control de calidad . Las principales distinciones son (1) que tiene un flujo continuo de datos en lugar de un conjunto de datos estático para analizar y (2) tiene la intención de especificar acciones periódicas para tomar como resultado de cada análisis: es decir, si debe intervenir (e intentar mejorar el proceso) o no (y dejar que el proceso se ejecute como está). Comprender que esta es la naturaleza de su problema muestra que la enorme literatura sobre control de calidad es relevante, proporcionando una amplia variedad de soluciones.
whuber
+1 @whuber. Los valores atípicos no son relevantes aquí. Ni el tiempo de ejecución promedio, ni ningún percentil del mismo, está relacionado con lo que es "demasiado largo". La forma de averiguar qué es "demasiado largo" puede ser una encuesta a los usuarios, o una verificación con los ingenieros, o simplemente adivinar, o algo más, pero no es una pregunta estadística.
Peter Flom - Restablece a Monica