⚠️ Traducción en desarrollo. Esta edición en español aún no incorpora las revisiones más recientes y puede contener pasajes desactualizados. La edición en inglés es la versión de referencia.

32  Replicación y reproducción

WarningEn desarrollo

Este capítulo forma parte de un libro en desarrollo activo y todavía no ha pasado por la revisión del autor. El contenido puede cambiar a medida que avanza la revisión.

Open In Colab

La decisión de investigación. Con nada más que los archivos que un estudio entregó, tuyos o de otra persona, decides si el número reportado de verdad vuelve a salir. Después ordenas las debilidades que encontraste según cuánto amenaza cada una a la afirmación principal, no según lo fácil que sea arreglarla.

32.1 Por qué importa esta decisión

La decisión en juego: si un resultado se regenera solo a partir de los archivos, y cuál de sus debilidades pone más en peligro la afirmación.

“No me importa que tu figura sea bonita ni que el código haya corrido en tu laptop. Dame tus archivos y déjame obtener el mismo número. Si no puedo, todavía no tienes un resultado. Tienes una historia.” — una investigadora principal que lee el informe de laboratorio de alguien en su primer año

En un laboratorio que trabaja de verdad, un número que nadie más puede regenerar es un pasivo, no un hallazgo. Un póster puede redondear, un pie de figura puede exagerar, y un cuaderno de apariencia impecable todavía puede esconder la única decisión que sostiene toda la afirmación. La investigadora de arriba está aplicando el estándar que todo resultado termina enfrentando. Este capítulo te pone primero del lado de quien revisa, para que aprendas a ver las grietas antes de que alguien las encuentre en tu propio trabajo.

32.2 El concepto

Dos palabras suenan parecido y significan cosas distintas. La reproducción es obtener el mismo número a partir de los mismos datos y el mismo código que un estudio entregó. Ejemplo: abres el cuaderno de otra persona, lo ejecutas de principio a fin y compruebas que vuelve a aparecer la misma cifra de crecimiento. La replicación es obtener un resultado parecido a partir de un estudio nuevo o de datos nuevos. Ejemplo: un segundo laboratorio hace su propio experimento y ve el mismo efecto. Este capítulo trata sobre la reproducción. Pones a prueba el paquete, no el mundo.

Lo que pones a prueba es un paquete de reproducibilidad: el conjunto completo que un estudio entrega para que otra persona pueda reconstruir sus números, es decir, los datos, el código, el orden de ejecución, cualquier semilla aleatoria y el texto escrito. La única cifra sobre la que descansa la afirmación principal es el número titular. Ejemplo: “el suplemento aumentó el crecimiento larvario en 0.5 mm”. Eso es lo primero que reconstruyes, usando reiniciar y ejecutar todo, que significa borrar la memoria del cuaderno y correr todas las celdas desde arriba, sin arreglos manuales. Si un número solo aparece cuando las celdas se ejecutan fuera de orden, no es reproducible.

Una ejecución limpia demuestra que el código corre. Nunca demuestra que el texto sea verdadero, así que encima de ella corres tres auditorías. La concordancia entre afirmaciones y cálculo revisa que cada oración que el texto afirma esté respaldada por un número que el código de verdad imprime. Una especificación alternativa es una forma distinta pero igual de defendible de calcular el mismo número titular, para ver si la respuesta depende de una decisión que nunca se reveló. Un supuesto oculto es una afirmación de la que el análisis depende en silencio y que nunca declara, y sin la cual el resultado se derrumbaría. El más peligroso en biología tiene nombre: la pseudorreplicación, tratar mediciones repetidas del mismo animal, placa o tanque como puntos de datos independientes cuando la verdadera unidad experimental es el animal, la placa o el tanque (Hurlbert, 1984).

32.3 Un ejemplo resuelto

El paquete de otro laboratorio pone a prueba si un probiótico añadido al agua aumenta la longitud corporal de larvas de pez cebra. Seis tanques: tres reciben el probiótico y tres reciben agua simple. Cada tanque tiene unas 40 larvas, y se registra la longitud corporal de cada una. El póster dice: “El probiótico aumentó la longitud corporal larvaria en 0.5 mm.”

Repruébalo. Reinicias y ejecutas todo. El código carga el archivo, separa las larvas por tipo de tanque y calcula la diferencia entre los dos promedios de grupo. El número que vuelve es 0.43 mm, no 0.5 (las cifras de este ejemplo están construidas). El paquete se reproduce, y eso es un éxito real. Pero el texto dice 0.5 y el código dice 0.43, y fíjate en que el redondeo no lo explica: 0.43 se redondea a 0.4. Esto es un desajuste entre la afirmación y la salida, tu primer hallazgo, y te gana el derecho a empujar más fuerte.

