¿Es poco ético/científico omitir datos atípicos en una publicación cuando están A FAVOR de su argumento?

Tengo un diagrama de dispersión (log-) con unos 10,000 puntos de datos que traza el tiempo de ejecución de algún algoritmo contra la entrada en instancias aleatorias de algún problema.

Tengo muchas de estas parcelas y, debido a limitaciones de espacio, no puedo dedicarles exactamente una gran cantidad de espacio. Las parcelas miden 1-2 pulgadas de alto. El problema es que un puñado (tal vez 5 o más) de estas muestras han tomado una cantidad de tiempo ridículamente corta para completarse (digamos, unos pocos milisegundos), mientras que casi todos los otros puntos de datos han tomado 2-3 órdenes de magnitud. más extenso.

Estoy tratando de demostrar que mi algoritmo es rápido, así que me imagino que no debería doler omitir estos pocos puntos de datos y generar más muestras, ¿verdad?

Siento que mencionar cualquier cosa confundiría innecesariamente al lector, y mantenerlos molestaría al lector ya que la trama tendría una gran cantidad de espacio en blanco. Y obviamente no es como si estuviera tratando de suprimir evidencia en contra de mi investigación o algo así --- los datos descartados solo están a favor de mi algoritmo.

¿Estaría violando algún código ético aquí si simplemente descarto esas muestras sin mencionar nada para que mis gráficos se vean mejor? ¿Es poco científico? Y si es así, ¿a alguien realmente le importaría?

¿Quiso decir que 5 de 10,000 fueron súper rápidos?
@scaaahu: Sí. (¿Hay otra interpretación posible de mi pregunta que me falta?)
No, solo quiero asegurarme de haber leído bien tu pregunta. Cinco de 10.000 es extraordinario. Podría haber otras razones para que eso suceda.
¿Un eje roto resolvería su problema?
@Wrzlprmft: No realmente, el eje roto sería aún más confuso que simplemente incluirlo...
¿Es poco ético/científico omitir datos atípicos ? Sí.
Guau, esta pregunta obtuvo muchas más visitas de las que esperaba...

Respuestas (8)

La ciencia tiene como objetivo la revelación y la comprensión. Antes de que pueda considerar descartar estas muestras, debe comprender por qué existen.

La razón es que los datos inesperadamente "buenos" pueden ser tanto un signo de problemas con su teoría como los datos inesperadamente malos. ¿Estos puntos de datos le están diciendo que tiene un error en su algoritmo? ¿Están diciendo que la instrumentación que estaba usando para medir el tiempo no era confiable o no estaba calibrada correctamente? ¿O es simplemente que, bajo ciertas circunstancias, sus problemas aleatorios resultan extremadamente fáciles de resolver? Puede haber otras posibilidades también.

Si no puede determinar por qué existen los valores atípicos, debe incluirlos para ayudar al lector a evaluar su trabajo. Si determina que existen por una razón problemática, entonces, bueno, aún no está listo para publicar. Si determina que existen por una razón benigna, puede eliminarlos de la figura, pero debe explicar exactamente lo que ha hecho en el texto y por qué, o de lo contrario corre el riesgo de confundir al lector.

Al final del día, los datos que obtuvo son los datos que obtuvo, y debe tratarlos con honestidad.

... problemas con tu teoría o con el experimento. Recuerde, "No puedo explicar eso" es donde se encuentran los verdaderos descubrimientos.
Como mínimo, creo que debe averiguar si los valores atípicos son reproducibles volviendo a ejecutar la misma entrada; incluso si la entrada se generó "al azar", presumiblemente puede guardarla y reutilizarla. Si no son reproducibles y no puede explicar por qué, la siguiente pregunta bien podría ser "¿alguno de sus resultados demuestra algo en absoluto?".
Además: ha habido varios estudios en los que lo que parecían ser valores atípicos eran, de hecho, los datos válidos . Desearía poder recordarlos de la parte superior de mi cabeza, pero leí algo al respecto en el último año más o menos.

¿Es poco científico?

