12 votos

¿Buena forma de eliminar los valores atípicos?

Estoy trabajando en las estadísticas de las construcciones de software. Tengo datos de cada compilación sobre el tiempo transcurrido y el tiempo de aprobación, y generamos unos 200 por semana.

La tasa de éxito es fácil de agregar, puedo decir que el 45% aprobó una semana cualquiera. Pero también me gustaría agregar el tiempo transcurrido, y quiero asegurarme de no tergiversar demasiado los datos. He pensado que es mejor preguntar a los profesionales :-)

Digamos que tengo 10 duraciones. Representan casos de aprobación y de fracaso. Algunas construcciones fallan inmediatamente, lo que hace que la duración sea inusualmente corta. Algunas se cuelgan durante las pruebas y finalmente se agotan, lo que provoca duraciones muy largas. Construimos diferentes productos, por lo que incluso las construcciones exitosas varían entre 90 segundos y 4 horas.

Puede que consiga un juego como este:

[50, 7812, 3014, 13400, 21011, 155, 60, 8993, 8378, 9100]

Mi primera aproximación fue obtener la mediana del tiempo ordenando el conjunto y eligiendo el valor medio, en este caso 7812 (no me molesté en hacer la media aritmética de los conjuntos pares).

Desgraciadamente, esto parece generar mucha variación, ya que sólo elijo un valor determinado. Así que si yo fuera a la tendencia de este valor sería rebotar alrededor de entre 5000-10000 segundos, dependiendo de lo que construir estaba en la mediana.

Así que para suavizar esto, intenté otro enfoque: eliminar los valores atípicos y luego calcular una media sobre los valores restantes. Decidí dividirlo en terciles y trabajar sólo en el del medio:

[50, 60, 155, 3014, 7812, 8378, 8993, 9100, 13400, 21011] ->
[50, 60, 155], [3014, 7812, 8378, 8993], [9100, 13400, 21011] ->
[3014, 7812, 8378, 8993]

La razón por la que esto me parece mejor es doble:

  • No queremos ninguna acción sobre las construcciones más rápidas, ya están bien
  • Las acumulaciones más largas son probablemente inducidas por el tiempo de espera, y siempre estarán ahí. Tenemos otros mecanismos para detectar esos

Así que me parece que estos son los datos que busco, pero me preocupa haber conseguido la suavidad eliminando, bueno, la verdad.

¿Es esto controvertido? ¿Es un método sano?

Gracias.

0 votos

Todavía no has dicho por qué quieres tener tu medida del tiempo transcurrido. ¿Necesita estimar el tiempo total de la máquina que está pagando? ¿Necesita estimar cuántos viajes a la máquina de café podría hacer? ¿Cuál es la acción que probablemente tomaría si conociera los tiempos?

0 votos

Además, si tienes productos heterogéneos que construyes, el rebote es natural, y no debes tratar de deshacerte de él. Si tiene una medida de la complejidad de un proyecto determinado (número de archivos, número de líneas de código, número de rutinas, etc.), entonces puede interesarle el tiempo transcurrido normalizado por la complejidad, que puede ser más estable. Si lo que quieres es que sea realmente estable y plano en el tiempo, entonces no podrás saber cuándo tienes que tomar tus medidas.

0 votos

@StasK: gracias por tus comentarios, es una aportación valiosa. La medida ya es conocida: muchas de estas construcciones tardan waaaay demasiado tiempo, y deberíamos trabajar para hacerlas más rápidas. Quiero usar la medida agregada para ver si las cosas están mejorando o empeorando.

13voto

AdamSane Puntos 1825

La fibra óptica, como fuente de luz, y no como plataforma de transmisión de datos, es una aplicación del tipo "zapatero". Los árboles de fibra óptica utilizan como método de acoplamiento óptico el encogimiento por calor o la cinta eléctrica o el plástico moldeado de forma ajustada.
enter image description hereenter image description here

Por otro lado, el cable de fibra óptica para la transmisión de datos cuenta con conectores estandarizados muy bien diseñados, como TOSLINK para las conexiones de audio de los consumidores o el conector SFP (small form-factor pluggable) utilizado en algunas conexiones de fibra óptica de los routers Cisco.

Utilizar un led de 5mm o 3mm con tubo termorretráctil a juego y fibra suficiente para que quepa es muy muy común en aplicaciones de modelismo para aficionados ( que una maqueta bien hecha requiere mucho para tener un buen aspecto (Model Enterprise Project) ). Si sólo necesitas una hebra fina, puedes hacer un agujero en un led y pegar la hebra con pegamento caliente (Model Train Project) .
enter image description here

Las fibras ópticas también se utilizan para los mapas de estrellas o los techos de estrellas (los extremos se desmontan con un mechero u otra fuente de calor y luego se pegan en caliente).
enter image description here

Las aplicaciones comerciales utilizan Tubos de luz hecho de plástico moldeado o extruido, para canalizar un led montado en pcb (casi siempre smd) a una apertura externa de la caja. No se me ocurre un solo producto comercial/de consumo/industrial que utilice hilos de fibra óptica como método de redirección de la luz interna, debido a lo poco manejable que sería en la fabricación, por no hablar de los problemas de soporte técnico ya que las conexiones son frágiles debido a la delgadez.
enter image description hereenter image description here

0 votos

En realidad no he comprobado la forma típica de mi distribución, creo que varía semana a semana dependiendo de los cambios que haga la gente. De hecho, podría estar muy sesgada.

0 votos

Gracias por ponerle un nombre a mi pirateo, por cierto. Inspira algo de confianza :-)

8voto

icelava Puntos 548

