7 votos

Bibliotecas de código abierto en la Ciencia

¿Es una buena o una mala práctica usar R paquetes de CRAN para la investigación? Estoy hablando de los paquetes comunes como: modelos simples para la regresión, la estimación, la econometría La mayoría de ellos utiliza la función de la que se puede escribir fácilmente en su propio.

A mi sí argumentos:

  • Tiempo para centrarse en la parte principal de la investigación
  • La comunidad es un buen control de calidad
  • R ofrece una gran cantidad de modernos métodos de
  • Algunos modelos son demasiado complicados para que las escriban en su propio

A mi con argumentos:

  • No todos los paquetes de R ha sido creado en un ambiente académico
  • Podría haber errores que influyen en el resultado y no sé que
  • La mayoría de los modelos pueden ser escritos en un corto período de tiempo a partir de cero

¿Cómo podemos utilizar el open source sin correr el riesgo de fallas en el resultado? Hay ciertos indicadores de calidad para los paquetes en general y para la R?

13voto

Marc Claesen Puntos 9818

No considero esto un R pregunta específica. La verdadera pregunta es: ¿se puede confiar en otras personas de código? O, tomando la otra perspectiva: ¿crees que puedes hacerlo mejor? (en el momento en que usted está dispuesto/poder pasar)

Si el software es abierto o cerrado de la fuente, en realidad no importa. La fiabilidad de la fuente abierta en comparación con el software comercial es un tema de mucho debate. Los argumentos que existen a favor de cualquiera de los lados de la discusión. Nadie puede refutar que ambos pueden (y lo hacen) contienen errores de diversa naturaleza, algunas más complicadas que otras.

TL;DR: en mi opinión: sí, está bien hacer uso de los paquetes existentes si ellos cubren sus necesidades.


Mi lema, en general, es tratar de implementar cosas a mí mismo si una variedad de los siguientes son verdaderas:

  1. exactamente lo que quiero hacer y cómo hacerlo (esto está lejos de ser trivial para muchos modelos de prácticas).
  2. Vale la pena el tiempo que se requiere para implementar y probar mi propio código, en comparación a lo que ya existe. En otras palabras: yo lo uso a menudo o solo una vez?
  3. Lo que ya existe, no ofrecen toda la funcionalidad que necesito.
  4. Tengo una buena razón para no confiar en las implementaciones existentes (tales como el comportamiento inesperado cuando se usa).

Personalmente, me gusta, utilizar y desarrollar una gran cantidad de código abierto como yo creo que para ser importante, especialmente en un contexto académico. En la práctica, muchas personas sólo se considere el uso de un algoritmo dado, si una aplicación está disponible. Nadie se beneficia de un gran conjunto de implementaciones de la misma cosa. Es mucho mejor disponer de una eficiente, probada y verificada la aplicación de un determinado método.

A la gente le gusta creer que si lo hago yo mismo, sé que lo hace correctamente. La práctica esto contradice de manera regular.

No todos los paquetes de R ha sido creado en un ambiente académico

No sé por qué usted se siente que los paquetes creados por los académicos son superiores. Seguro, el método en sí pueden ser más complejas y novedosas, pero todas las apuestas están apagadas con respecto a la aplicación. Los investigadores no son necesariamente los mejores programadores (de hecho, dado que normalmente no es su especialidad, yo diría lo contrario es más probable).

En la práctica, los investigadores regularmente hack soluciones juntos, a veces sin pruebas exhaustivas. Naturalmente, esto puede dar lugar a todo tipo de malos resultados (más notablemente silencioso falla). Personalmente, creo que una de las razones para este comportamiento es el hecho de que el software de salida está infravalorado en la investigación. Algunos investigadores simplemente correr hacia la siguiente publicación. La publicación de los resultados de la materia, el software utilizado para obtener de ellos en realidad no. Esto conduce a software que no se ha probado adecuadamente cuando la gente reinventar la rueda para un solo uso.

¿Cómo podemos utilizar el open source sin correr el riesgo de fallas en el resultado?

Usted no puede. Esto también se aplica a software comercial y software que te escribo con mucho cariño y amor. Si llegas a encontrar una manera de asegurar que el software no tiene errores o advertencias, al instante, hacer una cita con Bill Gates (o mejor aún, me lo cuentes).

La única solución es evaluar de forma crítica los resultados de cada paso del camino. Nunca confiar en el software de manera incondicional, no importa lo que el software es.

Hay ciertos indicadores de calidad para los paquetes en general y para la R?

Generalmente, los paquetes que llegan a disposición del público, por ejemplo en CRAN, han sido sometidos a rigurosas pruebas, especialmente los que acostumbrarse a menudo. La gente va a pensar dos veces antes de hacer probadas de basura disponible públicamente cuando su credibilidad está en juego. El número de citas que puede ser considerado un indicador de calidad también, además de un activo en el desarrollo de la comunidad.

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