Sí. El propósito de estos gráficos no es mostrar que el algoritmo es rápido, sino dar una imagen precisa de su velocidad. La eliminación intencional de valores atípicos sin explicación da una imagen distorsionada. Está bien si lo tiene claro (por ejemplo, si explica en el pie de foto o en el texto los valores atípicos que se eliminaron y por qué), pero no si lo hace en silencio.

Estos valores atípicos realmente podrían importar:

  1. Tal vez indiquen un error en su código, en cuyo caso, al eliminarlos, parecería que está ocultando deliberadamente un trabajo descuidado.

  2. Explicar los valores atípicos podría ser científicamente interesante e importante (tal vez podría conducir a un algoritmo aún más rápido), pero nadie lo intentará si ni siquiera sabe que está allí.

  3. Si alguien más implementa el algoritmo y compara sus resultados con los suyos, puede perder tiempo tratando de entender por qué tienen valores atípicos y usted no.

Especialmente para los algoritmos, donde el rendimiento de los casos extremos es importante, la noción de que puede descartar valores atípicos es... un poco problemática.
@Fomite: Bueno, mi idea era que los peores casos casi siempre son interesantes, pero los mejores casos rara vez lo son, ya que es fácil hacer que un algoritmo tenga una "ruta rápida" para devolver respuestas a consultas fáciles. Por ejemplo, imagínese si estuviera tratando de ordenar una lista, solo para encontrar que la lista ya estaba ordenada. Entonces no necesitaría hacer nada más, y el algoritmo terminaría mucho más rápido en estos casos. Pero (a menos que su algoritmo sea recursivo), este tiempo de ejecución en el mejor de los casos no sería interesante al comparar el rendimiento de su algoritmo de clasificación, por lo que podría intentar excluirlo.
@Mehrdad puede ser útil tener un algoritmo de este tipo en una situación en la que espera que sus listas estén ordenadas la mayor parte del tiempo, pero no siempre. Los mejores casos son realmente interesantes y, como sugieren sus propias pruebas, no son tan artificiales (una vez cada dos mil casos aleatorios).
@Davidmh: nunca negué la utilidad de tener dicho algoritmo. Negué la utilidad de trazar el comportamiento del mejor de los casos de tal algoritmo en muchos (no todos) los casos. Hace que sea más difícil comparar significativamente el algoritmo con otros, a menos que, por alguna razón, espere que las listas estén ordenadas la mayor parte del tiempo, lo que generalmente no sucede.

Sí. Para un escenario práctico, imagine a alguien tratando de replicar su investigación, siguiendo solo su artículo y golpeándose en la cabeza pensando que tiene un error, porque su trama muestra estos extraños valores atípicos.

Básicamente, tienes que dar a la gente toda la información, porque no sabes cómo van a utilizar tu papel. Probablemente, a la mayoría de los lectores no les importen los valores atípicos, y probablemente juzgarán el método de la misma manera, pero no depende de usted tomar esa decisión.

Por supuesto, tienes que filtrar el ruido, de alguna manera. Por lo general, el truco consiste en encontrar la manera de brindarle al lector toda la información, al tiempo que le permite concentrarse en lo que es importante. En su caso, solo diría en el título de la trama, que 5 ejecuciones del algoritmo fueron tan rápidas que estaban fuera de la escala de la trama (o algo por el estilo).

+1 para el primer párrafo. Eso es más convincente de lo que estoy encontrando algunas de las otras respuestas.

La cuestión clave no es si elimina o no los valores atípicos, sino si describe y explica lo que hizo o no. Hay muchas razones válidas para eliminar los valores atípicos, pero si lo hace, debe decir que lo hizo y decir por qué.

A diferencia de algunas de las otras respuestas aquí, no creo que sea absolutamente necesario explicar completamente los valores atípicos antes de excluirlos. Pero si no tienes una explicación, también debes decirla. Idealmente, explicaría los resultados con y sin los valores atípicos. Si la presencia o ausencia de los valores atípicos no afecta la conclusión general, aún puede ceñirse a esa conclusión, mientras menciona los valores atípicos como una curiosidad que quizás valga la pena estudiar más a fondo.

