92 votos

Cómo gestionar de forma eficiente un análisis estadístico proyecto?

A menudo escuchamos de la gestión de proyectos y los patrones de diseño en ciencias de la computación, pero con menos frecuencia en el análisis estadístico. Sin embargo, parece que un paso decisivo hacia el diseño de una efectiva y duradera proyecto estadístico es mantener las cosas organizadas.

A menudo me defienden el uso de la R y una coherente organización de los archivos en carpetas separadas (archivos de datos en bruto, transformado archivo de datos, R scripts, figuras, notas, etc.). La razón principal de este enfoque es que puede ser más fácil de ejecutar su análisis posterior (cuando se le olvidó cómo se pasó de producir una determinada parcela, por ejemplo).

¿Cuáles son las mejores prácticas para las estadísticas de gestión de proyectos, o las recomendaciones que le gustaría dar a partir de su propia experiencia? Por supuesto, esto se aplica a cualquier software estadístico. (una respuesta por post, por favor)

81voto

DavLink Puntos 101

Estoy compilando una rápida serie de directrices que se encuentran en ASÍ (como sugerido por @Shane), Biostar (en adelante, BS), y este SE. Hice mi mejor esfuerzo para reconocer la propiedad de cada elemento, y para seleccionar el primer o muy upvoted respuesta. También he añadido cosas de mi propia, y los elementos marcados que son específicos para la [R] medio ambiente.

La gestión de datos

  • Crear una estructura de proyecto para mantener todas las cosas en el lugar correcto (datos, código, figuras, etc., giovanni /BS)
  • Nunca modificar archivos de datos raw (idealmente, deben ser de sólo lectura), copiar, cambiar el nombre a los nuevos, al hacer transformaciones, limpieza, etc.
  • Comprobar la coherencia de los datos (whuber /SE)
  • Gestionar la secuencia de comandos de las dependencias y flujo de datos con la automatización de la compilación de la herramienta, como GNU make (Karl Broman/Zachary Jones)

Codificación

  • organizar el código fuente en unidades lógicas o bloques de construcción (Josh Reich/hadley/ars /; giovanni/Khader Shameer /BS)
  • separar el código fuente de la edición de material, especialmente para gran proyecto, que coinciden en parte con el elemento anterior y la presentación de informes
  • Todo documento, con, por ejemplo, [R]de oxígeno (Shane /) o coherente de sí mismo-anotación en el archivo de origen, una buena discusión sobre Medstats, documentación de los análisis y de los datos de las ediciones de Opciones
  • [R] funciones Personalizadas se puede poner en un archivo especial (que puede ser de origen cuando sea necesario), en un nuevo entorno (así como a evitar el poblamiento en el alto nivel de espacio de nombres, Brendan OConnor /), o un paquete (Dirk Eddelbuettel/Shane /)

Análisis

  • No olvides poner/registro de la semilla que se utiliza cuando se llama generador de números aleatorios o estocásticos algoritmos (por ejemplo, k-means)
  • Para Monte Carlo estudios, puede ser interesante para la tienda especificaciones/parámetros en un archivo independiente (sumatra puede ser un buen candidato, giovanni /BS)
  • No se limite a una parcela por cada variable, utilice multivariante (Enrejado) muestra interactiva y herramientas de visualización (por ejemplo, GGobi)

El control de versiones

  • El uso de algún tipo de revisión de control de fácil seguimiento/de la exportación, por ejemplo, Git (Sharpie/VonC/JD Largo /) -- esto se desprende de niza preguntas hechas por @Jeromy y @Tal
  • Copia de seguridad de todo lo que, sobre una base regular (Sharpie/JD Largo /)
  • Mantener un registro de tus ideas, o depender de un gestor de incidencias, como ditz (giovanni /BS) -- en parte redundante con el punto anterior, ya que está disponible en Git

Edición Y Presentación De Informes

Como una nota del lado, Hadley Wickham ofrece una visión global de R de gestión de proyectos, incluyendo reproducible ejemplificación y un unificada de la filosofía de datos.

Finalmente, en su R-orientado al Flujo de trabajo del análisis de datos estadísticos Oliver Kirchkamp ofrece una descripción detallada de por qué la adopción y obedeciendo a un flujo de trabajo específico ayudará a los estadísticos de colaborar unos con otros, garantizando la integridad de los datos y la reproducibilidad de los resultados. Se incluye, además, la discusión sobre el uso de un tejido y sistema de control de versiones. Stata usuarios pueden encontrar J. Scott Largo del Flujo de trabajo de Análisis de Datos con Stata útil también.

21voto

Jon Galloway Puntos 28243

Esto no se refiere específicamente a dar una respuesta, pero usted puede desear mirar en estos relacionados con stackoverflow preguntas:

Usted también podría estar interesado en Juan Myles Blanco el reciente proyecto para crear una estadística de la plantilla de proyecto.

8voto

ESRogs Puntos 1381

Esto se superpone con Shane respuesta, pero en mi opinión hay dos principales pilares:

  • Reproducibilidad; no sólo porque usted no va a terminar con los resultados que se hizo "de alguna manera", pero también ser capaz de volver a ejecutar el análisis más rápido (en otros datos o con cambió ligeramente de los parámetros) y se han más tiempo para pensar acerca de los resultados. Para una gran cantidad de datos, en primer lugar a prueba sus ideas en algunos pequeños "playset" y, a continuación, extender fácilmente en el conjunto de los datos.
  • Una buena documentación; comentó secuencias de comandos en la versión de control, algunos de los revista de investigación, incluso sistema de tickets para más complejo proyectos. Mejora la reproducibilidad, hace que el error de seguimiento más fácil y redacción de informes finales de trivial.

4voto

alexp206 Puntos 899

van Belle es la fuente de las reglas de éxito de los proyectos estadísticos.

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