He estado revisando los artículos de varias revistas y conferencias de primer nivel durante los últimos años. Después de todas estas experiencias, puedo decirle que no hay forma de confirmar la exactitud de los resultados de la simulación. Por lo tanto, suelo hacer comentarios sobre diseño, procedimiento, análisis matemático y analítico.
En la sección de resultados, puedo hacer algunas preguntas sobre por qué esto o aquello es así, pero ¿cómo puedo juzgar si la simulación se realizó realmente o si estos son solo gráficos fabricados?
Esta pregunta me vino a la mente porque observé en pocas ocasiones, durante el proceso de revisión, que un revisor solicitó incluir nuevos resultados, lo que en mi opinión requirió mucha codificación y esfuerzo para implementar, pero el autor respondió dentro de 7 a 10 días con nuevos resultados. y artículo mejorado.
¿Tiene motivos para dudar de su veracidad o buena fe? ¿Son sus afirmaciones de alguna manera poco creíbles o muy cuestionables según su conocimiento del campo? Si no es estándar en su campo publicar el código, no creo que un revisor deba exigirlo necesariamente, independientemente de sus sentimientos acerca de hacer público el código.
Los autores deben describir su metodología de manera suficiente para que alguien más la replique; de esa manera, están poniendo en riesgo su reputación de que si alguien duplicara su enfoque, encontrarían los mismos resultados. Fabricar resultados es una acusación muy seria. Existen algunos enfoques estadísticos para probar si es probable que se fabriquen los datos, pero la eficacia de este enfoque depende de la sofisticación de la fabricación, y esa pregunta se adapta mejor a CrossValidated.
Si su trabajo es significativo en el campo, en algún momento alguien implementará su enfoque nuevamente. Hay necesariamente un poco de confianza en la ciencia de que la gente hace lo que dice que ha hecho. Un revisor debe verificar que las conclusiones de un artículo se deriven lógicamente de sus resultados y que su metodología esté descrita y sea sólida, pero no es necesario que verifique ni reproduzca los resultados. Como señala David Thornley en un comentario sobre otra respuesta, incluso la simple ejecución del código le dice muy poco sobre esos factores clave, solo le dice si hay una mentira o un error flagrante.
Realmente no se puede juzgar si la simulación se realizó realmente. Por eso hemos tenido cosas como el escándalo de Schön : los revisores de esos manuscritos tampoco detectaron el fraude.
Lo que puedes hacer es implementar la "prueba del olfato". ¿Es factible este enfoque? ¿Son razonables los resultados? ¿Hubo omisiones evidentes? Si no puede ver ningún problema obvio con la simulación, eso es lo suficientemente bueno: la revisión por pares real ocurre después de la publicación.
Después de todas estas experiencias, puedo decirle que no hay forma de confirmar la exactitud de los resultados de la simulación.
Eso no es necesariamente cierto. En algunos casos, es muy fácil discernir que un gráfico no puede ser correcto o que al menos ha sido malinterpretado o mal interpretado. Tuve un error de este tipo en uno de mis primeros artículos y lo he detectado en varios artículos que he revisado.
No es fácil demostrar que las simulaciones se han realizado realmente. Sin embargo, el marco de Open Science está diseñado para facilitar la verificación de los resultados del trabajo computacional y experimental.
Termino revisando documentos del tipo de ciencia de datos donde el código subyacente es crítico. Empecé a ser ese tipo durante las revisiones, y esto es lo que pido:
Todo esto me parece bastante razonable y aborda muchas de las preocupaciones sobre la calidad del código. La mayoría de las personas con un código bien diseñado las alcanzará simplemente por tener pruebas de integración continuas en un repositorio de GitHub, y creo que ya no es necesario mimar a las personas con un código mal diseñado (que es demasiada gente).
no hay forma de confirmar la exactitud de los resultados de la simulación.
Las simulaciones deben ser repetibles, por lo tanto, la corrección se puede verificar volviendo a ejecutar la simulación. Por supuesto, es posible que los autores no proporcionen el código necesario, pero luego puede solicitar el código como parte del proceso de revisión.
Es un artefacto desafortunado de la historia y la cultura, pero la academia todavía está en la edad oscura con respecto a compartir el código fuente. Los investigadores computacionales serios a menudo proporcionarán al menos un algoritmo detallado y, a menudo, también el código. Pero los aficionados que tuvieron que aprender a codificar "en el trabajo", o las personas muy arraigadas en sus costumbres y tradiciones, a menudo se olvidan de hacerlo y las publicaciones estándar rara vez lo requieren, aunque uno pensaría que alguien en su sano juicio lo haría. estar de acuerdo en que todo el código científico debe ser de código abierto (o al menos compartido con los revisores) para que valga la pena discutirlo.
Desafortunadamente, la cultura establecida no espera compartir el código, aunque en el caso análogo de los experimentos físicos existe la expectativa de compartir el proceso exacto hasta cada detalle del método y el material, de modo que otros investigadores puedan reproducirlo exactamente. Sospecho que la razón de esto es que, en el gran esquema de las cosas, las computadoras son una herramienta científica relativamente reciente, y la capacidad de compartir código fácilmente es aún más reciente. Dicho esto, hemos tenido Internet ubicuo y alojamiento de código sin esfuerzo como Github durante más de una década, así que si me preguntas, ya es hora. Pero parece que todavía hay bastante inercia.
He estado revisando los artículos de varias revistas y conferencias de primer nivel durante los últimos años. Después de todas estas experiencias, puedo decirle que no hay forma de confirmar la exactitud de los resultados de la simulación. Por lo tanto, suelo hacer comentarios sobre diseño, procedimiento, análisis matemático y analítico.
Eso es lo mejor que puedes hacer. También puede intentar conjeturar intuitivamente basándose en la descripción aproximada (si la hay) del enfoque computacional, ya sea que los resultados obtenidos sean creíbles o no. Pero en última instancia, es imposible saberlo con certeza.
Trato de agregar una pequeña queja al final de mis reseñas sobre la liberación del código fuente, aunque no creo que se tome en serio muy a menudo.
En la sección de resultados, puedo hacer algunas preguntas sobre por qué esto o aquello es así, pero ¿cómo puedo juzgar si la simulación se realizó realmente o si estos son solo gráficos fabricados?
Bueno, por la forma en que lo expresas, no puedes saber realmente si se fabricó algún gráfico o resultado, a menos que tal vez estuvieras personalmente presente mientras se realizaba la investigación. Inevitablemente hay un elemento de confianza. Pero sin el código fuente, incluso si confía, no puede ofrecer una crítica significativa sobre algunas partes computacionales del documento. Obviamente, aún puede comentar sobre las suposiciones iniciales y el enfoque elegido. Puede comentar cómo se interpretan los resultados. Pero la implementación en sí está fuera de su alcance hasta que pueda ver el código. En realidad, incluso proporcionar un algoritmo detallado no sería suficiente: la implementación de los autores puede no ser necesariamente una coincidencia exacta para el algoritmo que pretendían.
Esta pregunta me vino a la mente porque observé en pocas ocasiones, durante el proceso de revisión, que un revisor solicitó incluir nuevos resultados, lo que en mi opinión requirió mucha codificación y esfuerzo para implementar, pero el autor respondió dentro de 7 a 10 días con nuevos resultados. y artículo mejorado.
No creo que sea justo sospechar solo porque lo hicieron demasiado rápido. Pueden ser muy buenos codificando. Personalmente, mi tasa de desarrollo es muy variable: a veces las cosas simplemente hacen clic y puedo escribir código muy rápido, a veces las cosas simples toman una eternidad. Es posible que conozcan formas más fáciles de implementar el cambio de lo que usted cree. Es posible que ya hayan codificado algo similar en un trabajo separado y hayan podido reutilizarlo rápidamente.
Si alguien falsificara los resultados, creo que respondería de inmediato porque no le importa, o esperaría "lo suficiente" para evitar sospechas. Si se molestaran en esperar, no creo que pusieran en peligro toda la empresa esperando demasiado poco.
Para que el trabajo de simulación sea reproducible con precisión, sería necesario tener (a) el código para la simulación y (b) la semilla para el generador de pseudoramdon utilizado para ejecutar el código. A menos que el código sea propietario, no hay una buena razón para que los autores oculten esta información a los revisores, incluso si el código no se publicará como parte del artículo. Sin embargo, los estudios de simulación publicables pueden ser tan extensos que no es factible incluso para un revisor escéptico enérgico repetir las simulaciones.
Hasta cierto punto, muchos estudios de simulación pueden autoverificarse. Cuando esto sea posible, los revisores deben insistir en una verificación inherente factible. En un lenguaje no técnico aquí hay un par de ejemplos de lo que quiero decir.
(1) A menudo, una simulación producirá varios resultados, algunos de los cuales son novedosos y otros se obtienen fácilmente o son conocidos en general sin recurrir a la simulación. Entonces, como mínimo, un revisor puede confirmar que los últimos resultados son válidos. De manera similar, las simulaciones pueden refinar los resultados que solo pueden aproximarse mediante cálculos probabilísticos u otros cálculos matemáticos. Luego, el revisor puede confirmar que los resultados son al menos aproximadamente correctos.
(2) Con mucha frecuencia, una parte importante de un estudio de simulación puede ser obtener límites aproximados dentro de los cuales es probable (quizás 95% de probabilidad) que se encuentren los resultados simulados. Si parece factible haber obtenido dichos límites y el artículo bajo revisión carece de ellos, entonces el revisor debe solicitarlos o una explicación de su ausencia.
Anexo: Este es un ejemplo trivial que ilustra algunos conceptos en (1) y (2). Supongamos que se cargan cinco dados de modo que las caras 1 a 6 tengan probabilidades respectivas (1/12, 1/6, 1/6, 1/6, 1/6, 1/4) de ocurrir. Si se lanzan los cinco, ¿cuál es la probabilidad de que el total sea al menos 25? Una simulación en el software estadístico R de un millón de experimentos de 5 dados muestra que la fracción de resultados con un total de 25 o más fue 0,092903. ¿Es creíble este resultado? La respuesta es Sí, a unos tres lugares.
El margen simulado del 95 % del error de simulación está "dentro de 0,0006". Es fácil ver que el total promedio es 19.583 y el resultado simulado correspondiente es 19.580. Una aproximación normal razonable de 2 lugares es 0.0922. Este ejemplo particular es rico en posibilidades de corroboración, pero esas son algunas.
Nota: Otro problema es que, utilizando varios tipos de software matemático, este problema podría resolverse exactamente mediante métodos combinatorios avanzados. Un método exacto se basa en esta página , excepto que nuestros dados están sesgados y los resultados no son igualmente probables. Es cuestionable si las simulaciones deben publicarse si existe una solución exacta manejable. Una de las tareas de un revisor es identificar los artículos que no deberían publicarse por este motivo.
Por lo general, los ejemplos conocidos se reproducen para tener la confianza de que la simulación está haciendo lo que dice. Luego, simulaciones adicionales muestran los nuevos resultados, que podrían no ser reproducidos por otro grupo porque no utilizó el método o enfoque descrito en el documento/charla.
Debido a la brevedad, a menudo se omite la primera parte en artículos de revistas y conferencias. Las tesis doctorales las contienen con más frecuencia.
Una de mis primeras publicaciones, no contiene ningún avance, solo se cita de otras para demostrar que coinciden con mis resultados.
Si estuviera revisando un artículo que dependiera en gran medida de algún análisis computacional, pero no proporcionara el código, lo rechazaría a menos que los autores pudieran dar una buena razón: incluso si hubieran usado bibliotecas propietarias, yo Quisiera ver las llamadas que hicieron a esas bibliotecas. Esto es requerido por muchas revistas en mi campo (genómica/bioinformática).
Dicho esto, si las simulaciones se ejecutaron durante 2 meses con 10 000 núcleos (o incluso una semana con 200 núcleos), no hay muchas posibilidades de que me reproduzca incluso con el código. Y es casi seguro que no tengo ni el tiempo, el dinero ni la experiencia para repetir los experimentos de laboratorio en cualquier artículo que leo.
No creo que proporcionar código, aunque sea una buena práctica, sea una protección contra la deshonestidad. Al final, hay muy poca protección contra el fraude total, y el proceso de revisión no existe principalmente para ese propósito.
Mohaqiq
david thornley
PLL
Batalla
Andrei
chris h
Mohaqiq
tizoide
Cualquiera
Verdaderamente