Por supuesto, la forma en que los revisores considerarán cualquiera de estas estrategias depende de su campo y lugar de publicación. Pero esos revisores deben estar al tanto de cualquier elección que haya hecho en su análisis. Descartar valores atípicos es una elección analítica, y hacer cualquier elección analítica sin revelarla no es científico.

Como alguien con menos experiencia académica y más experiencia en informática, mi primer instinto para una pequeña cantidad de pruebas que fallan es que estas pruebas en particular no se ejecutaron correctamente. Básicamente, su algoritmo no se completó y regresó antes de tiempo debido a un error. Este error puede estar en su código, en su conjunto de datos o en ambos. De cualquier manera, una diferencia de órdenes de magnitud no es normal. Verifique los resultados de esas ejecuciones particulares y vea si son normales. Por lo que sabemos, esos 5 puntos de datos en realidad podrían ser el algoritmo que se ejecuta correctamente, y esos otros 9995 puntos de datos son los que tienen errores (poco probable, pero posible).

En cuanto a mostrar estos valores atípicos, ¿ha considerado mostrar ese gráfico con un eje Y log(10)? Esto reduciría la cantidad de espacio desperdiciado, pero aun así mostraría que hay valores atípicos.

De cualquier manera, eliminar puntos de datos por motivos de formato es falsificar datos, tal como lo haría si los eliminara porque no probaron su punto. Puede acabar fácilmente con tu carrera.

@Mehrdad podría ser un poco extremo, pero definitivamente no ayudaría a tu carrera. Básicamente, está eliminando puntos de datos porque no se ajustan a su idea de cómo deberían verse los datos. Eso indica que crees que tu idea es más importante que la realidad, lo cual es contrario a lo que trata la ciencia: generar una representación precisa de la realidad.
Por lo general, los datos ocultos o distorsionados alcanzan al perpetrador con resultados desagradables. Si quieres correr el riesgo, depende de ti. En general, las personas en su campo que son sus competidores serán mucho menos amables que las personas en este sitio web. Se deleitarán en demostrar que estás equivocado si eso es lo que eres. Como han dicho otros, debe poder explicar los valores atípicos o no está listo para la publicación.
@Nzall Según mi lectura de la pregunta, OP no estaba eliminando puntos de datos porque no se ajustaban a su idea de cómo deberían verse los datos. Cuando ejecuta un programa muchas veces con una variedad de valores de entrada, es posible que, por casualidad, tenga algunos datos que caen directamente a través de todas las ramas if-then-else y estructuras de bucle hasta que finalice, como la diarrea. Si no hay nada de malo con esos valores de entrada, y no hay nada de inconveniente en esos resultados de tiempo, e incluir estos gráficos en particular abarrotaría el papel innecesariamente, entonces no veo el problema de no elegir esos ...
... parcelas particulares para incluir en el documento. Cuando escuchamos "atípico" a veces sacamos conclusiones precipitadas. Puede ser útil examinar qué se entiende exactamente por "valor atípico" antes de sacar una conclusión.
@aparente001 Si tiene datos que pasan desapercibidos y dan resultados inesperados, entonces debería ver por qué pasan desapercibidos y por qué dan esos resultados. Los valores atípicos extremos pueden indicar un error en su algoritmo de procesamiento de datos, que a veces incluso puede cambiar el resultado de ese mismo algoritmo aplicado a otros puntos de datos.
@Nzall: en este caso, no son resultados inesperados, ¿verdad? Lo que entendí fue que algunos valores de entrada toman por casualidad todas las ramas cortas en los diamantes if-then-else. ("Caer a través de las grietas" no es de lo que estaba hablando).
@aparente001 Como profesional de TI, es muy probable que los datos de entrada que "casualmente" toman todas las ramas cortas no se procesen de la misma manera que otros datos y, como tales, es posible que no se procesen correctamente. Lo que dije técnicamente no es realmente diferente de la mayoría de las otras respuestas que fueron más votadas que yo.
@Nzall: es cierto que su respuesta es similar a otras. El tuyo es reciente, y el tuyo toma una postura más fuerte. (Supongo que es por eso que lo escribiste, querías ir más lejos de lo que fueron las otras respuestas). // Mira, si propongo un algoritmo que se comporta ridículamente bien con una pequeña fracción de los datos de entrada que se generaron aleatoriamente, y yo Me niego a presentar esos resultados de rendimiento particulares para respaldar mi afirmación de que mi algoritmo es más rápido que otros, eso es muy diferente de omitir un subconjunto de resultados de rendimiento que refuta mi afirmación. // Piensa en el diagrama de flujo. Digamos ...
... en aras de la simplicidad, tenemos un diagrama de flujo que tiene una serie de "si esto y aquello, haz esto o aquello, de lo contrario no hagas nada", y algunos de los datos generados aleatoriamente afectan a la mayoría o a todos el else se bifurca, disparando así a través del diagrama de flujo ridículamente rápido (ahí fue donde usé la metáfora de la diarrea), ¿significa esto que el algoritmo no es bueno? Aquí hay otra forma de verlo. Imagine un árbol de decisiones en el que ciertas ramas implican muy pocos bucles y, ocasionalmente, los datos de entrada atraviesan, por casualidad, esas ramas particulares. El tiempo de ejecución para esos particulares ...
...las entradas pueden ser ridículamente cortas. // Ahora, es cierto que en este caso podría ser una buena idea configurar el programa para ejecutar el algoritmo diez veces seguidas, siempre. Pero eso no eliminaría estos valores atípicos. // En cuanto a su comentario "es muy probable que no se procesen todas las ramas cortas de la misma manera que otros datos", lo que no sería ético sería omitir el proceso de prueba y verificación. No tenemos motivos para pensar que OP escatimó en sus pruebas; tenemos indicios de que hizo todo lo posible para evitar hacer algo poco ético.

