Sebastián Garrido de Sierra

Reproducibilidad: ¿qué es y por qué importa?

Re-pro-du-ci-bi-li-dad. Es una palabra larguísima. Para pronunciarla, tenemos que tomar una buena bocanada de aire y concentrarnos para empalmar sus siete sílabas en el orden correcto. A pesar de ello, si hemos tenido el gusto de compartir el aula contigo en alguno de los cursos de nuestra secuencia básica, nos has escuchado mencionarla una y otra vez.La frecuencia con que nos referimos a la reproducibilidad en los cursos de Data Crunchers es un reflejo de la importancia que ésta tiene en nuestras tareas cotidianas analizando y enseñando a analizar datos en R. Por ello, decidimos dedicar la primera entrada de nuestro blog, #RparaMortales, a responder qué es y por qué importa la reproducibilidad en el mundo del análisis de datos.

¿Qué significa que un análisis sea reproducible?

A pesar de que la reproducibilidad no es una idea nueva (Robert Boyle la practicaba y promovía a mediados del siglo XVII), no existe un consenso en torno al significado de este concepto. Los esfuerzos por construir una definición compartida han provocado acalorados debates en diversas disciplinas y campos del conocimiento. En parte por su similitud con otros dos conceptos relacionados (replicabilidad y repetibilidad), y en parte porque estos tres términos son usados de forma distinta –y a veces opuesta– en diferentes áreas del conocimiento.

Partiendo de esta diversidad de definiciones, aquí adoptamos la propuesta que las Academias Nacionales de Ciencia, Ingeniería y Medicina de Estados Unidos hicieron en el reporte
Reproducibility and Replicability in Science:

"la reproducibilidad es obtener resultados consistentes utilizando los mismos datos de entrada; pasos computacionales, métodos y código; y condiciones de análisis. Esta definición es sinónimo de 'reproducibilidad computacional'."

Aterricemos esta definición un tanto abstracta con dos ejemplos. 

Primero imagina que después de años de trabajo, un equipo de científicas y científicos publica un estudio en el que analizan la relación entre el consumo de aceite de aguacate y la reducción del riesgo de enfermedades cardiovasculares. Además del artículo, las y los investigadores publican la documentación que describe la metodología usada en la recolección y análisis de los datos, las bases de datos que utilizaron, así como los scripts o bitácoras con el código y los comentarios que escribieron durante su análisis en un programa de código abierto y que les permitieron llegar a sus resultados. Adicionalmente, nos permiten trabajar en un ambiente computacional idéntico al que ellas y ellos usaron durante su análisis.

Al ofrecer todos estos insumos, el equipo científico detrás de esta investigación hacen posible que cualquier persona que esté interesada, pueda intentar reproducir por su cuenta –e, idealmente, sin ayuda del equipo original de investigadores– los resultados que respaldan la conclusión respecto a las propiedades del aceite de aguacate. 

Ahora cambiemos de escenario. Imagina que diriges una empresa que se especializa en análisis financieros. Uno de los principales productos de tu consultora es un reporte mensual que envías a todos los clientes. Periódicamente, un equipo de dos personas actualiza a mano las bases de datos. Después, utilizando una hoja de cálculo, genera las gráficas y calcula diversas estadísticas. Al finalizar, combina manualmente los insumos en la nueva versión del reporte. Todo el proceso es caserito. Únicamente las dos personas que integran el equipo saben, de memoria, los pasos que hay que seguir para reproducir y actualizar el reporte.

Un mal día (para ti) estas dos personas encuentran una mejor oportunidad laboral y dejan tu empresa sin aviso de por medio. Al irse se llevan todo el conocimiento para generar el reporte mensual. Aunque puedas reemplazar rápidamente a estas/os colaboradores, el nuevo equipo sólo tendrá las últimas versiones del archivo de la base de datos y del reporte para tratar de actualizar este último. No hay registro alguno de qué hacía el equipo anterior para generarlo. Acabas de descubrir que el proceso para generar y/o actualizar los reportes mensuales de tu empresa no es fácilmente reproducible.


Si bien estos dos ejemplos se refieren a industrias específicas (la academia y una consultora financiera), la reproducibilidad es relevante en muchas otras áreas en las que se genera conocimiento, incluyendo, por ejemplo, el diseño de políticas públicas dentro del sector público, el desarrollo de nuevos productos farmacológicos y el periodismo de datos.

¿Por qué importa la reproducibilidad?

El beneficio más evidente de realizar análisis estadísticos reproducibles es que con ello aumentamos la credibilidad de las conclusiones a las que lleguemos. Como planteara Boyle hace más de 350 años, si otras personas pueden obtener los mismos resultados que nosotros después de repetir cada paso que seguimos en el análisis original, su confianza en dichos resultados, y las implicaciones que de ellos se deriven, se fortalece notablemente.

Esto, a su vez, genera otros beneficios significativos. Intrínsecamente, la reproducibilidad requiere transparencia. Para que un análisis pueda ser reproducido por otras personas, los insumos originales deben ser compartidos por las/los autores originales. El alcance de esta transparencia puede y suele variar. En algunos casos, como el estudio hipotético del efecto del aceite de aguacate en las enfermedades cardiovasculares, la transparencia es total. Cualquier persona que quiera reproducir los resultados puede acceder a los insumos del análisis original. En otros casos, como el ejemplo hipotético de la consultora financiera, la transparencia probablemente se limitaría al personal que trabaja en la organización.

Otro beneficio intrínseco de hacer análisis estadísticos reproducibles es que permitimos que otras personas auditen nuestro trabajo. Si nadie detecta problemas, la certidumbre de nuestras conclusiones se fortalece. Si alguien encuentra uno o más errores, esto nos ofrece la oportunidad de mejorar nuestro análisis. Y si anticipamos que otras personas probablemente revisarán con lupa nuestro trabajo en el futuro, esto genera incentivos adicionales para que seamos aún más cuidadosos en lo que hacemos.

El compartir los insumos de nuestro análisis con terceros tiene dos beneficios adicionales. Primero, permitimos que otras personas usen nuestro análisis como punto de partida para acumular más conocimiento. Segundo, facilitamos la transferencia e intercambio de conocimiento (cosa que, por ejemplo, no ocurrió en el ejemplo hipotético de la consultora financiera).

Pero si la reproducibilidad ofrece todos estos beneficios, ¿por qué no es el estándar de todos los equipos dedicados a generar conocimiento? En la siguiente entrega exploramos algunos de los obstáculos más comunes para lograr que un análisis sea reproducible. 

Nos leemos pronto ✌️.