Encuentra la decisión que nadie declaró. El paquete descartó las larvas que murieron antes de la medición final y nunca lo dijo. La muerte no es una celda vacía cualquiera. Es un evento postratamiento: algo que ocurre después del tratamiento y que el propio tratamiento puede causar. Si el probiótico cambia qué larvas sobreviven, las sobrevivientes de los dos tanques no son el mismo tipo de larva, y su diferencia de longitud compara poblaciones distintas.

Puede tentarte tapar los huecos arrastrando la última longitud registrada de cada larva muerta, lo que produce 0.31 mm. Resístete a llamar a eso una alternativa igual de defendible. Supone en silencio que la última medición de una larva muerta sustituye a una longitud final que nunca tuvo, lo cual es una afirmación sobre biología, no un valor por defecto neutro. Los dos números, 0.43 y 0.31, responden preguntas distintas con supuestos distintos, así que la distancia entre ellos no es un rango, y reportarla como tal sería un tercer error encima de los dos primeros.

Lo que reportas en su lugar es la supervivencia por tipo de tanque primero, y después la longitud final entre las larvas sobrevivientes, etiquetada exactamente así. Di con claridad qué hace y qué no hace ese par. Es una descripción honesta de lo que pasó en los tanques. No entrega un efecto causal general del probiótico sobre la longitud al día 30, y ningún reacomodo de estos números lo hará, porque la longitud al día 30 no existe para una larva que murió. Fíjate además en que tasas de supervivencia iguales no rescatan la comparación: dos tanques pueden perder la misma fracción y aun así perder tipos distintos de larva. Si el estudio necesita un desenlace principal único, el arreglo va aguas arriba: predefine antes del análisis un desenlace combinado, como sobrevivir y alcanzar cierta longitud, y defiende por qué ese orden responde la pregunta biológica.

Pon a prueba el supuesto oculto. El paquete reporta su diferencia como si las 240 larvas fueran independientes, y eso produce un intervalo estrecho muy por encima de cero. No son independientes. El probiótico se asignó por tanque, así que las larvas que comparten tanque comparten agua, comida y hacinamiento. La verdadera unidad experimental es el tanque, y solo hay seis. Recalcula a nivel de tanque, promediando primero cada tanque y comparando tres tanques tratados contra tres de control, y el intervalo se ensancha hasta que su borde inferior toca el cero. La estimación puntual casi no se movió. La incertidumbre honesta a su alrededor explotó. Eso es pseudorreplicación, y es la debilidad con dientes.

Ordena por amenaza. La pseudorreplicación va primero, porque puede disolver la afirmación de “efecto claro”. La regla de supervivencia no revelada va segunda, porque mueve el número. La diferencia entre 0.43 reportado como 0.5 va tercera: es real, pero es la menor amenaza a que exista o no un efecto.

32.4 El laboratorio en Colab

Este capítulo tiene su propio cuaderno de acompañamiento: ábrelo en Colab con la insignia de arriba. El cuaderno reúne los prompts y el código del capítulo y termina con el espacio de trabajo Ahora te toca a ti, para que completes el paso del capítulo en tu proyecto sin salir de Colab. El laboratorio de aula completo detrás de este capítulo es el cuaderno del curso nb14 — replication and red-team of another researcher’s package (replicación y red team, revisión adversaria, del paquete de otra persona) (abrir en Colab), parte del curso de acompañamiento presentado en el apéndice Para docentes. Ahí reproduces en frío el número titular de un experimento de campo real solo a partir de sus archivos, y después corres las mismas tres auditorías que acabas de ver: alineas cada afirmación escrita con la salida que la respalda, mueves el número con una especificación no revelada y ensanchas su intervalo respetando el agrupamiento que el texto ignoró.

32.5 Prompts de IA recomendados

Comprométete primero con tu propia respuesta y después delega. Ninguno de estos es un solo tiro. Envías el prompt, lees lo que vuelve, lo interrogas, afinas el pedido y lo corres otra vez. Eso es el bucle de IA: el ciclo prompt → respuesta → interrogación → refinamiento → nueva ejecución. Una auditoría suele tomar dos o tres vueltas antes de que la herramienta deje de adivinar y empiece a señalar líneas reales. Cada prompt es una tarea verificable, no un veredicto que entregas.

Localiza cada insumo que falta.

Act as a cold reproducibility auditor. Here is everything a peer's package
shipped: [paste the README, the data description, the code, and the headline
claim]. List every input or step a stranger needs and might not find: the data
file and its version, the exact run order, any random seed, any hard-coded path.
Put it in a table with the item, whether the package supplies it, and the cell
where I should check.

Después de ejecutarlo, verifica: mapea cada ítem a una celda real y luego pregunta “¿cuál es la única cosa más importante que dejaste fuera?”. Contrarresta la ilusión de exhaustividad (una lista ordenada de huecos todavía puede omitir el único puntero faltante que bloquea toda la ejecución).