Para ser pragmático (y estar de acuerdo con la filosofía general de ser completamente transparente siempre), solo haga sus gráficos en el espacio provisto con los valores atípicos excluidos y luego coloque una gran nota al pie en el gráfico que explique que se excluyeron 5 puntos debido a restricciones de tamaño en la página. y ofrezca comentarios allí sobre por qué / cómo existen estos puntos. Solo mis 2 centavos de un académico sufrido a otro...

como se menciona en otras respuestas, la presencia de esos valores atípicos puede ser interesante en sí misma, a menos que sea un error. Debería ser mejor tratar de mostrar todo correctamente que ocultarlos, incluso mencionarlos.

Siempre es una buena idea cambiar sus gráficos para que sus datos se vean más claros. Nunca es una buena idea cambiar los datos para que los gráficos se vean más claros.

Hay muchas maneras de informar a los lectores acerca de los valores atípicos. Mi favorito es usar una trama con un eje visiblemente roto , que llama la atención sobre los valores atípicos sin interrumpir el resto de la trama.

Es bueno que te preocupe confundir a tus lectores. Debe pensar detenidamente cómo advertir a sus lectores sobre detalles como este sin distraerlos de la historia que está tratando de contar. Sin embargo, como muchos otros le han aconsejado, nunca debe ignorar los datos en silencio para hacer que su historia suene más simple de lo que realmente es. Hacer esto podría hacer que su trabajo sea un poco más fácil de leer, pero solo al costo potencial de hacer que su trabajo sea imposible de reproducir (como dijo Peter) o descartar un detalle extraño que habría resultado ser una pista importante (como keshlam dicho).

Si comprende el motivo de los valores atípicos y representan un defecto en su metodología de medición, corrija el error y vuelva a realizar el experimento con instrumentación mejorada. No es necesario que publiques los detalles de todos los callejones sin salida por los que pasaste. Si no comprende el motivo de los valores atípicos, ignorarlos no es ético, aunque estoy seguro de que se hace con mucha frecuencia. Si comprende el motivo, por ejemplo, a veces el algoritmo simplemente tiene suerte, entonces debe mencionarlos, pero no es necesario que aparezcan en el mismo gráfico que todas las demás medidas si eso hace que el gráfico sea ilegible.

Hacer un experimento de nuevo podría costar millones. Hacer eso solo por unos pocos puntos de datos parece ridículo y entonces es mejor usar el análisis estadístico.