Su planteamiento me parece lógico, teniendo en cuenta su objetivo. Es simple, es sencillo, hace el trabajo, y es probable que no quieras escribir un artículo científico sobre ello.

Una cosa que uno debe siempre hacer al tratar con los valores atípicos es comprender y usted ya hace un gran trabajo al respecto. Así que las posibles formas de mejorar su enfoque serían: ¿puede utilizar información sobre qué construcciones están colgadas? Mencionas que tienes "otros mecanismos para detectarlas", ¿puedes detectarlas y luego eliminar sólo esas de la muestra?

Por otra parte, si tiene más datos, podría pensar en eliminar no los tertiles, sino los quintiles... pero en algún momento, es probable que esto no suponga una gran diferencia.

0 votos

Cuando digo "otros" mecanismos, me refiero a completamente diferente fuera de este conjunto de datos, por lo que no puedo tomar decisiones basadas en él aquí. Estamos agregando los datos diariamente, y sólo obtenemos ~50 construcciones por día, así que creo que los quintiles podrían producir muy pocos datos, pero gracias por la sugerencia, ¡puedo experimentar con ello!

2voto

Otro método es calcular la mediana de todos los promedios por pares o hacer un bootstrapping.

Actualización:

La mediana de todos los promedios por pares se denomina Estimador de Hodges-Lehmann . Este estimador suele tener una alta eficiencia. Este entrada de la enciclopedia por Scott L. Hershberger dice:

Aunque tanto la mediana como el estimador de Hodges-Lehmann son preferibles a la media de la muestra para distribuciones no simétricas, el estimador de Hodges-Lehmann tiene una mayor eficiencia relativa asintótica con respecto a la media que la mediana

El Bootstrapping puede ser menos relevante y más intensivo en términos computacionales, pero se podría tomar una pequeña muestra aleatoria de los datos con reemplazo y calcular la media de esa submuestra, hacerlo muchas veces y calcular la mediana de todas las medias.

En ambos casos ya no tiene que elegir un valor entre los valores de sus datos (cuando calcula la mediana ordinaria), sino que elige entre muchas medias de subconjuntos de los datos.

2 votos

¿Puede describir las ventajas e inconvenientes de estos métodos? Una respuesta de una sola línea es insuficiente.

1 votos

He intentado hacer una actualización con más explicaciones

0 votos

Tanto los promedios por pares como el bootstrapping parecen implicar una serie de recálculos sobre todo el conjunto de datos. La muestra suele ser bastante pequeña (<500 valores), así que probablemente no sea un problema, pero parece más complicado. Es bueno saber que hay más enfoques con los que experimentar si la media recortada resulta ser demasiado contundente. Gracias.

1voto

mmisu Puntos 1

Parece razonable lo que estás haciendo: sólo para información yo uso el siguiente proceso bastante a menudo para un propósito similar: pero sólo estoy realmente interesado en los Outliers superiores.

Calcular el resumen de cinco números: Mín, Q1, Mediana, Q3, Máx. Calcular el Rango Intercuartil : Q3-Q1. Establezca sus "vallas" de valores atípicos en Q1-IQR*X, y Q3+IQR*X: donde un valor razonable de "X" es 1,5.

Utilizando Excel y sus cifras, lo anterior (utilizando 1,5 para 'X' **) arroja un valor atípico superior :21011

MIN 50
Q1  3014
MEDIAN  8095
Q3  9073.25
MAX 21011
IQR 6059.25
UPPER FENCE 18162.125
LOWER FENCE -6074.875

Así que la valla más baja aquí no es útil o realista para su ejemplo de hecho: lo que respalda el punto hecho por el otro post sobre la importancia de entender el significado de sus datos específicos.

(**Encontré una cita para la regla de "1,5": no digo que sea autorizada, pero me parece un punto de partida razonable: http://statistics.about.com/od/Descriptive-Statistics/a/What-Is-The-Interquartile-Range-Rule.htm )

También podría decidir (tal vez) sólo utilizar los puntos de datos que caen dentro del propio IQR: esto parece dar resultados sensatos (en el sentido de que la pertenencia a su método es muy similar).

utilizando los mismos datos, esto situaría los siguientes puntos de datos en la "zona de interés":

7812
3014
13400
21011
8993
8378
9100

En un Boxplot : estos puntos estarían todos dentro de la parte de la caja (en lugar de la parte de los bigotes) del diagrama.

Se puede ver que esta lista incluye algunos elementos que no están en tu lista original (las construcciones más largas); no puedo decir si una lista es más precisa de alguna manera. (de nuevo, se trata de entender tu conjunto de datos).

0 votos

Gracias, esto parece muy cercano en principio a lo que ya estoy haciendo. ¿En qué sentido podría ser mejor este método que simplemente particionar el conjunto de datos?

1 votos

Realmente no puedo decir si cualquiera de los dos métodos es mejor o no: Lo he sugerido basándome en lo que he leído en libros/sitios de estadísticas. Una de las cosas (creo) que añade el método es que permite ajustar las "vallas" a lo que se considere adecuado (ajustando el factor 1,5); mientras que si sólo se toma el tercio medio podría ser más susceptible de incluir un valor atípico potencialmente alto (que podría clasificarse mejor fuera de la valla) ....., pero no puedo asegurarlo. Otra cosa sobre el uso de cuartiles, es que el resumen de 5 números es bastante bien entendido y comúnmente utilizado.

0 votos

¡Gracias por el detalle añadido! Lo hago en Python, así que ya tengo una función en la que divido el conjunto de datos en N partes y luego saco la parte central. Es un cambio de un carácter para hacer 5 o 7 particiones en su lugar. Pero tu punto es bien tomado, y es bueno ver otra forma común de abordar este problema. Gracias de nuevo.

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