Recorre la celda del titular y después confírmala de forma independiente.

Here is the cell that computes the package's headline number: [paste the cell].
Explain line by line what it computes, and name which printed value is the
headline a reader should compare against the write-up. Then give me one
independent way to confirm that value without rerunning this exact code.

Después de ejecutarlo, verifica: confirma que el valor que nombra coincide con el número que tu ejecución de verdad imprimió, y después corre por tu cuenta la comprobación independiente que propone. Contrarresta la fabricación confiada (un recorrido fluido puede describir un número que el código nunca produjo).

Hazle red team (revisión adversaria) al supuesto oculto.

This analysis treats every measured larva as an independent observation, though
the probiotic was assigned by tank. Act as a hostile methods reviewer. Name the
one assumption most likely to inflate the reported certainty, say what the honest
experimental unit is, and do not reassure me the design is fine.

Después de ejecutarlo, verifica: recalcula por tu cuenta el intervalo a nivel de tanque y mira si alcanza el cero. Contrarresta el método plausible pero equivocado (un supuesto de observaciones independientes sobre datos agrupados encoge en silencio todos los intervalos).

ImportantNo delegues

Una herramienta de IA conectada a un entorno de ejecución puede correr el código, y pedírselo es razonable. Lo que no puede es responder por el resultado. Así que exige la evidencia de la corrida en lugar del resumen: los comandos, el entorno y las versiones de los paquetes, la versión exacta del código y los datos que ejecutó (un hash de commit, si el paquete tiene uno), si cada comando terminó limpio o con error, la salida cruda, y qué archivos tocó. Un “se reproduce” seguro y sin registro de ejecución no te dice nada sobre si corrió el paquete publicado, una copia modificada o nada en absoluto. Luego reproduce el titular tú mismo desde un arranque limpio, porque el veredicto lleva tu nombre. También te quedas con tres juicios: qué debilidad amenaza más la afirmación, cómo ordenas las recomendaciones y el veredicto final sobre lo que el paquete puede y no puede sostener. Una herramienta propone sospechosos. Tú decides a cuáles condena la evidencia.

32.6 Un caso de falla de la IA

Pegas todo el paquete en una herramienta de IA general y preguntas: “¿Este estudio se reproduce, y sus limitaciones están completas?”. Responde con total confianza: sí, el código corre, y el párrafo de limitaciones se ve exhaustivo, porque cubre el tamaño de muestra, el ruido de medición y un llamado a investigación futura. Cada oración es fluida. La herramienta ni una vez señala que las 240 larvas vinieron de solo seis tanques. Confundió en silencio una lista larga con una lista completa.

Lo detectas al negarte a calificar el párrafo y calificar el diseño en su lugar. Preguntas cuál era en realidad la unidad experimental y luego recalculas el intervalo a nivel de tanque. Cuando el límite inferior cae a cero, el “efecto claro” que la herramienta respaldó resulta descansar sobre una certeza que los datos nunca se ganaron. Una palomita verde y un párrafo pulido no son un resultado reproducido. Verificas el número y su correspondencia con la afirmación, nunca la historia confiada sobre ambos.

32.7 Ahora te toca a ti

Tu proyecto ya tiene afirmaciones que puedes defender y una declaración escrita de cómo la IA te ayudó a llegar a ellas; este paso convierte todo eso en archivos que una persona desconocida podría ejecutar sin ti en la sala.

  1. Reúne todo en una sola carpeta: los datos, el código, el orden de ejecución, la semilla aleatoria y un texto corto que enuncie tu número titular en palabras.
  2. Reproduce por tu cuenta en frío. Borra el kernel, ejecuta todas las celdas desde arriba sin arreglos manuales y, de ser posible, hazlo en un lugar distinto de la máquina donde lo construiste. Anota si tu número titular volvió exacto, aproximado o no volvió.
  3. Alinea cada oración de tu texto con un número que tu código de verdad imprima. Marca cada desajuste, incluido el redondeo que no tenías intención de esconder.
  4. Cambia una decisión defendible que nunca revelaste, una regla de exclusión, un punto de corte o un subconjunto, y registra cuánto se mueve tu titular. Reporta el rango, no el extremo más amable.
  5. Nombra el supuesto sin el cual tu resultado se derrumbaría, y ordena todo lo que encontraste por amenaza a la afirmación, no por facilidad de arreglo. Si tienes con quién, intercambien carpetas y ejecuten en frío la del otro. El número que obtienen, puesto al lado del número que reportaste, es tu evidencia de reproducción.
  6. Registra la auditoría en tu AI Research Ledger (registro de investigación con IA) y verifica al menos una salida con un método nombrado de la Guía de Verificación. Un revisor de IA puede hacer la comprobación contigo; la decisión de aceptar o rechazar sigue siendo tuya.