4 Reproducibilidad
En este capítulo se introduce el concepto de reproducibilidad, las características que debe cumplir una investigación reproducible y algunas de las herramientas informáticas que pueden ayudar a implementarlas.
4.1 Resumen
El trabajo de un investigador se considera reproducible si otros investigadores, trabajando de manera independiente, pueden alcanzar los mismos resultados. Para esto se requiere tener acceso a los datos y al código fuente empleados por el investigador original.
Hay varias herramientas informáticas que faciitan la reproducibilidad, entre las que están los lenguajes de programación, los lenguajes de marcado y los sistemas de control de versiones.
4.2 Trabajo previo
4.2.1 Lecturas
Singleton, Alex David; Spielman, Seth; & Brunsdon, Chris (2016). Establishing a framework for Open Geographic Information science. International Journal of Geographical Information Science, 30(8), 1507-1521. https://doi.org/10.1080/13658816.2015.1137579
4.3 Introducción
La reproducibilidad es la capacidad de un ensayo o experimento de ser reproducido por otros, en particular, por la comunidad científica. Más formalmente, en investigación cuantitativa, un análisis se considera reproducible si “el código fuente y los datos utilizados por un investigador para llegar a un resultado están disponibles y son suficientes para que otro investigador, trabajando de manera independiente, pueda llegar al mismo resultado” (Gandrud, 2020).
La reproducibilidad, junto con la falsabilidad, es uno de los pilares del método científico. Sin embargo, en años recientes, se ha generado una creciente preocupación debido a que muchos estudios científicos publicados fallan las pruebas de reproducibilidad, dando lugar a una crisis de reproducibilidad o replicabilidad en varias ciencias (Krugman, 2013).
El concepto de reproducibilidad es cada vez más importante debido, entre otras razones, al aumento exponencial de datos disponibles y a la aplicación de la programación de computadoras, para procesar estos datos, por parte de especialistas de muchas disciplinas.
Alex Singleton y otros autores han identificado los siguientes retos para la reproducibilidad en ciencia de datos geoespaciales (Singleton, Spielman, & Brunsdon, 2016):
- Los datos deben ser de dominio público y estar disponibles para los investigadores.
- El software utilizado debe ser de código abierto (open source) y estar disponible para ser revisado.
- Siempre que sea posible, los flujos de trabajo deben ser públicos y con enlaces a los datos, software y métodos de análisis, junto con la documentación necesaria.
- El proceso de revisión por pares (peer review process) y la publicación académica deben requerir la presentación de un modelo de flujo de trabajo e idealmente la disponibilidad de los materiales necesarios para la replicación.
- En los casos en los que la reproducibilidad total no sea posible (ej. datos sensibles), los investigadores deben esforzarse por incluir todos los aspectos que puedan de un marco de trabajo abierto.
En general, el estándar mínimo de reproducibilidad requiere que los datos y el código fuente estén disponibles para otros investigadores (Peng, 2011). Sin embargo, dependiendo de las circunstancias y recursos disponibles, existe todo un espectro de posibilidades, que se ilustra en la Figura fig-espectro-reproducibilidad.
4.4 Herramientas
Para facilitar la reproducibilidad, se cuenta con diversas herramientas informáticas, entre las que pueden mencionarse:
- Lenguajes de programación.
- Lenguajes de marcado.
- Sistemas de control de versiones.
La programación de computadoras es una actividad presente durante todos los procesos de ciencia de datos. Hay muchos lenguajes que pueden utilizarse en este campo. Algunos de los más populares son Python, R, SQL y JavaScript.
Por otra parte, la documentación es vital durante todo el ciclo de vida de una investigación reproducible. Se recomienda utilizar mecanismos estandarizados y abiertos como el lenguaje de marcado de hipertexto (HTML, en inglés, HyperText Markup Language) o Markdown, con los cuales pueden crearse documentos mediante editores de texto simples (i.e. no se requiere de software propietario), y exportables a varios formatos (ej. LaTeX, PDF).
Para dar mantenimiento, tanto al código fuente como a la documentación, es necesario un sistema de control de versiones como Git, el cual permite llevar el registro de los cambios en archivos y también facilita el trabajo colaborativo al reunir las modificaciones hechas por varias personas. Git es usado en varias plataformas que comparten código fuente (ej. GitHub, GitLab) y que ofrecen servicios relacionados, como hospedaje de sitios web.